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 17 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 197 of file HeavyIons.py.

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

AlcaReco processing & skims for heavy-ion collisions

Definition at line 98 of file HeavyIons.py.

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

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

Heavy-ion collisions data taking DQM Harvesting

Definition at line 154 of file HeavyIons.py.

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

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

Heavy-ion collision data taking express processing

Definition at line 64 of file HeavyIons.py.

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

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

Heavy-ion collision data taking prompt reco

Definition at line 27 of file HeavyIons.py.

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