CMS 3D CMS Logo

Public Member Functions

Impl::HeavyIons::HeavyIons Class Reference

Inherits Configuration::DataProcessing::Scenario::Scenario.

List of all members.

Public Member Functions

def alcaHarvesting
def alcaSkim
def dqmHarvesting
def expressProcessing
def promptReco

Detailed Description

_HeavyIons_

Implement configuration building for data processing for 
heavy-ion collision data taking

Definition at line 22 of file HeavyIons.py.


Member Function Documentation

def Impl::HeavyIons::HeavyIons::alcaHarvesting (   self,
  globalTag,
  datasetName,
  args 
)
_alcaHarvesting_

Heavy-ion collisions data taking AlCa Harvesting

Definition at line 202 of file HeavyIons.py.

00203                                                             :
00204         """
00205         _alcaHarvesting_
00206 
00207         Heavy-ion collisions data taking AlCa Harvesting
00208 
00209         """
00210         options = defaultOptions
00211         options.scenario = "HeavyIons"
00212         options.step = "ALCAHARVEST:BeamSpotByRun+BeamSpotByLumi"
00213         options.isMC = False
00214         options.isData = True
00215         options.beamspot = None
00216         options.eventcontent = None
00217         options.name = "ALCAHARVEST"
00218         options.conditions = globalTag
00219         options.arguments = ""
00220         options.evt_type = ""
00221         options.filein = []
00222  
00223         process = cms.Process("ALCAHARVEST")
00224         process.source = cms.Source("PoolSource")
00225         configBuilder = ConfigBuilder(options, process = process)
00226         configBuilder.prepare()
00227 
00228         #
00229         # customise process for particular job
00230         #
00231         process.source.processingMode = cms.untracked.string('RunsAndLumis')
00232         process.source.fileNames = cms.untracked(cms.vstring())
00233         process.maxEvents.input = -1
00234         process.dqmSaver.workflow = datasetName
00235         
00236         return process
00237 
def Impl::HeavyIons::HeavyIons::alcaSkim (   self,
  skims,
  args 
)
_alcaSkim_

AlcaReco processing & skims for heavy-ion collisions

Definition at line 103 of file HeavyIons.py.

00104                                      :
00105         """
00106         _alcaSkim_
00107 
00108         AlcaReco processing & skims for heavy-ion collisions
00109 
00110         """
00111 
00112         globalTag = None
00113         if 'globaltag' in args:
00114             globalTag = args['globaltag']
00115 
00116         step = ""
00117         if 'PromptCalibProd' in skims:
00118             step = "ALCA:PromptCalibProd" 
00119             skims.remove('PromptCalibProd')
00120         
00121         if len( skims ) > 0:
00122             if step != "":
00123                 step += ","
00124             step += "ALCAOUTPUT:"
00125                 
00126         for skim in skims:
00127           step += (skim+"+")
00128         options = Options()
00129         options.__dict__.update(defaultOptions.__dict__)
00130         options.scenario = "HeavyIons"
00131         options.step = step.rstrip('+')
00132         options.isMC = False
00133         options.isData = True
00134         options.beamspot = None
00135         options.eventcontent = None
00136         options.relval = None
00137         if globalTag != None :
00138             options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
00139         options.triggerResultsProcess = 'RECO'
00140         
00141         process = cms.Process('ALCA')
00142         cb = ConfigBuilder(options, process = process)
00143 
00144         # Input source
00145         process.source = cms.Source(
00146            "PoolSource",
00147            fileNames = cms.untracked.vstring()
00148         )
00149 
00150         cb.prepare() 
00151 
00152         # FIXME: dirty hack..any way around this?
00153         # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier
00154         if 'PromptCalibProd' in step:
00155             process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string('ALCAPROMPT')
00156 
00157         return process
00158 

def Impl::HeavyIons::HeavyIons::dqmHarvesting (   self,
  datasetName,
  runNumber,
  globalTag,
  args 
)
_dqmHarvesting_

Heavy-ion collisions data taking DQM Harvesting

Definition at line 159 of file HeavyIons.py.

00160                                                                       :
00161         """
00162         _dqmHarvesting_
00163 
00164         Heavy-ion collisions data taking DQM Harvesting
00165 
00166         """
00167         options = defaultOptions
00168         options.scenario = "HeavyIons"
00169         options.step = "HARVESTING:dqmHarvesting"
00170         options.isMC = False
00171         options.isData = True
00172         options.beamspot = None
00173         options.eventcontent = None
00174         options.name = "EDMtoMEConvert"
00175         options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
00176         options.arguments = ""
00177         options.evt_type = ""
00178         options.filein = []
00179  
00180         process = cms.Process("HARVESTING")
00181         if args.get('newDQMIO', False):
00182             process.source = cms.Source("DQMRootSource")
00183         else:
00184             process.source = cms.Source("PoolSource")
00185         configBuilder = ConfigBuilder(options, process = process)
00186         configBuilder.prepare()
00187 
00188         #
00189         # customise process for particular job
00190         #
00191         process.source.processingMode = cms.untracked.string('RunsAndLumis')
00192         process.source.fileNames = cms.untracked(cms.vstring())
00193         process.maxEvents.input = -1
00194         process.dqmSaver.workflow = datasetName
00195         process.dqmSaver.saveByLumiSection = 1
00196         if args.has_key('referenceFile') and args.get('referenceFile', ''):
00197             process.DQMStore.referenceFileName = \
00198                                 cms.untracked.string(args['referenceFile'])
00199 
00200         return process
00201 

def Impl::HeavyIons::HeavyIons::expressProcessing (   self,
  globalTag,
  args 
)
_expressProcessing_

Heavy-ion collision data taking express processing

Definition at line 69 of file HeavyIons.py.

00070                                                   :
00071         """
00072         _expressProcessing_
00073 
00074         Heavy-ion collision data taking express processing
00075 
00076         """
00077 
00078         skims = ['SiStripCalZeroBias',
00079                  'TkAlMinBiasHI']
00080         step = stepALCAPRODUCER(skims)
00081         options = Options()
00082         options.__dict__.update(defaultOptions.__dict__)
00083         options.scenario = "HeavyIons"
00084         options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM,ENDJOB'
00085         options.isRepacked = True
00086         dictIO(options,args)
00087         options.conditions = globalTag
00088         
00089         process = cms.Process('RECO')
00090         cb = ConfigBuilder(options, process = process, with_output=True)
00091 
00092         # Input source
00093         process.source = cms.Source("NewEventStreamFileReader",
00094             fileNames = cms.untracked.vstring()
00095         )
00096         cb.prepare() 
00097 
00098         customiseExpressHI(process)
00099         addMonitoring(process)
00100         
00101         return process
00102 

def Impl::HeavyIons::HeavyIons::promptReco (   self,
  globalTag,
  args 
)
_promptReco_

Heavy-ion collision data taking prompt reco

Definition at line 32 of file HeavyIons.py.

00033                                            :
00034         """
00035         _promptReco_
00036 
00037         Heavy-ion collision data taking prompt reco
00038 
00039         """
00040 
00041         skims = ['SiStripCalZeroBias',
00042                  'SiStripCalMinBias',
00043                  'TkAlMinBiasHI',
00044                  'HcalCalMinBias',
00045                  'DtCalibHI']
00046         step = stepALCAPRODUCER(skims)
00047         options = Options()
00048         options.__dict__.update(defaultOptions.__dict__)
00049         options.scenario = "HeavyIons"
00050         options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM,ENDJOB'
00051         options.isRepacked = True
00052         dictIO(options,args)
00053         options.conditions = globalTag
00054         
00055         process = cms.Process('RECO')
00056         cb = ConfigBuilder(options, process = process, with_output=True)
00057 
00058         # Input source
00059         process.source = cms.Source("PoolSource",
00060             fileNames = cms.untracked.vstring()
00061         )
00062         cb.prepare()
00063 
00064         customisePromptHI(process)
00065         addMonitoring(process)
00066         
00067         return process
00068