#!/usr/env python import sys import os import cgi import glob import re #import pickle import string #sys.path.append('/home/bertram') sys.path.append('mc_runjob/py_script/') from Configurator import * from MCRunjobDefaults import * from CardReader import CardReplacerWrapper from MyTools import my_sed1 if __name__=='__main__': time_stamp = global_Defaults['TimeStamp'] generator='' inputs = sys.argv[1:] if len(inputs)==0: #print 'problem' command = 'Request.py' elif len(inputs)==1: command = inputs[0] execfile(command) command = 'Defaults.py' execfile(command) try: keywordDict = dict except: keywordDict = keywordDict #print keywordDict print_string = '#MiniDB \nStandardD0 0 \nSaveOnMake\n' print print_string request_macro = 'Request.macro' fileout=open(request_macro,'w') print_string = '' print_string = 'attach samglobal' print '%s'%print_string try: Global_Values = keywordDict['Global'] except: Global_Values = keywordDict['global'] tmp_Global= DefaultDict['global'] #print tmp_Global for item in tmp_Global.keys(): if item not in Global_Values.keys(): Global_Values[item] = tmp_Global[item] #print Global_Values #print global_ValidTypes for item in global_ValidTypes.keys(): #print item if (string.lower(item) in Global_Values.keys()): print_string = 'cfg samglobal define %s'%global_ValidTypes[item]+' %s'%item+' %s '%Global_Values[string.lower(item)] print '%s'%print_string try: Generator_Values = keywordDict['Generated'] except: Generator_Values = keywordDict['generated'] tmp_Generator = DefaultDict['generated'] #print tmp_Generator for item in tmp_Generator.keys(): if item not in Generator_Values.keys(): Generator_Values[item] = tmp_Generator[item] #print Generator_Values item='Generator' if string.lower(item) in Generator_Values.keys(): generator = Generator_Values[string.lower(item)] print_string = 'attach %s'%generator print '\n%s'%print_string #print d0configurator_ValidTypes.keys() #print GenConfigurator_ValidTypes.keys() #print d0messmixin_ValidTypes.keys() #if generator == 'pythia' : print pythia_ValidTypes.keys() for item in GenConfigurator_ValidTypes.keys(): if (item != 'Generator'): print_string = 'cfg %s define '%generator if (string.lower(item)) in Generator_Values.keys(): print_string = '%s'%print_string+'%s'%GenConfigurator_ValidTypes[item]+' %s '%item+' %s'%Generator_Values[string.lower(item)] print '%s'%print_string for item in d0messmixin_ValidTypes.keys(): if item not in GenConfigurator_ValidTypes.keys(): if (item != 'Generator'): print_string = 'cfg %s define '%generator if (string.lower(item)) in Generator_Values.keys(): print_string = '%s'%print_string+'%s'%d0messmixin_ValidTypes[item]+' %s '%item+' %s'%Generator_Values[string.lower(item)] print '%s'%print_string for item in d0configurator_ValidTypes.keys(): if item not in GenConfigurator_ValidTypes.keys(): if (item != 'Generator'): print_string = 'cfg %s define '%generator if (string.lower(item)) in Generator_Values.keys(): print_string = '%s'%print_string+'%s'%d0configurator_ValidTypes[item]+' %s '%item+' %s'%Generator_Values[string.lower(item)] print '%s'%print_string if generator == 'pythia' : for item in pythia_ValidTypes.keys(): if item not in GenConfigurator_ValidTypes.keys(): if item not in d0configurator_ValidTypes.keys(): if ( item == 'PDFLibFunc'): print_string = 'cfg %s define '%generator if (string.lower(item)) in Generator_Values.keys(): print_string = '%s'%print_string+'%s'%pythia_ValidTypes[item]+' %s '%item+' %s'%string.upper(Generator_Values[string.lower(item)]) print '%s'%print_string elif (item != 'Generator'): print_string = 'cfg %s define '%generator if (string.lower(item)) in Generator_Values.keys(): print_string = '%s'%print_string+'%s'%pythia_ValidTypes[item]+' %s '%item+' %s'%Generator_Values[string.lower(item)] print '%s'%print_string if generator == 'herwig' : for item in herwig_ValidTypes.keys(): if item not in GenConfigurator_ValidTypes.keys(): if item not in d0configurator_ValidTypes.keys(): if (item != 'Generator'): print_string = 'cfg %s define '%generator if (string.lower(item)) in Generator_Values.keys(): print_string = '%s'%print_string+'%s'%herwig_ValidTypes[item]+' %s '%item+' %s'%Generator_Values[string.lower(item)] print '%s'%print_string if generator == 'isajet' : for item in isajet_ValidTypes.keys(): if item not in GenConfigurator_ValidTypes.keys(): if item not in d0configurator_ValidTypes.keys(): if (item != 'Generator'): print_string = 'cfg %s define '%generator if (string.lower(item)) in Generator_Values.keys(): print_string = '%s'%print_string+'%s'%isajet_ValidTypes[item]+' %s '%item+' %s'%Generator_Values[string.lower(item)] print '%s'%print_string try: D0gstar_Values = keywordDict['Simulated'] except: D0gstar_Values = keywordDict['simulated'] tmp_D0gstar = DefaultDict['simulated'] for item in tmp_D0gstar.keys(): if item not in D0gstar_Values.keys(): D0gstar_Values[item] = tmp_D0gstar[item] #D0gstar_Values = keywordDict['simulated'] print_string = '\n attach d0gstar' print '%s'%print_string for item in d0gstar_ValidTypes.keys(): if string.lower(item) in D0gstar_Values.keys(): print_string = 'cfg d0gstar define %s'%d0gstar_ValidTypes[item]+' %s'%item+' %s'%D0gstar_Values[string.lower(item)] print '%s'%print_string for item in d0configurator_ValidTypes.keys(): if item not in d0gstar_ValidTypes.keys(): if string.lower(item) in D0gstar_Values.keys(): print_string = 'cfg d0gstar define %s'%d0configurator_ValidTypes[item]+' %s'%item+' %s'%D0gstar_Values[string.lower(item)] print '%s'%print_string if keywordDict.has_key('Digitized'): D0sim_Values = keywordDict['Digitized'] elif keywordDict.has_key('digitized'): D0sim_Values = keywordDict['digitized'] else: D0sim_Values = {} tmp_D0sim = DefaultDict['digitized'] #print tmp_D0sim, D0sim_Values for item in tmp_D0sim.keys(): if item not in D0sim_Values.keys(): D0sim_Values[item] = tmp_D0sim[item] #D0sim_Values = keywordDict['digitized'] #print D0sim_Values #print d0sim_ValidTypes print_string = '\n attach d0sim' print '%s'%print_string for item in d0sim_ValidTypes.keys(): if string.lower(item) in D0sim_Values.keys(): #print item if string.lower(item) == 'minbiopt' : #print item, D0sim_Values[string.lower(item)] if D0sim_Values[string.lower(item)] == 'poisson': value = 'Poisson' #print value elif D0sim_Values[string.lower(item)] == 'fixed': value = 'Fixed' print_string = 'cfg d0sim define %s'%d0sim_ValidTypes[item]+' %s'%item+' %s'%value else: print_string = 'cfg d0sim define %s'%d0sim_ValidTypes[item]+' %s'%item+' %s'%D0sim_Values[string.lower(item)] print '%s'%print_string for item in d0configurator_ValidTypes.keys(): if item not in d0sim_ValidTypes.keys(): if string.lower(item) in D0sim_Values.keys(): print_string = 'cfg d0sim define %s'%d0configurator_ValidTypes[item]+' %s'%item+' %s'%D0sim_Values[string.lower(item)] print '%s'%print_string if keywordDict.has_key('Reconstructed'): D0Reco_Values = keywordDict['Reconstructed'] elif keywordDict.has_key('reconstructed'): D0Reco_Values = keywordDict['reconstructed'] else: D0Reco_Values = {} tmp_D0Reco = DefaultDict['reconstructed'] #print tmp_D0sim for item in tmp_D0Reco.keys(): if item not in D0Reco_Values.keys(): D0Reco_Values[item] = tmp_D0Reco[item] print_string = '\n attach d0reco' print '%s'%print_string for item in d0reco_ValidTypes.keys(): if string.lower(item) in D0Reco_Values.keys(): print_string = 'cfg d0reco define %s'%d0reco_ValidTypes[item]+' %s'%item+' %s'%D0Reco_Values[string.lower(item)] print '%s'%print_string for item in d0configurator_ValidTypes.keys(): if item not in d0reco_ValidTypes.keys(): if string.lower(item) in D0Reco_Values.keys(): print_string = 'cfg d0reco define %s'%d0configurator_ValidTypes[item]+' %s'%item+' %s'%D0Reco_Values[string.lower(item)] print '%s'%print_string if keywordDict.has_key ('Root-tuple'): Recoanalyze_Values = keywordDict['Root-tuple'] else: Recoanalyze_Values = {} tmp_Recoanalyze = DefaultDict['root-tuple'] #print tmp_D0sim for item in tmp_Recoanalyze.keys(): if item not in Recoanalyze_Values.keys(): Recoanalyze_Values[item] = tmp_Recoanalyze[item] if len(Recoanalyze_Values)>0: print_string = '\n attach recoanalyze' print '%s'%print_string for item in recoanalyze_ValidTypes.keys(): if string.lower(item) in Recoanalyze_Values.keys(): print_string = 'cfg recoanalyze define %s'%recoanalyze_ValidTypes[item]+' %s'%item+' %s'%Recoanalyze_Values[string.lower(item)] print '%s'%print_string for item in d0configurator_ValidTypes.keys(): if item not in recoanalyze_ValidTypes.keys(): if string.lower(item) in Recoanalyze_Values.keys(): print_string = 'cfg recoanalyze define %s'%d0configurator_ValidTypes[item]+' %s'%item+' %s'%Recoanalyze_Values[string.lower(item)] print '%s'%print_string default_file = 'macro.default' if os.path.exists(default_file): file=open(default_file,'r') linelist=file.readlines() for line in linelist: print line #### """ fileout.write(print_string) fileout.write(print_string) item='Generator' if item in Generator_Values.keys(): generator = Generator_Values[item] print_string = 'attach %s \n'%generator print '
%s
'%print_string fileout.write(print_string) print_string = 'attach d0gstar \n' print '
%s
'%print_string fileout.write(print_string) for item in D0gstar_Values.keys(): if item in d0gstar_ValidTypes.keys(): print_string = 'cfg d0gstar define %s'%d0gstar_ValidTypes[item]+' %s'%item+' %s \n'%D0gstar_Values[item] elif item in d0configurator_ValidTypes.keys(): print_string = 'cfg d0gstar define %s'%d0configurator_ValidTypes[item]+' %s '%item+' %s \n'%D0gstar_Values[item] print '%s
'%print_string fileout.write(print_string) print_string = 'attach d0sim \n' print '
%s
'%print_string fileout.write(print_string) for item in D0sim_Values.keys(): if item in d0sim_ValidTypes.keys(): print_string = 'cfg d0sim define %s'%d0sim_ValidTypes[item]+' %s'%item+' %s \n'%D0sim_Values[item] elif item in d0configurator_ValidTypes.keys(): print_string = 'cfg d0sim define %s'%d0configurator_ValidTypes[item]+' %s '%item+' %s \n'%D0sim_Values[item] print '%s
'%print_string fileout.write(print_string) print_string = '\n attach d0reco \n' print '
%s
'%print_string fileout.write(print_string) for item in D0reco_Values.keys(): if item in d0reco_ValidTypes.keys(): print_string = 'cfg d0reco define %s'%d0reco_ValidTypes[item]+' %s'%item+' %s \n'%D0reco_Values[item] elif item in d0configurator_ValidTypes.keys(): print_string = 'cfg d0reco define %s'%d0configurator_ValidTypes[item]+' %s '%item+' %s \n'%D0reco_Values[item] print '%s
'%print_string fileout.write(print_string) print '
attach recoanalyze
' for item in Recoanalyze_Values.keys(): if item in recoanalyze_ValidTypes.keys(): print 'cfg recoanalyze define %s'%recoanalyze_ValidTypes[item]+' %s'%item+' %s
'%Recoanalyze_Values[item] elif item in d0configurator_ValidTypes.keys(): print 'cfg recoanalyze define %s'%d0configurator_ValidTypes[item]+' %s '%item+' %s
'%Recoanalyze_Values[item] fileout.close() """