CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/Configuration/PyReleaseValidation/python/relval_steps.py

Go to the documentation of this file.
00001 
00002 
00003 class Matrix(dict):
00004     def __setitem__(self,key,value):
00005         if key in self:
00006             print "ERROR in Matrix"
00007             print "overwritting",key,"not allowed"
00008             import sys
00009             sys.exit(-9)
00010         else:
00011             self.update({float(key):WF(float(key),value)})
00012 
00013             
00014 #the class to collect all possible steps
00015 class Steps(dict):
00016     def __setitem__(self,key,value):
00017         if key in self:
00018             print "ERROR in Step"
00019             print "overwritting",key,"not allowed"
00020             import sys
00021             sys.exit(-9) 
00022         else:
00023             self.update({key:value})
00024             # make the python file named <step>.py
00025             #if not '--python' in value:                self[key].update({'--python':'%s.py'%(key,)})
00026 
00027     def overwrite(self,keypair):
00028         value=self[keypair[1]]
00029         print "overwritting step",keypair[0],"with",keypair[1],str(value)
00030         self.update({keypair[0]:value})
00031         
00032 class WF(list):
00033     def __init__(self,n,l):
00034         self.extend(l)
00035         self.num=n
00036         #the actual steps of this WF
00037         self.steps=[]
00038 
00039         
00040     def interpret(self,stepsDict):
00041         for s in self:
00042             steps.append(stepsDict[s])
00043     
00044 InputInfoNDefault=2000000    
00045 class InputInfo(object):
00046     def __init__(self,dataSet,label='',run=[],files=1000,events=InputInfoNDefault,split=8,location='CAF',ib_blacklist=None,ib_block=None) :
00047         self.run = run
00048         self.files = files
00049         self.events = events
00050         self.location = location
00051         self.label = label
00052         self.dataSet = dataSet
00053         self.split=split
00054         self.ib_blacklist = ib_blacklist
00055         self.ib_block = ib_block
00056 
00057     def dbs(self):
00058         query_by = "block" if self.ib_block else "dataset"
00059         query_source = "{0}#{1}".format(self.dataSet, self.ib_block) if self.ib_block else self.dataSet
00060         if len(self.run) is not 0:
00061             command = ";".join(["das_client.py --host='https://dastest.cern.ch' --limit=0 --query 'file {0}={1} run={2}'".format(query_by, query_source, query_run) for query_run in self.run])
00062             command = "({0})".format(command)
00063         else:
00064             command = "das_client.py --host='https://dastest.cern.ch' --limit=0 --query 'file {0}={1} site=T2_CH_CERN'".format(query_by, query_source)
00065 
00066         # Run filter on DAS output
00067         if self.ib_blacklist:
00068             command += " | grep -E -v "
00069             command += " ".join(["-e '{0}'".format(pattern) for pattern in self.ib_blacklist])
00070         command += " | sort -u"
00071         return command
00072         
00073     def lumiRanges(self):
00074         if len(self.run) != 0:
00075             return "echo '{\n"+",".join(('"%d":[[1,268435455]]\n'%(x,) for x in self.run))+"}'"
00076         return None
00077 
00078     def __str__(self):
00079         if self.ib_block:
00080             return "input from: {0} with run {1}#{2}".format(self.dataSet, self.ib_block, self.run)
00081         return "input from: {0} with run {1}".format(self.dataSet, self.run)
00082         
00083     
00084 # merge dictionaries, with prioty on the [0] index
00085 def merge(dictlist,TELL=False):
00086     import copy
00087     last=len(dictlist)-1
00088     if TELL: print last,dictlist
00089     if last==0:
00090         # ONLY ONE ITEM LEFT
00091         return copy.copy(dictlist[0])
00092     else:
00093         reducedlist=dictlist[0:max(0,last-1)]
00094         if TELL: print reducedlist
00095         # make a copy of the last item
00096         d=copy.copy(dictlist[last])
00097         # update with the last but one item
00098         d.update(dictlist[last-1])
00099         # and recursively do the rest
00100         reducedlist.append(d)
00101         return merge(reducedlist,TELL)
00102 
00103 
00104 # step1 gensim
00105 step1Defaults = {'--relval'      : None, # need to be explicitly set
00106                  '-s'            : 'GEN,SIM',
00107                  '-n'            : 10,
00108                  '--conditions'  : 'auto:startup',
00109                  '--datatier'    : 'GEN-SIM',
00110                  '--eventcontent': 'RAWSIM',
00111                  }
00112 
00113 steps = Steps()
00114 
00115 #### Production test section ####
00116 steps['ProdMinBias']=merge([{'cfg':'MinBias_8TeV_cfi','--relval':'9000,300'},step1Defaults])
00117 steps['ProdTTbar']=merge([{'cfg':'TTbar_Tauola_8TeV_cfi','--relval':'9000,100'},step1Defaults])
00118 steps['ProdQCD_Pt_3000_3500']=merge([{'cfg':'QCD_Pt_3000_3500_8TeV_cfi','--relval':'9000,25'},step1Defaults])
00119 
00120 #steps['ProdMinBiasINPUT']={'INPUT':InputInfo(dataSet='/RelValProdMinBias/CMSSW_4_3_0_pre2-MC_42_V9-v1/GEN-SIM',label='prodmbrv',location='STD')}
00121 #steps['ProdTTbarINPUT']={'INPUT':InputInfo(dataSet='/RelValProdTTbar/CMSSW_4_3_0_pre2-MC_42_V9-v1/GEN-SIM',label='prodttbrv',location='STD')}
00122 #steps['ProdQCD_Pt_3000_3500INPUT']={'INPUT':InputInfo(dataSet='/RelValProdQCD_Pt_3000_3500/CMSSW_4_3_0_pre2-MC_42_V9-v1/GEN-SIM',label='qcd335',location='STD')}
00123 
00124 
00125 
00126 #### data ####
00127 #list of run to harvest for 2010A: 144086,144085,144084,144083,144011,139790,139789,139788,139787,138937,138934,138924,138923
00128 #list of run to harvest for 2010B: 149442,149291,149181,149011,148822,147929,147115,146644
00129 Run2010ASk=[138937,138934,138924,138923,139790,139789,139788,139787,144086,144085,144084,144083,144011]
00130 Run2010BSk=[146644,147115,147929,148822,149011,149181,149182,149291,149294,149442]
00131 steps['MinimumBias2010A']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2010A-valskim-v6/RAW-RECO',label='run2010A',location='STD',run=Run2010ASk)}
00132 steps['MinimumBias2010B']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2010B-valskim-v2/RAW-RECO',label='run2010B',run=Run2010BSk)}
00133 steps['WZMuSkim2010A']={'INPUT':InputInfo(dataSet='/Mu/Run2010A-WZMu-Nov4Skim_v1/RAW-RECO',label='wzMu2010A',run=Run2010ASk)}
00134 steps['WZMuSkim2010B']={'INPUT':InputInfo(dataSet='/Mu/Run2010B-WZMu-Nov4Skim_v1/RAW-RECO',label='wzMu2010B',run=Run2010BSk)}
00135 steps['WZEGSkim2010A']={'INPUT':InputInfo(dataSet='/EG/Run2010A-WZEG-Nov4Skim_v1/RAW-RECO',label='wzEG2010A',run=Run2010ASk)}
00136 steps['WZEGSkim2010B']={'INPUT':InputInfo(dataSet='/Electron/Run2010B-WZEG-Nov4Skim_v1/RAW-RECO',label='wzEG2010B',run=Run2010BSk)}
00137 
00138 steps['RunCosmicsA']={'INPUT':InputInfo(dataSet='/Cosmics/Run2010A-v1/RAW',label='cos2010A',run=[142089],events=100000)}
00139 Run2010B=[149011]
00140 steps['RunMinBias2010B']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2010B-RelValRawSkim-v1/RAW',label='mb2010B',run=Run2010B,events=100000)}
00141 steps['RunMu2010B']={'INPUT':InputInfo(dataSet='/Mu/Run2010B-RelValRawSkim-v1/RAW',label='mu2010B',run=Run2010B,events=100000)}
00142 steps['RunElectron2010B']={'INPUT':InputInfo(dataSet='/Electron/Run2010B-RelValRawSkim-v1/RAW',label='electron2010B',run=Run2010B,events=100000)}
00143 steps['RunPhoton2010B']={'INPUT':InputInfo(dataSet='/Photon/Run2010B-RelValRawSkim-v1/RAW',label='photon2010B',run=Run2010B,events=100000)}
00144 steps['RunJet2010B']={'INPUT':InputInfo(dataSet='/Jet/Run2010B-RelValRawSkim-v1/RAW',label='jet2010B',run=Run2010B,events=100000)}
00145 
00146 #list of run to harvest 2011A: 165121, 172802,
00147 Run2011ASk=[165121,172802]
00148 steps['ValSkim2011A']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2011A-ValSkim-08Nov2011-v1/RAW-RECO',ib_block='239c497e-0fae-11e1-a8b1-00221959e72f',label='run2011A',location='STD',run=Run2011ASk)}
00149 steps['WMuSkim2011A']={'INPUT':InputInfo(dataSet='/SingleMu/Run2011A-WMu-08Nov2011-v1/RAW-RECO',ib_block='388c2990-0de6-11e1-bb7e-00221959e72f',label='wMu2011A',location='STD',run=Run2011ASk)}
00150 steps['WElSkim2011A']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2011A-WElectron-08Nov2011-v1/RAW-RECO',ib_block='9c48c4ea-0db2-11e1-b62c-00221959e69e',label='wEl2011A',location='STD',run=Run2011ASk)}
00151 steps['ZMuSkim2011A']={'INPUT':InputInfo(dataSet='/DoubleMu/Run2011A-ZMu-08Nov2011-v1/RAW-RECO',label='zMu2011A',location='STD',run=Run2011ASk)}
00152 steps['ZElSkim2011A']={'INPUT':InputInfo(dataSet='/DoubleElectron/Run2011A-ZElectron-08Nov2011-v1/RAW-RECO',label='zEl2011A',location='STD',run=Run2011ASk)}
00153 steps['HighMet2011A']={'INPUT':InputInfo(dataSet='/Jet/Run2011A-HighMET-08Nov2011-v1/RAW-RECO',ib_block='3c764584-0b59-11e1-b62c-00221959e69e',label='hMet2011A',location='STD',run=Run2011ASk)}
00154 
00155 steps['RunCosmics2011A']={'INPUT':InputInfo(dataSet='/Cosmics/Run2011A-v1/RAW',label='cos2011A',run=[160960],events=100000,location='STD')}
00156 Run2011A=[165121]
00157 steps['RunMinBias2011A']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2011A-v1/RAW',label='mb2011A',run=Run2011A,events=100000,location='STD')}
00158 steps['RunMu2011A']={'INPUT':InputInfo(dataSet='/SingleMu/Run2011A-v1/RAW',label='mu2011A',run=Run2011A,events=100000)}
00159 steps['RunElectron2011A']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2011A-v1/RAW',label='electron2011A',run=Run2011A,events=100000)}
00160 steps['RunPhoton2011A']={'INPUT':InputInfo(dataSet='/Photon/Run2011A-v1/RAW',label='photon2011A',run=Run2011A,events=100000)}
00161 steps['RunJet2011A']={'INPUT':InputInfo(dataSet='/Jet/Run2011A-v1/RAW',label='jet2011A',run=Run2011A,events=100000)}
00162 
00163 Run2011B=[177719]
00164 Run2011BSk=[177719,177790,177096,175874]
00165 steps['RunMinBias2011B']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2011B-v1/RAW',label='mb2011B',run=Run2011B,events=100000,location='STD')}
00166 steps['RunMu2011B']={'INPUT':InputInfo(dataSet='/SingleMu/Run2011B-v1/RAW',label='mu2011B',run=Run2011B,events=100000)}
00167 steps['RunElectron2011B']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2011B-v1/RAW',label='electron2011B',run=Run2011B,events=100000)}
00168 steps['RunPhoton2011B']={'INPUT':InputInfo(dataSet='/Photon/Run2011B-v1/RAW',label='photon2011B',run=Run2011B,events=100000)}
00169 steps['RunJet2011B']={'INPUT':InputInfo(dataSet='/Jet/Run2011B-v1/RAW',label='jet2011B',run=Run2011B,events=100000)}
00170 
00171 steps['ValSkim2011B']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2011B-ValSkim-19Nov2011-v1/RAW-RECO',label='run2011B',location='STD',run=Run2011BSk)}
00172 steps['WMuSkim2011B']={'INPUT':InputInfo(dataSet='/SingleMu/Run2011B-WMu-19Nov2011-v1/RAW-RECO',ib_block='19110c74-1b66-11e1-a98b-003048f02c8a',label='wMu2011B',location='STD',run=Run2011BSk)}
00173 steps['WElSkim2011B']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2011B-WElectron-19Nov2011-v1/RAW-RECO',ib_block='d75771a4-1b3f-11e1-aef4-003048f02c8a',label='wEl2011B',location='STD',run=Run2011BSk)}
00174 steps['ZMuSkim2011B']={'INPUT':InputInfo(dataSet='/DoubleMu/Run2011B-ZMu-19Nov2011-v1/RAW-RECO',label='zMu2011B',location='STD',run=Run2011BSk)}
00175 steps['ZElSkim2011B']={'INPUT':InputInfo(dataSet='/DoubleElectron/Run2011B-ZElectron-19Nov2011-v1/RAW-RECO',label='zEl2011B',run=Run2011BSk)}
00176 steps['HighMet2011B']={'INPUT':InputInfo(dataSet='/Jet/Run2011B-HighMET-19Nov2011-v1/RAW-RECO',label='hMet2011B',run=Run2011BSk)}
00177 
00178 steps['RunHI2010']={'INPUT':InputInfo(dataSet='/HIAllPhysics/HIRun2010-v1/RAW',label='hi2010',run=[152698],events=10000,location='STD')}
00179 steps['RunHI2011']={'INPUT':InputInfo(dataSet='/HIAllPhysics/HIRun2011A-v1/RAW',label='hi2011',run=[174773],events=10000,location='STD')}
00180 
00181 
00182 Run2012A=[191226]
00183 steps['RunMinBias2012A']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2012A-v1/RAW',label='mb2012A',run=Run2012A, events=100000,location='STD')}
00184 steps['RunTau2012A']={'INPUT':InputInfo(dataSet='/Tau/Run2012A-v1/RAW',label='tau2012A', run=Run2012A, events=100000,location='STD')}
00185 steps['RunMET2012A']={'INPUT':InputInfo(dataSet='/MET/Run2012A-v1/RAW',label='met2012A', run=Run2012A, events=100000,location='STD')}
00186 steps['RunMu2012A']={'INPUT':InputInfo(dataSet='/SingleMu/Run2012A-v1/RAW',label='mu2012A', run=Run2012A, events=100000,location='STD')}
00187 steps['RunElectron2012A']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2012A-v1/RAW',label='electron2012A', run=Run2012A, events=100000,location='STD')}
00188 steps['RunJet2012A']={'INPUT':InputInfo(dataSet='/Jet/Run2012A-v1/RAW',label='jet2012A', run=Run2012A, events=100000,location='STD')}
00189 
00190 
00191 Run2012B=[194533]
00192 Run2012Bsk=Run2012B+[194912,195016]
00193 steps['RunMinBias2012B']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2012B-v1/RAW',label='mb2012B',run=Run2012B, events=100000,location='STD')}
00194 steps['RunMu2012B']={'INPUT':InputInfo(dataSet='/SingleMu/Run2012B-v1/RAW',label='mu2012B',location='STD',run=Run2012B)}
00195 steps['RunPhoton2012B']={'INPUT':InputInfo(dataSet='/SinglePhoton/Run2012B-v1/RAW',ib_block='28d7fcc8-a2a0-11e1-86c7-003048caaace',label='photon2012B',location='STD',run=Run2012B)}
00196 steps['RunEl2012B']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2012B-v1/RAW',label='electron2012B',location='STD',run=Run2012B)}
00197 steps['RunJet2012B']={'INPUT':InputInfo(dataSet='/JetHT/Run2012B-v1/RAW',label='jet2012B',location='STD',run=Run2012B)}
00198 steps['ZMuSkim2012B']={'INPUT':InputInfo(dataSet='/SingleMu/Run2012B-ZMu-PromptSkim-v1/RAW-RECO',label='zMu2012B',location='CAF',run=Run2012Bsk)}
00199 steps['WElSkim2012B']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2012B-WElectron-PromptSkim-v1/USER',label='wEl2012B',location='STD',run=Run2012Bsk)}
00200 steps['ZElSkim2012B']={'INPUT':InputInfo(dataSet='/DoubleElectron/Run2012B-ZElectron-13Jul2012-v1/RAW-RECO',ib_block='0c5092cc-d554-11e1-bb62-00221959e69e',label='zEl2012B',location='STD',run=Run2012Bsk)}
00201 
00202 Run2012C=[199812]
00203 Run2012Csk=Run2012C+[194533]
00204 steps['RunMinBias2012C']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2012C-v1/RAW',label='mb2012C',run=Run2012C, events=100000,location='STD')}
00205 steps['RunMu2012C']={'INPUT':InputInfo(dataSet='/SingleMu/Run2012C-v1/RAW',label='mu2012C',location='STD',run=Run2012C)}
00206 steps['RunPhoton2012C']={'INPUT':InputInfo(dataSet='/SinglePhoton/Run2012C-v1/RAW',label='photon2012C',location='STD',run=Run2012C)}
00207 steps['RunEl2012C']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2012C-v1/RAW',label='electron2012C',location='STD',run=Run2012C)}
00208 steps['RunJet2012C']={'INPUT':InputInfo(dataSet='/JetHT/Run2012C-v1/RAW',label='jet2012C',location='STD',run=Run2012C)}
00209 steps['ZMuSkim2012C']={'INPUT':InputInfo(dataSet='/SingleMu/Run2012C-ZMu-PromptSkim-v3/RAW-RECO',label='zMu2012C',location='CAF',run=Run2012Csk)}
00210 steps['WElSkim2012C']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2012C-WElectron-PromptSkim-v3/USER',label='wEl2012C',location='STD',run=Run2012Csk)}
00211 steps['ZElSkim2012C']={'INPUT':InputInfo(dataSet='/DoubleElectron/Run2012C-ZElectron-PromptSkim-v3/RAW-RECO',label='zEl2012C',location='STD',run=Run2012Csk)}
00212 
00213 Run2012D=[208307]
00214 Run2012Dsk=Run2012D+[207454]
00215 steps['RunMinBias2012D']={'INPUT':InputInfo(dataSet='/MinimumBias/Run2012D-v1/RAW',label='mb2012D',run=Run2012D, events=100000,location='STD')}
00216 steps['RunMu2012D']={'INPUT':InputInfo(dataSet='/SingleMu/Run2012D-v1/RAW',label='mu2012D',location='STD',run=Run2012D)}
00217 steps['RunPhoton2012D']={'INPUT':InputInfo(dataSet='/SinglePhoton/Run2012D-v1/RAW',label='photon2012D',location='STD',run=Run2012D)}
00218 steps['RunEl2012D']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2012D-v1/RAW',label='electron2012D',location='STD',run=Run2012D)}
00219 steps['RunJet2012D']={'INPUT':InputInfo(dataSet='/JetHT/Run2012D-v1/RAW',label='jet2012D',location='STD',run=Run2012D)}
00220 steps['ZMuSkim2012D']={'INPUT':InputInfo(dataSet='/SingleMu/Run2012D-ZMu-PromptSkim-v1/RAW-RECO',label='zMu2012D',location='STD',run=Run2012Dsk)}
00221 steps['WElSkim2012D']={'INPUT':InputInfo(dataSet='/SingleElectron/Run2012D-WElectron-PromptSkim-v1/USER',label='wEl2012D',location='STD',run=Run2012Dsk)}
00222 steps['ZElSkim2012D']={'INPUT':InputInfo(dataSet='/DoubleElectron/Run2012D-ZElectron-PromptSkim-v1/RAW-RECO',label='zEl2012D',location='STD',run=Run2012Dsk)}
00223 
00224 
00225 #### Standard release validation samples ####
00226 
00227 stCond={'--conditions':'auto:startup'}
00228 K9by25={'--relval':'9000,25'}
00229 K9by50={'--relval':'9000,50'}
00230 K9by500={'--relval':'9000,500'}
00231 K9by100={'--relval':'9000,100'}
00232 K50by100={'--relval':'50000,100'}
00233 K9by250={'--relval':'9000,250'}
00234 K25by250={'--relval':'25000,250'}
00235 M2by100={'--relval':'2000000,100'}
00236 
00237 def gen(fragment,howMuch):
00238     global step1Defaults
00239     return merge([{'cfg':fragment},howMuch,step1Defaults])
00240 
00241 steps['MinBias']=gen('MinBias_8TeV_cfi',K9by100)
00242 steps['QCD_Pt_3000_3500']=gen('QCD_Pt_3000_3500_8TeV_cfi',K9by25)
00243 steps['QCD_Pt_80_120']=gen('QCD_Pt_80_120_8TeV_cfi',K9by50)
00244 steps['SingleElectronPt10']=gen('SingleElectronPt10_cfi',K9by250)
00245 steps['SingleElectronPt1000']=gen('SingleElectronPt1000_cfi',K9by250)
00246 steps['SingleElectronPt35']=gen('SingleElectronPt35_cfi',K9by250)
00247 steps['SingleElectronFlatPt1To100']=gen('SingleElectronFlatPt1To100_cfi',M2by100)
00248 steps['SingleGammaPt10']=gen('SingleGammaPt10_cfi',K9by100)
00249 steps['SingleGammaPt35']=gen('SingleGammaPt35_cfi',K9by100)
00250 steps['SingleMuPt10']=gen('SingleMuPt10_cfi',K25by250)
00251 steps['SingleMuPt100']=gen('SingleMuPt100_cfi',K9by250)
00252 steps['SingleMuPt1000']=gen('SingleMuPt1000_cfi',K9by100)
00253 steps['TTbar']=gen('TTbar_Tauola_8TeV_cfi',K9by50)
00254 steps['TTbarLepton']=gen('TTbarLepton_Tauola_8TeV_cfi',K9by100)
00255 steps['ZEE']=gen('ZEE_8TeV_cfi',K9by100)
00256 steps['Wjet_Pt_80_120']=gen('Wjet_Pt_80_120_8TeV_cfi',K9by100)
00257 steps['Wjet_Pt_3000_3500']=gen('Wjet_Pt_3000_3500_8TeV_cfi',K9by100)
00258 steps['LM1_sfts']=gen('LM1_sfts_8TeV_cfi',K9by100)
00259 steps['QCD_FlatPt_15_3000']=gen('QCDForPF_8TeV_cfi',K9by100)
00260 steps['QCD_FlatPt_15_3000HS']=gen('QCDForPF_8TeV_cfi',K50by100)
00261 
00262 def identitySim(wf):
00263     return merge([{'--restoreRND':'SIM','--process':'SIM2'},wf])
00264 steps['SingleMuPt10_ID']=identitySim(steps['SingleMuPt10'])
00265 steps['TTbar_ID']=identitySim(steps['TTbar'])
00266 
00267 baseDataSetRelease=[
00268     'CMSSW_5_2_1-START52_V4-v1',
00269     'CMSSW_5_2_1-STARTHI52_V4-v1',
00270     'CMSSW_5_2_1-PU_START52_V4-v1',
00271     'CMSSW_5_2_1-START52_V4_FastSim-v1'
00272     ]
00273 
00274 steps['MinBiasINPUT']={'INPUT':InputInfo(dataSet='/RelValMinBias/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00275 steps['QCD_Pt_3000_3500INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_Pt_3000_3500/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00276 steps['QCD_Pt_80_120INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_Pt_80_120/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00277 steps['SingleElectronPt10INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleElectronPt10/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00278 steps['SingleElectronPt1000INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleElectronPt1000/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00279 steps['SingleElectronPt35INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleElectronPt35/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00280 steps['SingleGammaPt10INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleGammaPt10/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00281 steps['SingleGammaPt35INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleGammaPt35/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00282 steps['SingleMuPt10INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt10/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00283 steps['SingleMuPt10IdINPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt10/%s/GEN-SIM-DIGI-RAW-HLTDEBUG'%(baseDataSetRelease[0],),location='STD')}
00284 steps['SingleMuPt10FSIdINPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt10/%s/GEN-SIM-DIGI-RECO'%(baseDataSetRelease[3],),location='STD')}
00285 steps['SingleMuPt100INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt100/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00286 steps['SingleMuPt1000INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt1000/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00287 steps['TTbarINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00288 steps['TTbarIdINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/%s/GEN-SIM-DIGI-RAW-HLTDEBUG'%(baseDataSetRelease[0],),location='STD')}
00289 steps['TTbarFSIdINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/%s/GEN-SIM-DIGI-RECO'%(baseDataSetRelease[3],),location='STD')}
00290 steps['TTbarLeptonINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbarLepton/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00291 steps['OldTTbarINPUT']={'INPUT':InputInfo(dataSet='/RelValProdTTbar/CMSSW_5_0_0_pre6-START50_V5-v1/GEN-SIM-RECO',location='STD')}
00292 steps['OldGenSimINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/CMSSW_4_4_2-START44_V7-v1/GEN-SIM-DIGI-RAW-HLTDEBUG',location='STD')}
00293 steps['Wjet_Pt_80_120INPUT']={'INPUT':InputInfo(dataSet='/RelValWjet_Pt_80_120/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00294 steps['Wjet_Pt_3000_3500INPUT']={'INPUT':InputInfo(dataSet='/RelValWjet_Pt_3000_3500/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00295 steps['LM1_sftsINPUT']={'INPUT':InputInfo(dataSet='/RelValLM1_sfts/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00296 steps['QCD_FlatPt_15_3000INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_FlatPt_15_3000/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00297 
00298 steps['QCD_FlatPt_15_3000HSINPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_FlatPt_15_3000/CMSSW_5_2_2-PU_START52_V4_special_120326-v1/GEN-SIM',location='STD')}
00299 steps['QCD_FlatPt_15_3000HS__DIGIPU1INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_FlatPt_15_3000/CMSSW_5_2_2-PU_START52_V4_special_120326-v1/GEN-SIM-DIGI-RAW-HLTDEBUG',location='STD')}
00300 steps['TTbar__DIGIPU1INPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/CMSSW_5_2_2-PU_START52_V4_special_120326-v1/GEN-SIM-DIGI-RAW-HLTDEBUG',location='STD')}
00301 
00302 ## high stat step1
00303 K700by280={'--relval': '70000,280'}
00304 K250by100={'--relval': '25000,100'}
00305 K3250000by1300000={'--relval': '325000000,1300000'}
00306 K250by250={'--relval': '25000,250'}
00307 K110000by45000={'--relval': '11000000,45000'}
00308 K562by225={'--relval': '56250,225'}
00309 
00310 ecalHcal={
00311     '-s':'GEN,SIM,DIGI,DIGI2RAW,RAW2DIGI,L1Reco,RECO',
00312     '--datatier':'GEN-SIM-DIGI-RAW-RECO',
00313     #'--geometry':'ECALHCAL',
00314     '--eventcontent':'FEVTDEBUG',
00315     '--customise':'Validation/Configuration/ECALHCAL.customise',
00316     '--beamspot':'NoSmear'}
00317 steps['SingleElectronE120EHCAL']=merge([{'cfg':'SingleElectronE120EHCAL_cfi'},ecalHcal,K25by250,step1Defaults])
00318 steps['SinglePiE50HCAL']=merge([{'cfg':'SinglePiE50HCAL_cfi'},ecalHcal,K25by250,step1Defaults])
00319 
00320 steps['MinBiasHS']=gen('MinBias_8TeV_cfi',K25by250)
00321 steps['InclusiveppMuX']=gen('InclusiveppMuX_8TeV_cfi',K110000by45000)
00322 steps['SingleElectronFlatPt5To100']=gen('SingleElectronFlatPt5To100_cfi',K250by250)
00323 steps['SinglePiPt1']=gen('SinglePiPt1_cfi',K250by250)
00324 steps['SingleMuPt1']=gen('SingleMuPt1_cfi',K250by250)
00325 steps['ZPrime5000Dijet']=gen('ZPrime5000JJ_8TeV_cfi',K250by100)
00326 steps['SinglePi0E10']=gen('SinglePi0E10_cfi',K250by100)
00327 steps['SinglePiPt10']=gen('SinglePiPt10_cfi',K250by250)
00328 steps['SingleGammaFlatPt10To100']=gen('SingleGammaFlatPt10To100_cfi',K250by250)
00329 steps['SingleTauPt50Pythia']=gen('SingleTaupt_50_cfi',K250by100)
00330 steps['SinglePiPt100']=gen('SinglePiPt100_cfi',K250by250)
00331 
00332 
00333 def genS(fragment,howMuch):
00334     global step1Defaults,stCond
00335     return merge([{'cfg':fragment},stCond,howMuch,step1Defaults])
00336 
00337 ##steps['MinBias2']=genS('MinBias_8TeV_cfi',K9by100)
00338 steps['Higgs200ChargedTaus']=genS('H200ChargedTaus_Tauola_8TeV_cfi',K9by100)
00339 ##steps['QCD_Pt_3000_3500_2']=genS('QCD_Pt_3000_3500_8TeV_cfi',K9by25)
00340 ##steps['QCD_Pt_80_120_2']=genS('QCD_Pt_80_120_8TeV_cfi',K9by50)
00341 steps['JpsiMM']=genS('JpsiMM_8TeV_cfi',{'--relval':'65250,725'})
00342 ##steps['TTbar2']=genS('TTbar_Tauola_8TeV_cfi',K9by50)
00343 steps['WE']=genS('WE_8TeV_cfi',K9by100)
00344 steps['WM']=genS('WM_8TeV_cfi',K9by100)
00345 ##steps['ZEE2']=genS('ZEE_8TeV_cfi',K9by100)
00346 steps['ZMM']=genS('ZMM_8TeV_cfi',{'--relval':'18000,200'})
00347 steps['ZTT']=genS('ZTT_Tauola_All_hadronic_8TeV_cfi',K9by100)
00348 steps['H130GGgluonfusion']=genS('H130GGgluonfusion_8TeV_cfi',K9by100)
00349 steps['PhotonJets_Pt_10']=genS('PhotonJet_Pt_10_8TeV_cfi',K9by100)
00350 steps['QQH1352T_Tauola']=genS('QQH1352T_Tauola_8TeV_cfi',K9by100)
00351 steps['ZmumuJets_Pt_20_300']=gen('ZmumuJets_Pt_20_300_GEN_8TeV_cfg',K250by100)
00352 
00353 steps['MinBias2INPUT']={'INPUT':InputInfo(dataSet='/RelValMinBias/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00354 steps['Higgs200ChargedTausINPUT']={'INPUT':InputInfo(dataSet='/RelValHiggs200ChargedTaus/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00355 steps['QCD_Pt_3000_3500_2INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_Pt_3000_3500/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00356 steps['QCD_Pt_80_120_2INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_Pt_80_120/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00357 steps['JpsiMMINPUT']={'INPUT':InputInfo(dataSet='/RelValJpsiMM/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00358 steps['TTbar2INPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00359 steps['WEINPUT']={'INPUT':InputInfo(dataSet='/RelValWE/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00360 steps['WMINPUT']={'INPUT':InputInfo(dataSet='/RelValWM/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00361 steps['ZEEINPUT']={'INPUT':InputInfo(dataSet='/RelValZEE/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00362 steps['ZMMINPUT']={'INPUT':InputInfo(dataSet='/RelValZMM/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00363 steps['ZTTINPUT']={'INPUT':InputInfo(dataSet='/RelValZTT/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00364 steps['H130GGgluonfusionINPUT']={'INPUT':InputInfo(dataSet='/RelValH130GGgluonfusion/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00365 steps['PhotonJets_Pt_10INPUT']={'INPUT':InputInfo(dataSet='/RelValPhotonJets_Pt_10/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00366 steps['QQH1352T_TauolaINPUT']={'INPUT':InputInfo(dataSet='/RelValQQH1352T_Tauola/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00367 
00368 steps['ZmumuJets_Pt_20_300INPUT']={'INPUT':InputInfo(dataSet='/RelValZmumuJets_Pt_20_300/%s/GEN-SIM'%(baseDataSetRelease[2],),location='STD')}
00369 
00370 steps['Cosmics']=merge([{'cfg':'UndergroundCosmicMu_cfi.py','--relval':'666000,3000','--scenario':'cosmics'},step1Defaults])
00371 steps['BeamHalo']=merge([{'cfg':'BeamHalo_cfi.py','--scenario':'cosmics'},K9by100,step1Defaults])
00372 
00373 steps['CosmicsINPUT']={'INPUT':InputInfo(dataSet='/RelValCosmics/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00374 steps['BeamHaloINPUT']={'INPUT':InputInfo(dataSet='/RelValBeamHalo/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00375 
00376 steps['QCD_Pt_50_80']=genS('QCD_Pt_50_80_8TeV_cfi',K250by100)
00377 steps['QCD_Pt_15_20']=genS('QCD_Pt_15_20_8TeV_cfi',K250by100)
00378 steps['ZTTHS']=merge([K250by100,steps['ZTT']])
00379 steps['QQH120Inv']=genS('QQH120Inv_8TeV_cfi',K250by100)
00380 steps['TTbar2HS']=merge([K250by100,steps['TTbar']])
00381 steps['JpsiMM_Pt_20_inf']=genS('JpsiMM_Pt_20_inf_8TeV_cfi',K700by280)
00382 steps['QCD_Pt_120_170']=genS('QCD_Pt_120_170_8TeV_cfi',K250by100)
00383 steps['H165WW2L']=genS('H165WW2L_Tauola_8TeV_cfi',K250by100)
00384 steps['UpsMM']=genS('UpsMM_8TeV_cfi',K562by225)
00385 steps['RSGrav']=genS('RS750_quarks_and_leptons_8TeV_cff',K250by100)
00386 steps['QCD_Pt_80_120_2HS']=merge([K250by100,steps['QCD_Pt_80_120']])
00387 steps['bJpsiX']=genS('bJpsiX_8TeV_cfi',K3250000by1300000)
00388 steps['QCD_Pt_30_50']=genS('QCD_Pt_30_50_8TeV_cfi',K250by100)
00389 steps['H200ZZ4L']=genS('H200ZZ4L_Tauola_8TeV_cfi',K250by100)
00390 steps['LM9p']=genS('LM9p_8TeV_cff',K250by100)
00391 steps['QCD_Pt_20_30']=genS('QCD_Pt_20_30_8TeV_cfi',K250by100)
00392 steps['QCD_Pt_170_230']=genS('QCD_Pt_170_230_8TeV_cfi',K250by100)
00393 
00394 ## pPb tests
00395 step1PPbDefaults={'--beamspot':'Realistic8TeVCollisionPPbBoost'}
00396 steps['AMPT_PPb_5020GeV_MinimumBias']=merge([{'-n':10},step1PPbDefaults,genS('AMPT_PPb_5020GeV_MinimumBias_cfi',K9by100)])
00397                                              
00398 ## heavy ions tests
00399 U500by5={'--relval': '500,5'}
00400 U80by2={'--relval': '80,2'}
00401 hiDefaults={'--conditions':'auto:starthi_HIon',
00402            '--scenario':'HeavyIons'}
00403 
00404 steps['HydjetQ_MinBias_2760GeV']=merge([{'-n':1},hiDefaults,genS('Hydjet_Quenched_MinBias_2760GeV_cfi',U500by5)])
00405 steps['HydjetQ_MinBias_2760GeVINPUT']={'INPUT':InputInfo(dataSet='/RelValHydjetQ_MinBias_2760GeV/%s/GEN-SIM'%(baseDataSetRelease[1],),location='STD')}
00406 steps['HydjetQ_B0_2760GeV']=merge([{'-n':1},hiDefaults,genS('Hydjet_Quenched_B0_2760GeV_cfi',U80by2)])
00407 steps['HydjetQ_B0_2760GeVINPUT']={'INPUT':InputInfo(dataSet='/RelValHydjetQ_B0_2760GeV/%s/GEN-SIM'%(baseDataSetRelease[1],),location='STD')}
00408 steps['HydjetQ_B8_2760GeV']=merge([{'-n':1},hiDefaults,genS('Hydjet_Quenched_B8_2760GeV_cfi',U80by2)])
00409 steps['HydjetQ_B8_2760GeVINPUT']={'INPUT':InputInfo(dataSet='/RelValHydjetQ_B8_2760GeV/%s/GEN-SIM'%(baseDataSetRelease[1],),location='CAF')}
00410 
00411 
00412 
00413 
00414 
00415 def changeRefRelease(step1s,listOfPairs):
00416     for s in step1s:
00417         if ('INPUT' in step1s[s]):
00418             oldD=steps[s]['INPUT'].dataSet
00419             for (ref,newRef) in listOfPairs:
00420                 if  ref in oldD:
00421                     steps[s]['INPUT'].dataSet=oldD.replace(ref,newRef)
00422                                         
00423 def addForAll(steps,d):
00424     for s in steps:
00425         steps[s].update(d)
00426 
00427 
00428 
00429 #### fastsim section ####
00430 ##no forseen to do things in two steps GEN-SIM then FASTIM->end: maybe later
00431 step1FastDefaults =merge([{'-s':'GEN,FASTSIM,HLT:@relval,VALIDATION',
00432                            '--eventcontent':'FEVTDEBUGHLT,DQM',
00433                            '--datatier':'GEN-SIM-DIGI-RECO,DQM',
00434                            '--relval':'27000,3000'},
00435                           step1Defaults])
00436 K100by500={'--relval':'100000,500'}
00437 K100byK2={'--relval':'100000,2000'}
00438 steps['TTbarFS']=merge([{'cfg':'TTbar_Tauola_8TeV_cfi'},K100byK2,step1FastDefaults])
00439 steps['SingleMuPt1FS']=merge([{'cfg':'SingleMuPt1_cfi'},step1FastDefaults])
00440 steps['SingleMuPt10FS']=merge([{'cfg':'SingleMuPt10_cfi'},step1FastDefaults])
00441 steps['SingleMuPt100FS']=merge([{'cfg':'SingleMuPt100_cfi'},step1FastDefaults])
00442 steps['SinglePiPt1FS']=merge([{'cfg':'SinglePiPt1_cfi'},step1FastDefaults])
00443 steps['SinglePiPt10FS']=merge([{'cfg':'SinglePiPt10_cfi'},step1FastDefaults])
00444 steps['SinglePiPt100FS']=merge([{'cfg':'SinglePiPt100_cfi'},step1FastDefaults])
00445 steps['ZEEFS']=merge([{'cfg':'ZEE_8TeV_cfi'},K100byK2,step1FastDefaults])
00446 steps['ZTTFS']=merge([{'cfg':'ZTT_Tauola_OneLepton_OtherHadrons_8TeV_cfi'},K100byK2,step1FastDefaults])
00447 steps['QCDFlatPt153000FS']=merge([{'cfg':'QCDForPF_8TeV_cfi'},step1FastDefaults])
00448 steps['QCD_Pt_80_120FS']=merge([{'cfg':'QCD_Pt_80_120_8TeV_cfi'},K100by500,stCond,step1FastDefaults])
00449 steps['QCD_Pt_3000_3500FS']=merge([{'cfg':'QCD_Pt_3000_3500_8TeV_cfi'},K100by500,stCond,step1FastDefaults])
00450 steps['H130GGgluonfusionFS']=merge([{'cfg':'H130GGgluonfusion_8TeV_cfi'},step1FastDefaults])
00451 steps['SingleGammaFlatPt10To10FS']=merge([{'cfg':'SingleGammaFlatPt10To100_cfi'},K100by500,step1FastDefaults])
00452 
00453 def identityFS(wf):
00454     return merge([{'--restoreRND':'HLT','--process':'HLT2','--hltProcess':'HLT2'},wf])
00455 
00456 steps['SingleMuPt10FS_ID']=identityFS(steps['SingleMuPt10FS'])
00457 steps['TTbarFS_ID']=identityFS(steps['TTbarFS'])
00458 
00459 #### generator test section ####
00460 step1GenDefaults=merge([{'-s':'GEN,VALIDATION:genvalid',
00461                          '--relval':'1000000,20000',
00462                          '--eventcontent':'RAWSIM',
00463                          '--datatier':'GEN'},
00464                         step1Defaults])
00465 def genvalid(fragment,d,suffix='',fi=''):
00466     import copy
00467     c=copy.copy(d)
00468     if suffix:
00469         c['-s']=c['-s'].replace('genvalid','genvalid_'+suffix)
00470     if fi:
00471         c['--filein']='lhe:%d'%(fi,)
00472     c['cfg']=fragment
00473     return c
00474     
00475 steps['QCD_Pt-30_8TeV_herwigpp']=genvalid('QCD_Pt_30_8TeV_herwigpp_cff',step1GenDefaults,'qcd')
00476 steps['DYToLL_M-50_TuneZ2star_8TeV_pythia6-tauola']=genvalid('DYToLL_M_50_TuneZ2star_8TeV_pythia6_tauola_cff',step1GenDefaults,'dy')
00477 steps['QCD_Pt-30_TuneZ2star_8TeV_pythia6']=genvalid('QCD_Pt_30_TuneZ2star_8TeV_pythia6_cff',step1GenDefaults,'qcd')
00478 steps['QCD_Pt-30_8TeV_pythia8']=genvalid('QCD_Pt_30_8TeV_pythia8_cff',step1GenDefaults,'qcd')
00479 steps['GluGluTo2Jets_M-100_8TeV_exhume']=genvalid('GluGluTo2Jets_M_100_8TeV_exhume_cff',step1GenDefaults,'qcd')
00480 steps['TT_TuneZ2star_8TeV_pythia6-evtgen']=genvalid('TT_TuneZ2star_8TeV_pythia6_evtgen_cff',step1GenDefaults)
00481 steps['MinBias_TuneZ2star_8TeV_pythia6']=genvalid('MinBias_TuneZ2star_8TeV_pythia6_cff',step1GenDefaults,'qcd')
00482 steps['WToLNu_TuneZ2star_8TeV_pythia6-tauola']=genvalid('WToLNu_TuneZ2star_8TeV_pythia6_tauola_cff',step1GenDefaults,'w')
00483 steps['QCD_Pt-30_8TeV_herwig6']=genvalid('QCD_Pt_30_8TeV_herwig6_cff',step1GenDefaults,'qcd')
00484 steps['MinBias_8TeV_pythia8']=genvalid('MinBias_8TeV_pythia8_cff',step1GenDefaults,'qcd')
00485 
00486 
00487 steps['QCD_Ht-100To250_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'qcd',5475)
00488 steps['QCD_Ht-250To500_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'qcd',5476)
00489 steps['QCD_Ht-500To1000_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'qcd',5481)
00490 steps['TTJets_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'',5502)
00491 steps['WJetsLNu_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'w',5607)
00492 steps['ZJetsLNu_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'dy',5591)
00493 steps['ZJetsLNu_Tune4C_8TeV_madgraph-pythia8']=genvalid('Hadronizer_MgmMatchTune4C_8TeV_madgraph_pythia8_cff',step1GenDefaults,'dy',5591)
00494 
00495 PU={'-n':10,'--pileup':'default','--pileup_input':'dbs:/RelValMinBias/%s/GEN-SIM'%(baseDataSetRelease[0],)}
00496 PUFS={'--pileup':'default'}
00497 PUFS2={'--pileup':'mix_2012_Startup_inTimeOnly'}
00498 steps['TTbarFSPU']=merge([PUFS,steps['TTbarFS']])
00499 steps['TTbarFSPU2']=merge([PUFS2,steps['TTbarFS']])
00500 ##########################
00501 
00502 
00503 
00504 # step2 
00505 step2Defaults = { 
00506                   '-s'            : 'DIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco',
00507                   '--datatier'    : 'GEN-SIM-DIGI-RAW-HLTDEBUG',
00508                   '--eventcontent': 'FEVTDEBUGHLT',
00509                   '--conditions'  : 'auto:startup',
00510                   }
00511 
00512 
00513 steps['DIGIPROD1']=merge([{'--eventcontent':'RAWSIM','--datatier':'GEN-SIM-RAW'},step2Defaults])
00514 steps['DIGI']=merge([step2Defaults])
00515 #steps['DIGI2']=merge([stCond,step2Defaults])
00516 steps['DIGICOS']=merge([{'--scenario':'cosmics','--eventcontent':'FEVTDEBUG','--datatier':'GEN-SIM-DIGI-RAW'},stCond,step2Defaults])
00517 
00518 steps['DIGIPU1']=merge([PU,step2Defaults])
00519 steps['REDIGIPU']=merge([{'-s':'reGEN,reDIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco'},steps['DIGIPU1']])
00520 
00521 steps['DIGI_ID']=merge([{'--restoreRND':'HLT','--process':'HLT2'},steps['DIGI']])
00522 
00523 steps['RESIM']=merge([{'-s':'reGEN,reSIM','-n':10},steps['DIGI']])
00524 steps['RESIMDIGI']=merge([{'-s':'reGEN,reSIM,DIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco','-n':10,'--restoreRNDSeeds':'','--process':'HLT'},steps['DIGI']])
00525 
00526     
00527 steps['DIGIHI']=merge([{'--conditions':'auto:starthi_HIon', '-s':'DIGI,L1,DIGI2RAW,HLT:HIon,RAW2DIGI,L1Reco', '--inputCommands':'"keep *","drop *_simEcalPreshowerDigis_*_*"', '-n':10}, hiDefaults, step2Defaults])
00528 
00529 #add this line when testing from an input file that is not strictly GEN-SIM
00530 #addForAll(step2,{'--process':'DIGI'})
00531 
00532 dataReco={'--conditions':'auto:com10',
00533           '-s':'RAW2DIGI,L1Reco,RECO,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias,DQM',
00534           '--datatier':'RECO,DQMROOT',
00535           '--eventcontent':'RECO,DQMROOT',
00536           '--data':'',
00537           '--process':'reRECO',
00538           '--scenario':'pp',
00539           }
00540 
00541 steps['HLTD']=merge([{'--process':'reHLT',
00542                       '-s':'L1REPACK,HLT:7E33v2',                   # keep the HLT menu and conditions explicit
00543                       '--conditions':'auto:hltonline_7E33v2',
00544                       '--data':'',
00545                       '--output':'\'[{"e":"RAW","t":"RAW","o":["drop FEDRawDataCollection_rawDataCollector__LHC"]}]\'',
00546                       },])
00547 steps['RECOD']=merge([{'--scenario':'pp',},dataReco])
00548 steps['RECOSKIMALCA']=merge([{'--inputCommands':'"keep *","drop *_*_*_RECO"'
00549                               },steps['RECOD']])
00550 steps['RECOSKIM']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,DQM',
00551                           },steps['RECOSKIMALCA']])
00552 
00553 steps['REPACKHID']=merge([{'--scenario':'HeavyIons',
00554                          '-s':'RAW2DIGI,REPACK',
00555                          '--datatier':'RAW',
00556                          '--eventcontent':'REPACKRAW'},
00557                         steps['RECOD']])
00558 steps['RECOHID10']=merge([{'--scenario':'HeavyIons',
00559                          '-s':'RAW2DIGI,L1Reco,RECO,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBiasHI+HcalCalMinBias,DQM',
00560                          '--datatier':'RECO,DQMROOT',
00561                          '--eventcontent':'RECO,DQMROOT'},
00562                         steps['RECOD']])
00563 steps['RECOHID11']=merge([{'--repacked':''},
00564                           steps['RECOHID10']])
00565 steps['RECOHID10']['-s']+=',REPACK'
00566 steps['RECOHID10']['--datatier']+=',RAW'
00567 steps['RECOHID10']['--eventcontent']+=',REPACKRAW'
00568 
00569 steps['TIER0']=merge([{'--customise':'Configuration/DataProcessing/RecoTLR.customisePrompt',
00570                        '-s':'RAW2DIGI,L1Reco,RECO,ALCAPRODUCER:@allForPrompt,DQM,ENDJOB',
00571                        '--datatier':'RECO,AOD,ALCARECO,DQMROOT',
00572                        '--eventcontent':'RECO,AOD,ALCARECO,DQMROOT',
00573                        '--process':'RECO'
00574                        },dataReco])
00575 steps['TIER0EXP']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCAPRODUCER:@allForExpress,DQM,ENDJOB',
00576                           '--datatier':'ALCARECO,DQM',
00577                           '--eventcontent':'ALCARECO,DQM',
00578                           '--customise':'Configuration/DataProcessing/RecoTLR.customiseExpress',
00579                           },steps['TIER0']])
00580 
00581 steps['RECOCOSD']=merge([{'--scenario':'cosmics',
00582                           '-s':'RAW2DIGI,L1Reco,RECO,DQM,ALCA:MuAlCalIsolatedMu+DtCalib',
00583                           '--customise':'Configuration/DataProcessing/RecoTLR.customiseCosmicData'
00584                           },dataReco])
00585 
00586 step2HImixDefaults=merge([{'-n':'10',
00587                            '--himix':'',
00588                            '--filein':'file.root',
00589                            '--process':'HISIGNAL'
00590                            },hiDefaults,step1Defaults])
00591 steps['Pyquen_GammaJet_pt20_2760GeV']=merge([{'cfg':'Pyquen_GammaJet_pt20_2760GeV_cfi'},step2HImixDefaults])
00592 steps['Pyquen_DiJet_pt80to120_2760GeV']=merge([{'cfg':'Pyquen_DiJet_pt80to120_2760GeV_cfi'},step2HImixDefaults])
00593 steps['Pyquen_ZeemumuJets_pt10_2760GeV']=merge([{'cfg':'Pyquen_ZeemumuJets_pt10_2760GeV_cfi'},step2HImixDefaults])
00594 
00595 # step3 
00596 step3Defaults = {
00597                   '-s'            : 'RAW2DIGI,L1Reco,RECO,VALIDATION,DQM',
00598                   '--conditions'  : 'auto:startup',
00599                   '--no_exec'     : '',
00600                   '--datatier'    : 'GEN-SIM-RECO,DQM',
00601                   '--eventcontent': 'RECOSIM,DQM'
00602                   }
00603 
00604 steps['DIGIPU']=merge([{'--process':'REDIGI'},steps['DIGIPU1']])
00605 
00606 steps['RECODreHLT']=merge([{'--hltProcess':'reHLT','--conditions':'auto:com10_7E33v2'},steps['RECOD']])
00607 steps['RECO']=merge([step3Defaults])
00608 steps['RECODBG']=merge([{'--eventcontent':'RECODEBUG,DQM'},steps['RECO']])
00609 steps['RECOPROD1']=merge([{ '-s' : 'RAW2DIGI,L1Reco,RECO', '--datatier' : 'GEN-SIM-RECO,AODSIM', '--eventcontent' : 'RECOSIM,AODSIM'},step3Defaults])
00610 steps['RECOCOS']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCA:MuAlCalIsolatedMu,DQM','--scenario':'cosmics'},stCond,step3Defaults])
00611 steps['RECOMIN']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCA:SiStripCalZeroBias+SiStripCalMinBias+EcalCalPhiSym+EcalCalPi0Calib+EcalCalEtaCalib,VALIDATION,DQM'},stCond,step3Defaults])
00612 steps['RECODDQM']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,DQM:@common+@muon+@hcal+@jetmet+@ecal'},steps['RECOD']])
00613 
00614 steps['RECOPU1']=merge([PU,steps['RECO']])
00615 steps['RECOPUDBG']=merge([{'--eventcontent':'RECODEBUG,DQM'},steps['RECOPU1']])
00616 steps['RERECOPU1']=merge([{'--hltProcess':'REDIGI'},steps['RECOPU1']])
00617 
00618 steps['RECO_ID']=merge([{'--hltProcess':'HLT2'},steps['RECO']])
00619 
00620 steps['RECOHI']=merge([hiDefaults,step3Defaults])
00621 steps['DIGIHISt3']=steps['DIGIHI']
00622 
00623 steps['RECOHID11St3']=merge([{
00624                               '--process':'ZStoRECO'},
00625                              steps['RECOHID11']])
00626 steps['RECOHIR10D11']=merge([{'--filein':'file:step2_inREPACKRAW.root',
00627                               '--filtername':'reRECO'},
00628                              steps['RECOHID11St3']])
00629 
00630 #add this line when testing from an input file that is not strictly GEN-SIM
00631 #addForAll(step3,{'--hltProcess':'DIGI'})
00632 
00633 steps['ALCACOSD']={'--conditions':'auto:com10',
00634                    '--datatier':'ALCARECO',
00635                    '--eventcontent':'ALCARECO',
00636                    '--scenario':'cosmics',
00637                    '-s':'ALCA:TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DQM'
00638                    }
00639 steps['ALCAPROMPT']={'-s':'ALCA:PromptCalibProd',
00640                      '--filein':'file:TkAlMinBias.root',
00641                      '--conditions':'auto:com10',
00642                      '--datatier':'ALCARECO',
00643                      '--eventcontent':'ALCARECO'}
00644 steps['ALCAEXP']={'-s':'ALCA:PromptCalibProd',
00645                   '--conditions':'auto:com10',
00646                   '--datatier':'ALCARECO',
00647                   '--eventcontent':'ALCARECO'}
00648 
00649 # step4
00650 step4Defaults = { 
00651                   '-s'            : 'ALCA:TkAlMuonIsolated+TkAlMinBias+EcalCalElectron+HcalCalIsoTrk+MuAlOverlaps',
00652                   '-n'            : 1000,
00653                   '--conditions'  : 'auto:startup',
00654                   '--datatier'    : 'ALCARECO',
00655                   '--eventcontent': 'ALCARECO',
00656                   }
00657 
00658 steps['RERECOPU']=steps['RERECOPU1']
00659 
00660 steps['ALCATT']=merge([step4Defaults])
00661 steps['ALCAMIN']=merge([{'-s':'ALCA:TkAlMinBias'},stCond,step4Defaults])
00662 #steps['ALCAQCD']=merge([{'-s':'ALCA:HcalCalIsoTrk+HcalCalDijets'},stCond,step4Defaults])
00663 #steps['ALCAMU']=merge([{'-s':'ALCA:@Mu'},stCond,step4Defaults])
00664 steps['ALCACOS']=merge([{'-s':'ALCA:TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics'},stCond,step4Defaults])
00665 steps['ALCABH']=merge([{'-s':'ALCA:TkAlBeamHalo+MuAlBeamHaloOverlaps+MuAlBeamHalo'},stCond,step4Defaults])
00666 steps['ALCAELE']=merge([{'-s':'ALCA:EcalCalElectron'},stCond,step4Defaults])
00667 
00668 steps['ALCAHARVD']={'-s':'ALCAHARVEST:BeamSpotByRun+BeamSpotByLumi+SiStripQuality',
00669                     '--conditions':'auto:com10',
00670                     '--scenario':'pp',
00671                     '--data':'',
00672                     '--filein':'file:PromptCalibProd.root'}
00673 
00674 steps['RECOHISt4']=steps['RECOHI']
00675 
00676 steps['ALCANZS']=merge([{'-s':'ALCA:HcalCalMinBias','--mc':''},step4Defaults])
00677 steps['HARVGEN']={'-s':'HARVESTING:genHarvesting',
00678                   '--harvesting':'AtJobEnd',
00679                   '--conditions':'auto:startup',
00680                   '--mc':'',
00681                   '--filein':'file:step1.root'
00682                   }
00683 
00684 #data
00685 steps['HARVESTD']={'-s':'HARVESTING:dqmHarvesting',
00686                    '--conditions':'auto:com10',
00687                    '--filetype':'DQM',
00688                    '--data':'',
00689                    '--scenario':'pp'}
00690 
00691 steps['HARVESTDreHLT'] = merge([ {'--conditions':'auto:com10_7E33v2'}, steps['HARVESTD'] ])
00692 
00693 steps['HARVESTDDQM']=merge([{'-s':'HARVESTING:@common+@muon+@hcal+@jetmet+@ecal'},steps['HARVESTD']])
00694 
00695 steps['HARVESTDfst2']=merge([{'--filein':'file:step2_inDQM.root'},steps['HARVESTD']])
00696 
00697 steps['HARVESTDC']={'-s':'HARVESTING:dqmHarvesting',
00698                    '--conditions':'auto:com10',
00699                    '--filetype':'DQM',
00700                    '--data':'',
00701                     '--filein':'file:step2_inDQM.root',
00702                    '--scenario':'cosmics'}
00703 steps['HARVESTDHI']={'-s':'HARVESTING:dqmHarvesting',
00704                    '--conditions':'auto:com10',
00705                    '--filetype':'DQM',
00706                    '--data':'',
00707                    '--scenario':'HeavyIons'}
00708 
00709 #MC
00710 steps['HARVEST']={'-s':'HARVESTING:validationHarvesting+dqmHarvesting',
00711                    '--conditions':'auto:startup',
00712                    '--mc':'',
00713                    '--scenario':'pp'}
00714 steps['HARVESTCOS']={'-s':'HARVESTING:dqmHarvesting',
00715                      '--conditions':'auto:startup',
00716                      '--mc':'',
00717                      '--filein':'file:step3_inDQM.root',
00718                    '--scenario':'cosmics'}
00719 steps['HARVESTFS']={'-s':'HARVESTING:validationHarvestingFS',
00720                    '--conditions':'auto:startup',
00721                    '--mc':'',
00722                    '--scenario':'pp'}
00723 steps['HARVESTHI']={'-s':'HARVESTING:validationHarvesting+dqmHarvesting',
00724                    '--conditions':'auto:starthi_HIon',
00725                    '--mc':'',
00726                    '--scenario':'HeavyIons'}
00727 
00728 steps['ALCASPLIT']={'-s':'ALCAOUTPUT:@allForPrompt',
00729                     '--conditions':'auto:com10',
00730                     '--scenario':'pp',
00731                     '--data':'',
00732                     '--triggerResultsProcess':'RECO',
00733                     '--filein':'file:step2_inALCARECO.root'}
00734 
00735 steps['SKIMD']={'-s':'SKIM:all',
00736                 '--conditions':'auto:com10',
00737                 '--data':'',
00738                 '--scenario':'pp',
00739                 '--filein':'file:step2.root',
00740                 '--secondfilein':'filelist:step1_dbsquery.log'}
00741 
00742 steps['SKIMDreHLT'] = merge([ {'--conditions':'auto:com10_7E33v2','--filein':'file:step3.root'}, steps['SKIMD'] ])
00743 
00744 steps['SKIMCOSD']={'-s':'SKIM:all',
00745                    '--conditions':'auto:com10',
00746                    '--data':'',
00747                    '--scenario':'cosmics',
00748                    '--filein':'file:step2.root',
00749                    '--secondfilein':'filelist:step1_dbsquery.log'}
00750                  
00751 
00752 #### for special wfs ###
00753 #steps['TTbar_REDIGI_RERECO']=merge([{'cfg':'TTbar_Tauola_8TeV_cfi',
00754 #                                     '-s':'GEN,SIM,DIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco,RECO,ALCA:MuAlCalIsolatedMu+DtCalib,VALIDATION,DQM',
00755 #                                     '--datatier':'GEN-SIM-DIGI-RAW-HLTDEBUG-RECO,DQM',
00756 #                                     '--eventcontent':'FEVTDEBUGHLT,DQM'},
00757 #                                    K9by50,stCond,step1Defaults])
00758 #steps['DIGI2RECO']=merge([{'-s':'DIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco,RECO,VALIDATION,DQM',
00759 #                           '--filtername':'DIGItoRECO',
00760 #                           '--process':'RECO',
00761 #                           '--eventcontent':'RECOSIM,DQM',
00762 #                           '--datatier':'GEN-SIM-RECO,DQM',
00763 #                           },
00764 #                            stCond,step3Defaults])
00765 steps['RECOFROMRECO']=merge([{'-s':'RECO',
00766                               '--filtername':'RECOfromRECO',
00767                               '--process':'reRECO',
00768                               '--datatier':'AODSIM',
00769                               '--eventcontent':'AODSIM',
00770                               },
00771                              stCond,step3Defaults])
00772 
00773 
00774 steps['RECOFROMRECOSt2']=steps['RECOFROMRECO']
00775 
00776 steps['RECODFROMRAWRECO']=merge([{'-s':'RAW2DIGI:RawToDigi_noTk,L1Reco,RECO:reconstruction_noTracking',
00777                                   '--filtername':'RECOfromRAWRECO',
00778                                   '--process':'rereRECO',
00779                                   '--datatier':'AOD',
00780                                   '--eventcontent':'AOD',
00781                                   '--secondfilein':'filelist:step1_dbsquery.log',
00782                                   },
00783                                  steps['RECOD']])
00784 
00785 steps['COPYPASTE']={'-s':'NONE',
00786                     '--conditions':'auto:startup',
00787                     '--output':'\'[{"t":"RAW","e":"ALL"}]\'',
00788                     '--customise_commands':'"process.ALLRAWoutput.fastCloning=cms.untracked.bool(False)"'}