def expressProcessing(self, globalTag, **args): """ _expressProcessing_ Heavy-ion collision data taking express processing """ skims = ['SiStripCalZeroBias', 'TkAlMinBiasHI'] step = stepALCAPRODUCER(skims) options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = "HeavyIons" options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM,ENDJOB' options.isRepacked = True dictIO(options,args) options.conditions = globalTag process = cms.Process('RECO') cb = ConfigBuilder(options, process = process, with_output=True) # Input source process.source = cms.Source("NewEventStreamFileReader", fileNames = cms.untracked.vstring() ) cb.prepare() customiseExpressHI(process) addMonitoring(process) return process
def expressProcessing(self, globalTag, **args): """ _expressProcessing_ Proton collision data taking express processing """ skims = args['skims'] # the AlCaReco skims for PCL should only run during AlCaSkimming step which uses the same configuration on the Tier0 side, for this reason we drop them here pclWkflws = [x for x in skims if "PromptCalibProd" in x] for wfl in pclWkflws: skims.remove(wfl) step = stepALCAPRODUCER(skims) dqmStep= dqmSeq(args,'') options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = self.cbSc options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM'+dqmStep+',ENDJOB' dictIO(options,args) options.conditions = globalTag options.filein = 'tobeoverwritten.xyz' if 'inputSource' in args: options.filetype = args['inputSource'] process = cms.Process('RECO') cb = ConfigBuilder(options, process = process, with_output = True, with_input = True) cb.prepare() addMonitoring(process) return process
def expressProcessing(self, globalTag, **args): """ _expressProcessing_ Proton collision data taking express processing """ step = stepALCAPRODUCER(args["skims"]) dqmStep = dqmSeq(args, "") options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = self.cbSc options.step = "RAW2DIGI,L1Reco,RECO" + step + ",DQM" + dqmStep + ",ENDJOB" dictIO(options, args) options.conditions = globalTag process = cms.Process("RECO") cb = ConfigBuilder(options, process=process, with_output=True) # Input source process.source = cms.Source("NewEventStreamFileReader", fileNames=cms.untracked.vstring()) cb.prepare() addMonitoring(process) return process
def promptReco(self, globalTag, **args): """ _promptReco_ Proton collision data taking prompt reco """ step = stepALCAPRODUCER(args['skims']) dqmStep= dqmSeq(args,'') options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = self.cbSc options.step = 'RAW2DIGI,L1Reco,RECO'+self.recoSeq+step+',DQM'+dqmStep+',ENDJOB' dictIO(options,args) options.conditions = globalTag process = cms.Process('RECO') cb = ConfigBuilder(options, process = process, with_output = True) # Input source process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring() ) cb.prepare() addMonitoring(process) return process
def expressProcessing(self, globalTag, **args): """ _expressProcessing_ Proton collision data taking express processing """ step = stepALCAPRODUCER(args['skims']) dqmStep= dqmSeq(args,'') options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = self.cbSc options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM'+dqmStep+',ENDJOB' dictIO(options,args) options.conditions = globalTag options.filein = 'tobeoverwritten.xyz' if 'inputSource' in args: options.fileType = args['inputSource'] process = cms.Process('RECO') cb = ConfigBuilder(options, process = process, with_output = True, with_input = True) cb.prepare() addMonitoring(process) return process
def promptReco(self, globalTag, **args): """ _promptReco_ Proton collision data taking prompt reco """ step = stepALCAPRODUCER(args['skims']) PhysicsSkimStep = '' if ("PhysicsSkims" in args) : PhysicsSkimStep = stepSKIMPRODUCER(args['PhysicsSkims']) dqmStep = dqmSeq(args,'') options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = self.cbSc if ('nThreads' in args) : options.nThreads=args['nThreads'] miniAODStep='' # if miniAOD is asked for - then retrieve the miniaod config if 'outputs' in args: for a in args['outputs']: if a['dataTier'] == 'MINIAOD': miniAODStep=',PAT' """ Unscheduled for all """ options.runUnscheduled=True self._checkRepackedFlag(options, **args) if 'customs' in args: options.customisation_file=args['customs'] eiStep='' if self.addEI: eiStep=',EI' options.step = 'RAW2DIGI,L1Reco,RECO'+self.recoSeq+eiStep+step+PhysicsSkimStep+miniAODStep+',DQM'+dqmStep+',ENDJOB' dictIO(options,args) options.conditions = gtNameAndConnect(globalTag, args) process = cms.Process('RECO', cms.ModifierChain(self.eras, self.promptModifiers) ) cb = ConfigBuilder(options, process = process, with_output = True) # Input source process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring() ) cb.prepare() addMonitoring(process) return process
def expressProcessing(self, globalTag, **args): """ _expressProcessing_ Proton collision data taking express processing """ skims = args['skims'] # the AlCaReco skims for PCL should only run during AlCaSkimming step which uses the same configuration on the Tier0 side, for this reason we drop them here pclWkflws = [x for x in skims if "PromptCalibProd" in x] for wfl in pclWkflws: skims.remove(wfl) step = stepALCAPRODUCER(skims) dqmStep= dqmSeq(args,'') options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = self.cbSc if ('nThreads' in args) : options.nThreads=args['nThreads'] eiStep='' if self.addEI: eiStep=',EI' options.step = 'RAW2DIGI,L1Reco,RECO'+self.recoSeq+eiStep+step+',DQM'+dqmStep+',ENDJOB' dictIO(options,args) options.conditions = gtNameAndConnect(globalTag, args) options.filein = 'tobeoverwritten.xyz' if 'inputSource' in args: options.filetype = args['inputSource'] process = cms.Process('RECO', cms.ModifierChain(self.eras, self.expressModifiers) ) if 'customs' in args: options.customisation_file=args['customs'] self._checkRepackedFlag(options,**args) cb = ConfigBuilder(options, process = process, with_output = True, with_input = True) cb.prepare() addMonitoring(process) return process
# Schedule definition process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.endjob_step,process.RAWSIMoutput_step) from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask associatePatAlgosToolsTask(process) # filter all path with the production filter sequence for path in process.paths: getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq # customisation of the process. # Automatic addition of the customisation function from Configuration.DataProcessing.Utils from Configuration.DataProcessing.Utils import addMonitoring #call to customisation function addMonitoring imported from Configuration.DataProcessing.Utils process = addMonitoring(process) # Automatic addition of the customisation function from SimG4Core.CustomPhysics.Exotica_HSCP_SIM_cfi from SimG4Core.CustomPhysics.Exotica_HSCP_SIM_cfi import customise #call to customisation function customise imported from SimG4Core.CustomPhysics.Exotica_HSCP_SIM_cfi process = customise(process) # Automatic addition of the customisation function from SimG4Core.Application.customiseSequentialSim from SimG4Core.Application.customiseSequentialSim import customiseSequentialSim #call to customisation function customiseSequentialSim imported from SimG4Core.Application.customiseSequentialSim process = customiseSequentialSim(process) # End of customisation functions
def expressProcessing(self, globalTag, **args): """ _expressProcessing_ Proton collision data taking express processing """ skims = [] if 'skims' in args: skims = args['skims'] pclWkflws = [x for x in skims if "PromptCalibProd" in x] for wfl in pclWkflws: skims.remove(wfl) options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = "pp" options.step = stepALCAPRODUCER(skims) if 'outputs' in args: # the RAW data-tier needs a special treatment since the event-content as defined in release is not good enough outputs_Raw = [x for x in args['outputs'] if x['dataTier'] == 'RAW'] outputs_noRaw = [x for x in args['outputs'] if x['dataTier'] != 'RAW'] if len(outputs_Raw) == 1: print('RAW data-tier requested') options.outputDefinition = outputs_noRaw.__str__() # dictIO(options,args) options.conditions = gtNameAndConnect(globalTag, args) options.filein = 'tobeoverwritten.xyz' if 'inputSource' in args: options.filetype = args['inputSource'] process = cms.Process('RECO', self.eras) if 'customs' in args: options.customisation_file=args['customs'] cb = ConfigBuilder(options, process = process, with_output = True, with_input = True) cb.prepare() addMonitoring(process) for output in outputs_Raw: print(output) moduleLabel = output['moduleLabel'] selectEvents = output.get('selectEvents', None) maxSize = output.get('maxSize', None) outputModule = cms.OutputModule( "PoolOutputModule", fileName = cms.untracked.string("%s.root" % moduleLabel) ) outputModule.dataset = cms.untracked.PSet(dataTier = cms.untracked.string("RAW")) if maxSize != None: outputModule.maxSize = cms.untracked.int32(maxSize) if selectEvents != None: outputModule.SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring(selectEvents) ) outputModule.outputCommands = cms.untracked.vstring('drop *', 'keep *_*_*_HLT') setattr(process, moduleLabel, outputModule) # outputModule=getattr(self.process,theModuleLabel) setattr(process, moduleLabel+'_step', cms.EndPath(outputModule)) path = getattr(process, moduleLabel+'_step') process.schedule.append(path) return process
process.RAWSIMoutput_step = cms.EndPath(process.RAWSIMoutput) # Schedule definition process.schedule = cms.Schedule( process.generation_step, process.genfiltersummary_step, process.simulation_step, process.endjob_step, #process.LHEoutput_step, process.RAWSIMoutput_step) # filter all path with the production filter sequence for path in process.paths: getattr(process, path)._seq = process.generator * getattr(process, path)._seq # customisation of the process. # Automatic addition of the customisation function from Configuration.DataProcessing.Utils from Configuration.DataProcessing.Utils import addMonitoring #call to customisation function addMonitoring imported from Configuration.DataProcessing.Utils process = addMonitoring(process) # Automatic addition of the customisation function from SLHCUpgradeSimulations.Configuration.postLS1Customs from SLHCUpgradeSimulations.Configuration.postLS1Customs import customisePostLS1 #call to customisation function customisePostLS1 imported from SLHCUpgradeSimulations.Configuration.postLS1Customs process = customisePostLS1(process) # End of customisation functions
def expressProcessing(self, globalTag, **args): """ _expressProcessing_ Proton collision data taking express processing """ skims = [] if 'skims' in args: skims = args['skims'] pclWkflws = [x for x in skims if "PromptCalibProd" in x] for wfl in pclWkflws: skims.remove(wfl) options = Options() options.__dict__.update(defaultOptions.__dict__) options.scenario = "pp" options.step = stepALCAPRODUCER(skims) if 'outputs' in args: # the RAW data-tier needs a special treatment since the event-content as defined in release is not good enough outputs_Raw = [ x for x in args['outputs'] if x['dataTier'] == 'RAW' ] outputs_noRaw = [ x for x in args['outputs'] if x['dataTier'] != 'RAW' ] if len(outputs_Raw) == 1: print('RAW data-tier requested') options.outputDefinition = outputs_noRaw.__str__() options.conditions = gtNameAndConnect(globalTag, args) options.filein = 'tobeoverwritten.xyz' if 'inputSource' in args: options.filetype = args['inputSource'] process = cms.Process('RECO', self.eras) if 'customs' in args: options.customisation_file = args['customs'] cb = ConfigBuilder(options, process=process, with_output=True, with_input=True) cb.prepare() addMonitoring(process) for output in outputs_Raw: print(output) moduleLabel = output['moduleLabel'] selectEvents = output.get('selectEvents', None) maxSize = output.get('maxSize', None) outputModule = cms.OutputModule("PoolOutputModule", fileName=cms.untracked.string( "%s.root" % moduleLabel)) outputModule.dataset = cms.untracked.PSet( dataTier=cms.untracked.string("RAW")) if maxSize != None: outputModule.maxSize = cms.untracked.int32(maxSize) if selectEvents != None: outputModule.SelectEvents = cms.untracked.PSet( SelectEvents=cms.vstring(selectEvents)) outputModule.outputCommands = cms.untracked.vstring( 'drop *', 'keep *_*_*_HLT') setattr(process, moduleLabel, outputModule) # outputModule=getattr(self.process,theModuleLabel) setattr(process, moduleLabel + '_step', cms.EndPath(outputModule)) path = getattr(process, moduleLabel + '_step') process.schedule.append(path) return process