CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/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 
00236 def gen(fragment,howMuch):
00237     global step1Defaults
00238     return merge([{'cfg':fragment},howMuch,step1Defaults])
00239 
00240 steps['MinBias']=gen('MinBias_8TeV_cfi',K9by100)
00241 steps['QCD_Pt_3000_3500']=gen('QCD_Pt_3000_3500_8TeV_cfi',K9by25)
00242 steps['QCD_Pt_80_120']=gen('QCD_Pt_80_120_8TeV_cfi',K9by50)
00243 steps['SingleElectronPt10']=gen('SingleElectronPt10_cfi',K9by250)
00244 steps['SingleElectronPt1000']=gen('SingleElectronPt1000_cfi',K9by250)
00245 steps['SingleElectronPt35']=gen('SingleElectronPt35_cfi',K9by250)
00246 steps['SingleGammaPt10']=gen('SingleGammaPt10_cfi',K9by100)
00247 steps['SingleGammaPt35']=gen('SingleGammaPt35_cfi',K9by100)
00248 steps['SingleMuPt10']=gen('SingleMuPt10_cfi',K25by250)
00249 steps['SingleMuPt100']=gen('SingleMuPt100_cfi',K9by250)
00250 steps['SingleMuPt1000']=gen('SingleMuPt1000_cfi',K9by100)
00251 steps['TTbar']=gen('TTbar_Tauola_8TeV_cfi',K9by50)
00252 steps['TTbarLepton']=gen('TTbarLepton_Tauola_8TeV_cfi',K9by100)
00253 steps['ZEE']=gen('ZEE_8TeV_cfi',K9by100)
00254 steps['Wjet_Pt_80_120']=gen('Wjet_Pt_80_120_8TeV_cfi',K9by100)
00255 steps['Wjet_Pt_3000_3500']=gen('Wjet_Pt_3000_3500_8TeV_cfi',K9by100)
00256 steps['LM1_sfts']=gen('LM1_sfts_8TeV_cfi',K9by100)
00257 steps['QCD_FlatPt_15_3000']=gen('QCDForPF_8TeV_cfi',K9by100)
00258 steps['QCD_FlatPt_15_3000HS']=gen('QCDForPF_8TeV_cfi',K50by100)
00259 
00260 def identitySim(wf):
00261     return merge([{'--restoreRND':'SIM','--process':'SIM2'},wf])
00262 steps['SingleMuPt10_ID']=identitySim(steps['SingleMuPt10'])
00263 steps['TTbar_ID']=identitySim(steps['TTbar'])
00264 
00265 baseDataSetRelease=[
00266     'CMSSW_5_2_1-START52_V4-v1',
00267     'CMSSW_5_2_1-STARTHI52_V4-v1',
00268     'CMSSW_5_2_1-PU_START52_V4-v1',
00269     'CMSSW_5_2_1-START52_V4_FastSim-v1'
00270     ]
00271 
00272 steps['MinBiasINPUT']={'INPUT':InputInfo(dataSet='/RelValMinBias/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00273 steps['QCD_Pt_3000_3500INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_Pt_3000_3500/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00274 steps['QCD_Pt_80_120INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_Pt_80_120/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00275 steps['SingleElectronPt10INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleElectronPt10/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00276 steps['SingleElectronPt1000INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleElectronPt1000/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00277 steps['SingleElectronPt35INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleElectronPt35/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00278 steps['SingleGammaPt10INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleGammaPt10/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00279 steps['SingleGammaPt35INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleGammaPt35/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00280 steps['SingleMuPt10INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt10/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00281 steps['SingleMuPt10IdINPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt10/%s/GEN-SIM-DIGI-RAW-HLTDEBUG'%(baseDataSetRelease[0],),location='STD')}
00282 steps['SingleMuPt10FSIdINPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt10/%s/GEN-SIM-DIGI-RECO'%(baseDataSetRelease[3],),location='STD')}
00283 steps['SingleMuPt100INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt100/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00284 steps['SingleMuPt1000INPUT']={'INPUT':InputInfo(dataSet='/RelValSingleMuPt1000/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00285 steps['TTbarINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00286 steps['TTbarIdINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/%s/GEN-SIM-DIGI-RAW-HLTDEBUG'%(baseDataSetRelease[0],),location='STD')}
00287 steps['TTbarFSIdINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/%s/GEN-SIM-DIGI-RECO'%(baseDataSetRelease[3],),location='STD')}
00288 steps['TTbarLeptonINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbarLepton/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00289 steps['OldTTbarINPUT']={'INPUT':InputInfo(dataSet='/RelValProdTTbar/CMSSW_5_0_0_pre6-START50_V5-v1/GEN-SIM-RECO',location='STD')}
00290 steps['OldGenSimINPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/CMSSW_4_4_2-START44_V7-v1/GEN-SIM-DIGI-RAW-HLTDEBUG',location='STD')}
00291 steps['Wjet_Pt_80_120INPUT']={'INPUT':InputInfo(dataSet='/RelValWjet_Pt_80_120/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00292 steps['Wjet_Pt_3000_3500INPUT']={'INPUT':InputInfo(dataSet='/RelValWjet_Pt_3000_3500/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00293 steps['LM1_sftsINPUT']={'INPUT':InputInfo(dataSet='/RelValLM1_sfts/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00294 steps['QCD_FlatPt_15_3000INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_FlatPt_15_3000/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00295 
00296 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')}
00297 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')}
00298 steps['TTbar__DIGIPU1INPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/CMSSW_5_2_2-PU_START52_V4_special_120326-v1/GEN-SIM-DIGI-RAW-HLTDEBUG',location='STD')}
00299 
00300 ## high stat step1
00301 K700by280={'--relval': '70000,280'}
00302 K250by100={'--relval': '25000,100'}
00303 K3250000by1300000={'--relval': '325000000,1300000'}
00304 K250by250={'--relval': '25000,250'}
00305 K110000by45000={'--relval': '11000000,45000'}
00306 K562by225={'--relval': '56250,225'}
00307 
00308 ecalHcal={
00309     '-s':'GEN,SIM,DIGI,DIGI2RAW,RAW2DIGI,L1Reco,RECO',
00310     '--datatier':'GEN-SIM-DIGI-RAW-RECO',
00311     #'--geometry':'ECALHCAL',
00312     '--eventcontent':'FEVTDEBUG',
00313     '--customise':'Validation/Configuration/ECALHCAL.customise',
00314     '--beamspot':'NoSmear'}
00315 steps['SingleElectronE120EHCAL']=merge([{'cfg':'SingleElectronE120EHCAL_cfi'},ecalHcal,K25by250,step1Defaults])
00316 steps['SinglePiE50HCAL']=merge([{'cfg':'SinglePiE50HCAL_cfi'},ecalHcal,K25by250,step1Defaults])
00317 
00318 steps['MinBiasHS']=gen('MinBias_8TeV_cfi',K25by250)
00319 steps['InclusiveppMuX']=gen('InclusiveppMuX_8TeV_cfi',K110000by45000)
00320 steps['SingleElectronFlatPt5To100']=gen('SingleElectronFlatPt5To100_cfi',K250by250)
00321 steps['SinglePiPt1']=gen('SinglePiPt1_cfi',K250by250)
00322 steps['SingleMuPt1']=gen('SingleMuPt1_cfi',K250by250)
00323 steps['ZPrime5000Dijet']=gen('ZPrime5000JJ_8TeV_cfi',K250by100)
00324 steps['SinglePi0E10']=gen('SinglePi0E10_cfi',K250by100)
00325 steps['SinglePiPt10']=gen('SinglePiPt10_cfi',K250by250)
00326 steps['SingleGammaFlatPt10To100']=gen('SingleGammaFlatPt10To100_cfi',K250by250)
00327 steps['SingleTauPt50Pythia']=gen('SingleTaupt_50_cfi',K250by100)
00328 steps['SinglePiPt100']=gen('SinglePiPt100_cfi',K250by250)
00329 
00330 
00331 def genS(fragment,howMuch):
00332     global step1Defaults,stCond
00333     return merge([{'cfg':fragment},stCond,howMuch,step1Defaults])
00334 
00335 ##steps['MinBias2']=genS('MinBias_8TeV_cfi',K9by100)
00336 steps['Higgs200ChargedTaus']=genS('H200ChargedTaus_Tauola_8TeV_cfi',K9by100)
00337 ##steps['QCD_Pt_3000_3500_2']=genS('QCD_Pt_3000_3500_8TeV_cfi',K9by25)
00338 ##steps['QCD_Pt_80_120_2']=genS('QCD_Pt_80_120_8TeV_cfi',K9by50)
00339 steps['JpsiMM']=genS('JpsiMM_8TeV_cfi',{'--relval':'65250,725'})
00340 ##steps['TTbar2']=genS('TTbar_Tauola_8TeV_cfi',K9by50)
00341 steps['WE']=genS('WE_8TeV_cfi',K9by100)
00342 steps['WM']=genS('WM_8TeV_cfi',K9by100)
00343 ##steps['ZEE2']=genS('ZEE_8TeV_cfi',K9by100)
00344 steps['ZMM']=genS('ZMM_8TeV_cfi',{'--relval':'18000,200'})
00345 steps['ZTT']=genS('ZTT_Tauola_All_hadronic_8TeV_cfi',K9by100)
00346 steps['H130GGgluonfusion']=genS('H130GGgluonfusion_8TeV_cfi',K9by100)
00347 steps['PhotonJets_Pt_10']=genS('PhotonJet_Pt_10_8TeV_cfi',K9by100)
00348 steps['QQH1352T_Tauola']=genS('QQH1352T_Tauola_8TeV_cfi',K9by100)
00349 steps['ZmumuJets_Pt_20_300']=gen('ZmumuJets_Pt_20_300_GEN_8TeV_cfg',K250by100)
00350 
00351 steps['MinBias2INPUT']={'INPUT':InputInfo(dataSet='/RelValMinBias/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00352 steps['Higgs200ChargedTausINPUT']={'INPUT':InputInfo(dataSet='/RelValHiggs200ChargedTaus/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00353 steps['QCD_Pt_3000_3500_2INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_Pt_3000_3500/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00354 steps['QCD_Pt_80_120_2INPUT']={'INPUT':InputInfo(dataSet='/RelValQCD_Pt_80_120/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00355 steps['JpsiMMINPUT']={'INPUT':InputInfo(dataSet='/RelValJpsiMM/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00356 steps['TTbar2INPUT']={'INPUT':InputInfo(dataSet='/RelValTTbar/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00357 steps['WEINPUT']={'INPUT':InputInfo(dataSet='/RelValWE/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00358 steps['WMINPUT']={'INPUT':InputInfo(dataSet='/RelValWM/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00359 steps['ZEEINPUT']={'INPUT':InputInfo(dataSet='/RelValZEE/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00360 steps['ZMMINPUT']={'INPUT':InputInfo(dataSet='/RelValZMM/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00361 steps['ZTTINPUT']={'INPUT':InputInfo(dataSet='/RelValZTT/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00362 steps['H130GGgluonfusionINPUT']={'INPUT':InputInfo(dataSet='/RelValH130GGgluonfusion/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00363 steps['PhotonJets_Pt_10INPUT']={'INPUT':InputInfo(dataSet='/RelValPhotonJets_Pt_10/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00364 steps['QQH1352T_TauolaINPUT']={'INPUT':InputInfo(dataSet='/RelValQQH1352T_Tauola/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00365 
00366 steps['ZmumuJets_Pt_20_300INPUT']={'INPUT':InputInfo(dataSet='/RelValZmumuJets_Pt_20_300/%s/GEN-SIM'%(baseDataSetRelease[2],),location='STD')}
00367 
00368 steps['Cosmics']=merge([{'cfg':'UndergroundCosmicMu_cfi.py','--relval':'666000,3000','--scenario':'cosmics'},step1Defaults])
00369 steps['BeamHalo']=merge([{'cfg':'BeamHalo_cfi.py','--scenario':'cosmics'},K9by100,step1Defaults])
00370 
00371 steps['CosmicsINPUT']={'INPUT':InputInfo(dataSet='/RelValCosmics/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00372 steps['BeamHaloINPUT']={'INPUT':InputInfo(dataSet='/RelValBeamHalo/%s/GEN-SIM'%(baseDataSetRelease[0],),location='STD')}
00373 
00374 steps['QCD_Pt_50_80']=genS('QCD_Pt_50_80_8TeV_cfi',K250by100)
00375 steps['QCD_Pt_15_20']=genS('QCD_Pt_15_20_8TeV_cfi',K250by100)
00376 steps['ZTTHS']=merge([K250by100,steps['ZTT']])
00377 steps['QQH120Inv']=genS('QQH120Inv_8TeV_cfi',K250by100)
00378 steps['TTbar2HS']=merge([K250by100,steps['TTbar']])
00379 steps['JpsiMM_Pt_20_inf']=genS('JpsiMM_Pt_20_inf_8TeV_cfi',K700by280)
00380 steps['QCD_Pt_120_170']=genS('QCD_Pt_120_170_8TeV_cfi',K250by100)
00381 steps['H165WW2L']=genS('H165WW2L_Tauola_8TeV_cfi',K250by100)
00382 steps['UpsMM']=genS('UpsMM_8TeV_cfi',K562by225)
00383 steps['RSGrav']=genS('RS750_quarks_and_leptons_8TeV_cff',K250by100)
00384 steps['QCD_Pt_80_120_2HS']=merge([K250by100,steps['QCD_Pt_80_120']])
00385 steps['bJpsiX']=genS('bJpsiX_8TeV_cfi',K3250000by1300000)
00386 steps['QCD_Pt_30_50']=genS('QCD_Pt_30_50_8TeV_cfi',K250by100)
00387 steps['H200ZZ4L']=genS('H200ZZ4L_Tauola_8TeV_cfi',K250by100)
00388 steps['LM9p']=genS('LM9p_8TeV_cff',K250by100)
00389 steps['QCD_Pt_20_30']=genS('QCD_Pt_20_30_8TeV_cfi',K250by100)
00390 steps['QCD_Pt_170_230']=genS('QCD_Pt_170_230_8TeV_cfi',K250by100)
00391 
00392 ## pPb tests
00393 step1PPbDefaults={'--beamspot':'Realistic8TeVCollisionPPbBoost'}
00394 steps['AMPT_PPb_5020GeV_MinimumBias']=merge([{'-n':10},step1PPbDefaults,genS('AMPT_PPb_5020GeV_MinimumBias_cfi',K9by100)])
00395                                              
00396 ## heavy ions tests
00397 U500by5={'--relval': '500,5'}
00398 U80by2={'--relval': '80,2'}
00399 hiDefaults={'--conditions':'auto:starthi_HIon',
00400            '--scenario':'HeavyIons'}
00401 
00402 steps['HydjetQ_MinBias_2760GeV']=merge([{'-n':1},hiDefaults,genS('Hydjet_Quenched_MinBias_2760GeV_cfi',U500by5)])
00403 steps['HydjetQ_MinBias_2760GeVINPUT']={'INPUT':InputInfo(dataSet='/RelValHydjetQ_MinBias_2760GeV/%s/GEN-SIM'%(baseDataSetRelease[1],),location='STD')}
00404 steps['HydjetQ_B0_2760GeV']=merge([{'-n':1},hiDefaults,genS('Hydjet_Quenched_B0_2760GeV_cfi',U80by2)])
00405 steps['HydjetQ_B0_2760GeVINPUT']={'INPUT':InputInfo(dataSet='/RelValHydjetQ_B0_2760GeV/%s/GEN-SIM'%(baseDataSetRelease[1],),location='STD')}
00406 steps['HydjetQ_B8_2760GeV']=merge([{'-n':1},hiDefaults,genS('Hydjet_Quenched_B8_2760GeV_cfi',U80by2)])
00407 steps['HydjetQ_B8_2760GeVINPUT']={'INPUT':InputInfo(dataSet='/RelValHydjetQ_B8_2760GeV/%s/GEN-SIM'%(baseDataSetRelease[1],),location='CAF')}
00408 
00409 
00410 
00411 
00412 
00413 def changeRefRelease(step1s,listOfPairs):
00414     for s in step1s:
00415         if ('INPUT' in step1s[s]):
00416             oldD=steps[s]['INPUT'].dataSet
00417             for (ref,newRef) in listOfPairs:
00418                 if  ref in oldD:
00419                     steps[s]['INPUT'].dataSet=oldD.replace(ref,newRef)
00420                                         
00421 def addForAll(steps,d):
00422     for s in steps:
00423         steps[s].update(d)
00424 
00425 
00426 
00427 #### fastsim section ####
00428 ##no forseen to do things in two steps GEN-SIM then FASTIM->end: maybe later
00429 step1FastDefaults =merge([{'-s':'GEN,FASTSIM,HLT:@relval,VALIDATION',
00430                            '--eventcontent':'FEVTDEBUGHLT,DQM',
00431                            '--datatier':'GEN-SIM-DIGI-RECO,DQM',
00432                            '--relval':'27000,3000'},
00433                           step1Defaults])
00434 K100by500={'--relval':'100000,500'}
00435 K100byK2={'--relval':'100000,2000'}
00436 steps['TTbarFS']=merge([{'cfg':'TTbar_Tauola_8TeV_cfi'},K100byK2,step1FastDefaults])
00437 steps['SingleMuPt1FS']=merge([{'cfg':'SingleMuPt1_cfi'},step1FastDefaults])
00438 steps['SingleMuPt10FS']=merge([{'cfg':'SingleMuPt10_cfi'},step1FastDefaults])
00439 steps['SingleMuPt100FS']=merge([{'cfg':'SingleMuPt100_cfi'},step1FastDefaults])
00440 steps['SinglePiPt1FS']=merge([{'cfg':'SinglePiPt1_cfi'},step1FastDefaults])
00441 steps['SinglePiPt10FS']=merge([{'cfg':'SinglePiPt10_cfi'},step1FastDefaults])
00442 steps['SinglePiPt100FS']=merge([{'cfg':'SinglePiPt100_cfi'},step1FastDefaults])
00443 steps['ZEEFS']=merge([{'cfg':'ZEE_8TeV_cfi'},K100byK2,step1FastDefaults])
00444 steps['ZTTFS']=merge([{'cfg':'ZTT_Tauola_OneLepton_OtherHadrons_8TeV_cfi'},K100byK2,step1FastDefaults])
00445 steps['QCDFlatPt153000FS']=merge([{'cfg':'QCDForPF_8TeV_cfi'},step1FastDefaults])
00446 steps['QCD_Pt_80_120FS']=merge([{'cfg':'QCD_Pt_80_120_8TeV_cfi'},K100by500,stCond,step1FastDefaults])
00447 steps['QCD_Pt_3000_3500FS']=merge([{'cfg':'QCD_Pt_3000_3500_8TeV_cfi'},K100by500,stCond,step1FastDefaults])
00448 steps['H130GGgluonfusionFS']=merge([{'cfg':'H130GGgluonfusion_8TeV_cfi'},step1FastDefaults])
00449 steps['SingleGammaFlatPt10To10FS']=merge([{'cfg':'SingleGammaFlatPt10To100_cfi'},K100by500,step1FastDefaults])
00450 
00451 def identityFS(wf):
00452     return merge([{'--restoreRND':'HLT','--process':'HLT2','--hltProcess':'HLT2'},wf])
00453 
00454 steps['SingleMuPt10FS_ID']=identityFS(steps['SingleMuPt10FS'])
00455 steps['TTbarFS_ID']=identityFS(steps['TTbarFS'])
00456 
00457 #### generator test section ####
00458 step1GenDefaults=merge([{'-s':'GEN,VALIDATION:genvalid',
00459                          '--relval':'1000000,20000',
00460                          '--eventcontent':'RAWSIM',
00461                          '--datatier':'GEN'},
00462                         step1Defaults])
00463 def genvalid(fragment,d,suffix='',fi=''):
00464     import copy
00465     c=copy.copy(d)
00466     if suffix:
00467         c['-s']=c['-s'].replace('genvalid','genvalid_'+suffix)
00468     if fi:
00469         c['--filein']='lhe:%d'%(fi,)
00470     c['cfg']=fragment
00471     return c
00472     
00473 steps['QCD_Pt-30_8TeV_herwigpp']=genvalid('QCD_Pt_30_8TeV_herwigpp_cff',step1GenDefaults,'qcd')
00474 steps['DYToLL_M-50_TuneZ2star_8TeV_pythia6-tauola']=genvalid('DYToLL_M_50_TuneZ2star_8TeV_pythia6_tauola_cff',step1GenDefaults,'dy')
00475 steps['QCD_Pt-30_TuneZ2star_8TeV_pythia6']=genvalid('QCD_Pt_30_TuneZ2star_8TeV_pythia6_cff',step1GenDefaults,'qcd')
00476 steps['QCD_Pt-30_8TeV_pythia8']=genvalid('QCD_Pt_30_8TeV_pythia8_cff',step1GenDefaults,'qcd')
00477 steps['GluGluTo2Jets_M-100_8TeV_exhume']=genvalid('GluGluTo2Jets_M_100_8TeV_exhume_cff',step1GenDefaults,'qcd')
00478 steps['TT_TuneZ2star_8TeV_pythia6-evtgen']=genvalid('TT_TuneZ2star_8TeV_pythia6_evtgen_cff',step1GenDefaults)
00479 steps['MinBias_TuneZ2star_8TeV_pythia6']=genvalid('MinBias_TuneZ2star_8TeV_pythia6_cff',step1GenDefaults,'qcd')
00480 steps['WToLNu_TuneZ2star_8TeV_pythia6-tauola']=genvalid('WToLNu_TuneZ2star_8TeV_pythia6_tauola_cff',step1GenDefaults,'w')
00481 steps['QCD_Pt-30_8TeV_herwig6']=genvalid('QCD_Pt_30_8TeV_herwig6_cff',step1GenDefaults,'qcd')
00482 steps['MinBias_8TeV_pythia8']=genvalid('MinBias_8TeV_pythia8_cff',step1GenDefaults,'qcd')
00483 
00484 
00485 steps['QCD_Ht-100To250_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'qcd',5475)
00486 steps['QCD_Ht-250To500_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'qcd',5476)
00487 steps['QCD_Ht-500To1000_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'qcd',5481)
00488 steps['TTJets_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'',5502)
00489 steps['WJetsLNu_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'w',5607)
00490 steps['ZJetsLNu_TuneZ2star_8TeV_madgraph-tauola']=genvalid('Hadronizer_MgmMatchTuneZ2star_8TeV_madgraph_tauola_cff',step1GenDefaults,'dy',5591)
00491 steps['ZJetsLNu_Tune4C_8TeV_madgraph-pythia8']=genvalid('Hadronizer_MgmMatchTune4C_8TeV_madgraph_pythia8_cff',step1GenDefaults,'dy',5591)
00492 
00493 PU={'-n':10,'--pileup':'default','--pileup_input':'dbs:/RelValMinBias/%s/GEN-SIM'%(baseDataSetRelease[0],)}
00494 PUFS={'--pileup':'default'}
00495 PUFS2={'--pileup':'mix_2012_Startup_inTimeOnly'}
00496 steps['TTbarFSPU']=merge([PUFS,steps['TTbarFS']])
00497 steps['TTbarFSPU2']=merge([PUFS2,steps['TTbarFS']])
00498 ##########################
00499 
00500 
00501 
00502 # step2 
00503 step2Defaults = { 
00504                   '-s'            : 'DIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco',
00505                   '--datatier'    : 'GEN-SIM-DIGI-RAW-HLTDEBUG',
00506                   '--eventcontent': 'FEVTDEBUGHLT',
00507                   '--conditions'  : 'auto:startup',
00508                   }
00509 
00510 
00511 steps['DIGIPROD1']=merge([{'--eventcontent':'RAWSIM','--datatier':'GEN-SIM-RAW'},step2Defaults])
00512 steps['DIGI']=merge([step2Defaults])
00513 #steps['DIGI2']=merge([stCond,step2Defaults])
00514 steps['DIGICOS']=merge([{'--scenario':'cosmics','--eventcontent':'FEVTDEBUG','--datatier':'GEN-SIM-DIGI-RAW'},stCond,step2Defaults])
00515 
00516 steps['DIGIPU1']=merge([PU,step2Defaults])
00517 steps['REDIGIPU']=merge([{'-s':'reGEN,reDIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco'},steps['DIGIPU1']])
00518 
00519 steps['DIGI_ID']=merge([{'--restoreRND':'HLT','--process':'HLT2'},steps['DIGI']])
00520 
00521 steps['RESIM']=merge([{'-s':'reGEN,reSIM','-n':10},steps['DIGI']])
00522 steps['RESIMDIGI']=merge([{'-s':'reGEN,reSIM,DIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco','-n':10,'--restoreRNDSeeds':'','--process':'HLT'},steps['DIGI']])
00523 
00524     
00525 steps['DIGIHI']=merge([{'--conditions':'auto:starthi_HIon', '-s':'DIGI,L1,DIGI2RAW,HLT:HIon,RAW2DIGI,L1Reco', '--inputCommands':'"keep *","drop *_simEcalPreshowerDigis_*_*"', '-n':10}, hiDefaults, step2Defaults])
00526 
00527 #add this line when testing from an input file that is not strictly GEN-SIM
00528 #addForAll(step2,{'--process':'DIGI'})
00529 
00530 dataReco={'--conditions':'auto:com10',
00531           '-s':'RAW2DIGI,L1Reco,RECO,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias,DQM',
00532           '--datatier':'RECO,DQMROOT',
00533           '--eventcontent':'RECO,DQMROOT',
00534           '--data':'',
00535           '--process':'reRECO',
00536           '--scenario':'pp',
00537           }
00538 
00539 steps['HLTD']=merge([{'--process':'reHLT',
00540                       '-s':'L1REPACK,HLT:7E33v2',                   # keep the HLT menu and conditions explicit
00541                       '--conditions':'auto:hltonline_7E33v2',
00542                       '--data':'',
00543                       '--output':'\'[{"e":"RAW","t":"RAW","o":["drop FEDRawDataCollection_rawDataCollector__LHC"]}]\'',
00544                       },])
00545 steps['RECOD']=merge([{'--scenario':'pp',},dataReco])
00546 steps['RECOSKIMALCA']=merge([{'--inputCommands':'"keep *","drop *_*_*_RECO"'
00547                               },steps['RECOD']])
00548 steps['RECOSKIM']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,DQM',
00549                           },steps['RECOSKIMALCA']])
00550 
00551 steps['REPACKHID']=merge([{'--scenario':'HeavyIons',
00552                          '-s':'RAW2DIGI,REPACK',
00553                          '--datatier':'RAW',
00554                          '--eventcontent':'REPACKRAW'},
00555                         steps['RECOD']])
00556 steps['RECOHID10']=merge([{'--scenario':'HeavyIons',
00557                          '-s':'RAW2DIGI,L1Reco,RECO,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBiasHI+HcalCalMinBias,DQM',
00558                          '--datatier':'RECO,DQMROOT',
00559                          '--eventcontent':'RECO,DQMROOT'},
00560                         steps['RECOD']])
00561 steps['RECOHID11']=merge([{'--repacked':''},
00562                           steps['RECOHID10']])
00563 steps['RECOHID10']['-s']+=',REPACK'
00564 steps['RECOHID10']['--datatier']+=',RAW'
00565 steps['RECOHID10']['--eventcontent']+=',REPACKRAW'
00566 
00567 steps['TIER0']=merge([{'--customise':'Configuration/DataProcessing/RecoTLR.customisePrompt',
00568                        '-s':'RAW2DIGI,L1Reco,RECO,ALCAPRODUCER:@allForPrompt,DQM,ENDJOB',
00569                        '--datatier':'RECO,AOD,ALCARECO,DQMROOT',
00570                        '--eventcontent':'RECO,AOD,ALCARECO,DQMROOT',
00571                        '--process':'RECO'
00572                        },dataReco])
00573 steps['TIER0EXP']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCAPRODUCER:@allForExpress,DQM,ENDJOB',
00574                           '--datatier':'ALCARECO,DQM',
00575                           '--eventcontent':'ALCARECO,DQM',
00576                           '--customise':'Configuration/DataProcessing/RecoTLR.customiseExpress',
00577                           },steps['TIER0']])
00578 
00579 steps['RECOCOSD']=merge([{'--scenario':'cosmics',
00580                           '-s':'RAW2DIGI,L1Reco,RECO,DQM,ALCA:MuAlCalIsolatedMu+DtCalib',
00581                           '--customise':'Configuration/DataProcessing/RecoTLR.customiseCosmicData'
00582                           },dataReco])
00583 
00584 step2HImixDefaults=merge([{'-n':'10',
00585                            '--himix':'',
00586                            '--filein':'file.root',
00587                            '--process':'HISIGNAL'
00588                            },hiDefaults,step1Defaults])
00589 steps['Pyquen_GammaJet_pt20_2760GeV']=merge([{'cfg':'Pyquen_GammaJet_pt20_2760GeV_cfi'},step2HImixDefaults])
00590 steps['Pyquen_DiJet_pt80to120_2760GeV']=merge([{'cfg':'Pyquen_DiJet_pt80to120_2760GeV_cfi'},step2HImixDefaults])
00591 steps['Pyquen_ZeemumuJets_pt10_2760GeV']=merge([{'cfg':'Pyquen_ZeemumuJets_pt10_2760GeV_cfi'},step2HImixDefaults])
00592 
00593 # step3 
00594 step3Defaults = {
00595                   '-s'            : 'RAW2DIGI,L1Reco,RECO,VALIDATION,DQM',
00596                   '--conditions'  : 'auto:startup',
00597                   '--no_exec'     : '',
00598                   '--datatier'    : 'GEN-SIM-RECO,DQM',
00599                   '--eventcontent': 'RECOSIM,DQM'
00600                   }
00601 
00602 steps['DIGIPU']=merge([{'--process':'REDIGI'},steps['DIGIPU1']])
00603 
00604 steps['RECODreHLT']=merge([{'--hltProcess':'reHLT','--conditions':'auto:com10_7E33v2'},steps['RECOD']])
00605 steps['RECO']=merge([step3Defaults])
00606 steps['RECODBG']=merge([{'--eventcontent':'RECODEBUG,DQM'},steps['RECO']])
00607 steps['RECOPROD1']=merge([{ '-s' : 'RAW2DIGI,L1Reco,RECO', '--datatier' : 'GEN-SIM-RECO,AODSIM', '--eventcontent' : 'RECOSIM,AODSIM'},step3Defaults])
00608 steps['RECOCOS']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCA:MuAlCalIsolatedMu,DQM','--scenario':'cosmics'},stCond,step3Defaults])
00609 steps['RECOMIN']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,ALCA:SiStripCalZeroBias+SiStripCalMinBias+EcalCalPhiSym+EcalCalPi0Calib+EcalCalEtaCalib,VALIDATION,DQM'},stCond,step3Defaults])
00610 steps['RECODDQM']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,DQM:@common+@muon+@hcal+@jetmet+@ecal'},steps['RECOD']])
00611 
00612 steps['RECOPU1']=merge([PU,steps['RECO']])
00613 steps['RECOPUDBG']=merge([{'--eventcontent':'RECODEBUG,DQM'},steps['RECOPU1']])
00614 steps['RERECOPU1']=merge([{'--hltProcess':'REDIGI'},steps['RECOPU1']])
00615 
00616 steps['RECO_ID']=merge([{'--hltProcess':'HLT2'},steps['RECO']])
00617 
00618 steps['RECOHI']=merge([hiDefaults,step3Defaults])
00619 steps['DIGIHISt3']=steps['DIGIHI']
00620 
00621 steps['RECOHID11St3']=merge([{
00622                               '--process':'ZStoRECO'},
00623                              steps['RECOHID11']])
00624 steps['RECOHIR10D11']=merge([{'--filein':'file:step2_inREPACKRAW.root',
00625                               '--filtername':'reRECO'},
00626                              steps['RECOHID11St3']])
00627 
00628 #add this line when testing from an input file that is not strictly GEN-SIM
00629 #addForAll(step3,{'--hltProcess':'DIGI'})
00630 
00631 steps['ALCACOSD']={'--conditions':'auto:com10',
00632                    '--datatier':'ALCARECO',
00633                    '--eventcontent':'ALCARECO',
00634                    '--scenario':'cosmics',
00635                    '-s':'ALCA:TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DQM'
00636                    }
00637 steps['ALCAPROMPT']={'-s':'ALCA:PromptCalibProd',
00638                      '--filein':'file:TkAlMinBias.root',
00639                      '--conditions':'auto:com10',
00640                      '--datatier':'ALCARECO',
00641                      '--eventcontent':'ALCARECO'}
00642 steps['ALCAEXP']={'-s':'ALCA:PromptCalibProd',
00643                   '--conditions':'auto:com10',
00644                   '--datatier':'ALCARECO',
00645                   '--eventcontent':'ALCARECO'}
00646 
00647 # step4
00648 step4Defaults = { 
00649                   '-s'            : 'ALCA:TkAlMuonIsolated+TkAlMinBias+EcalCalElectron+HcalCalIsoTrk+MuAlOverlaps',
00650                   '-n'            : 1000,
00651                   '--conditions'  : 'auto:startup',
00652                   '--datatier'    : 'ALCARECO',
00653                   '--eventcontent': 'ALCARECO',
00654                   }
00655 
00656 steps['RERECOPU']=steps['RERECOPU1']
00657 
00658 steps['ALCATT']=merge([step4Defaults])
00659 steps['ALCAMIN']=merge([{'-s':'ALCA:TkAlMinBias'},stCond,step4Defaults])
00660 #steps['ALCAQCD']=merge([{'-s':'ALCA:HcalCalIsoTrk+HcalCalDijets'},stCond,step4Defaults])
00661 #steps['ALCAMU']=merge([{'-s':'ALCA:@Mu'},stCond,step4Defaults])
00662 steps['ALCACOS']=merge([{'-s':'ALCA:TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics'},stCond,step4Defaults])
00663 steps['ALCABH']=merge([{'-s':'ALCA:TkAlBeamHalo+MuAlBeamHaloOverlaps+MuAlBeamHalo'},stCond,step4Defaults])
00664 steps['ALCAELE']=merge([{'-s':'ALCA:EcalCalElectron'},stCond,step4Defaults])
00665 
00666 steps['ALCAHARVD']={'-s':'ALCAHARVEST:BeamSpotByRun+BeamSpotByLumi+SiStripQuality',
00667                     '--conditions':'auto:com10',
00668                     '--scenario':'pp',
00669                     '--data':'',
00670                     '--filein':'file:PromptCalibProd.root'}
00671 
00672 steps['RECOHISt4']=steps['RECOHI']
00673 
00674 steps['ALCANZS']=merge([{'-s':'ALCA:HcalCalMinBias','--mc':''},step4Defaults])
00675 steps['HARVGEN']={'-s':'HARVESTING:genHarvesting',
00676                   '--harvesting':'AtJobEnd',
00677                   '--conditions':'auto:startup',
00678                   '--mc':'',
00679                   '--filein':'file:step1.root'
00680                   }
00681 
00682 #data
00683 steps['HARVESTD']={'-s':'HARVESTING:dqmHarvesting',
00684                    '--conditions':'auto:com10',
00685                    '--filetype':'DQM',
00686                    '--data':'',
00687                    '--scenario':'pp'}
00688 
00689 steps['HARVESTDreHLT'] = merge([ {'--conditions':'auto:com10_7E33v2'}, steps['HARVESTD'] ])
00690 
00691 steps['HARVESTDDQM']=merge([{'-s':'HARVESTING:@common+@muon+@hcal+@jetmet+@ecal'},steps['HARVESTD']])
00692 
00693 steps['HARVESTDfst2']=merge([{'--filein':'file:step2_inDQM.root'},steps['HARVESTD']])
00694 
00695 steps['HARVESTDC']={'-s':'HARVESTING:dqmHarvesting',
00696                    '--conditions':'auto:com10',
00697                    '--filetype':'DQM',
00698                    '--data':'',
00699                     '--filein':'file:step2_inDQM.root',
00700                    '--scenario':'cosmics'}
00701 steps['HARVESTDHI']={'-s':'HARVESTING:dqmHarvesting',
00702                    '--conditions':'auto:com10',
00703                    '--filetype':'DQM',
00704                    '--data':'',
00705                    '--scenario':'HeavyIons'}
00706 
00707 #MC
00708 steps['HARVEST']={'-s':'HARVESTING:validationHarvesting+dqmHarvesting',
00709                    '--conditions':'auto:startup',
00710                    '--mc':'',
00711                    '--scenario':'pp'}
00712 steps['HARVESTCOS']={'-s':'HARVESTING:dqmHarvesting',
00713                      '--conditions':'auto:startup',
00714                      '--mc':'',
00715                      '--filein':'file:step3_inDQM.root',
00716                    '--scenario':'cosmics'}
00717 steps['HARVESTFS']={'-s':'HARVESTING:validationHarvestingFS',
00718                    '--conditions':'auto:startup',
00719                    '--mc':'',
00720                    '--scenario':'pp'}
00721 steps['HARVESTHI']={'-s':'HARVESTING:validationHarvesting+dqmHarvesting',
00722                    '--conditions':'auto:starthi_HIon',
00723                    '--mc':'',
00724                    '--scenario':'HeavyIons'}
00725 
00726 steps['ALCASPLIT']={'-s':'ALCAOUTPUT:@allForPrompt',
00727                     '--conditions':'auto:com10',
00728                     '--scenario':'pp',
00729                     '--data':'',
00730                     '--triggerResultsProcess':'RECO',
00731                     '--filein':'file:step2_inALCARECO.root'}
00732 
00733 steps['SKIMD']={'-s':'SKIM:all',
00734                 '--conditions':'auto:com10',
00735                 '--data':'',
00736                 '--scenario':'pp',
00737                 '--filein':'file:step2.root',
00738                 '--secondfilein':'filelist:step1_dbsquery.log'}
00739 
00740 steps['SKIMDreHLT'] = merge([ {'--conditions':'auto:com10_7E33v2','--filein':'file:step3.root'}, steps['SKIMD'] ])
00741 
00742 steps['SKIMCOSD']={'-s':'SKIM:all',
00743                    '--conditions':'auto:com10',
00744                    '--data':'',
00745                    '--scenario':'cosmics',
00746                    '--filein':'file:step2.root',
00747                    '--secondfilein':'filelist:step1_dbsquery.log'}
00748                  
00749 
00750 #### for special wfs ###
00751 #steps['TTbar_REDIGI_RERECO']=merge([{'cfg':'TTbar_Tauola_8TeV_cfi',
00752 #                                     '-s':'GEN,SIM,DIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco,RECO,ALCA:MuAlCalIsolatedMu+DtCalib,VALIDATION,DQM',
00753 #                                     '--datatier':'GEN-SIM-DIGI-RAW-HLTDEBUG-RECO,DQM',
00754 #                                     '--eventcontent':'FEVTDEBUGHLT,DQM'},
00755 #                                    K9by50,stCond,step1Defaults])
00756 #steps['DIGI2RECO']=merge([{'-s':'DIGI,L1,DIGI2RAW,HLT:@relval,RAW2DIGI,L1Reco,RECO,VALIDATION,DQM',
00757 #                           '--filtername':'DIGItoRECO',
00758 #                           '--process':'RECO',
00759 #                           '--eventcontent':'RECOSIM,DQM',
00760 #                           '--datatier':'GEN-SIM-RECO,DQM',
00761 #                           },
00762 #                            stCond,step3Defaults])
00763 steps['RECOFROMRECO']=merge([{'-s':'RECO',
00764                               '--filtername':'RECOfromRECO',
00765                               '--process':'reRECO',
00766                               '--datatier':'AODSIM',
00767                               '--eventcontent':'AODSIM',
00768                               },
00769                              stCond,step3Defaults])
00770 
00771 
00772 steps['RECOFROMRECOSt2']=steps['RECOFROMRECO']
00773 
00774 steps['RECODFROMRAWRECO']=merge([{'-s':'RAW2DIGI:RawToDigi_noTk,L1Reco,RECO:reconstruction_noTracking',
00775                                   '--filtername':'RECOfromRAWRECO',
00776                                   '--process':'rereRECO',
00777                                   '--datatier':'AOD',
00778                                   '--eventcontent':'AOD',
00779                                   '--secondfilein':'filelist:step1_dbsquery.log',
00780                                   },
00781                                  steps['RECOD']])
00782 
00783 steps['COPYPASTE']={'-s':'NONE',
00784                     '--conditions':'auto:startup',
00785                     '--output':'\'[{"t":"RAW","e":"ALL"}]\'',
00786                     '--customise_commands':'"process.ALLRAWoutput.fastCloning=cms.untracked.bool(False)"'}