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,
  args 
)
_alcaHarvesting_

Heavy-ion collisions data taking AlCa Harvesting

Definition at line 212 of file HeavyIons.py.

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

AlcaReco processing & skims for heavy-ion collisions

Definition at line 116 of file HeavyIons.py.

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

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

Heavy-ion collisions data taking DQM Harvesting

Definition at line 172 of file HeavyIons.py.

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

def Impl::HeavyIons::HeavyIons::expressProcessing (   self,
  globalTag,
  writeTiers = [],
  args 
)
_expressProcessing_

Heavy-ion collision data taking express processing

Definition at line 75 of file HeavyIons.py.

00076                                                                    :
00077         """
00078         _expressProcessing_
00079 
00080         Heavy-ion collision data taking express processing
00081 
00082         """
00083 
00084         skims = ['SiStripCalZeroBias',
00085                  'TkAlMinBiasHI']
00086         step = stepALCAPRODUCER(skims)
00087         options = Options()
00088         options.__dict__.update(defaultOptions.__dict__)
00089         options.scenario = "HeavyIons"
00090         options.step = 'RAW2DIGI,L1Reco,RECO'+step+',L1HwVal,DQM,ENDJOB'
00091         options.isMC = False
00092         options.isData = True
00093         options.beamspot = None
00094         options.eventcontent = None
00095         options.magField = 'AutoFromDBCurrent'
00096         options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
00097         options.relval = False
00098         
00099         process = cms.Process('RECO')
00100         cb = ConfigBuilder(options, process = process)
00101 
00102         # Input source
00103         process.source = cms.Source("NewEventStreamFileReader",
00104             fileNames = cms.untracked.vstring()
00105         )
00106         cb.prepare() 
00107 
00108         for tier in writeTiers: 
00109           addOutputModule(process, tier, tier)
00110           
00111         #add the former top level patches here
00112         customiseExpressHI(process)
00113         
00114         return process
00115 

def Impl::HeavyIons::HeavyIons::promptReco (   self,
  globalTag,
  writeTiers = ['RECO'],
  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         step = stepALCAPRODUCER(skims)
00046         options = Options()
00047         options.__dict__.update(defaultOptions.__dict__)
00048         options.scenario = "HeavyIons"
00049         options.step = 'RAW2DIGI,L1Reco,RECO'+step+',L1HwVal,DQM,ENDJOB'
00050         options.isMC = False
00051         options.isData = True
00052         options.beamspot = None
00053         options.eventcontent = None
00054         options.magField = 'AutoFromDBCurrent'
00055         options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
00056         options.relval = False
00057         
00058         process = cms.Process('RECO')
00059         cb = ConfigBuilder(options, process = process)
00060 
00061         # Input source
00062         process.source = cms.Source("PoolSource",
00063             fileNames = cms.untracked.vstring()
00064         )
00065         cb.prepare()
00066 
00067         for tier in writeTiers: 
00068           addOutputModule(process, tier, tier)
00069           
00070         #add the former top level patches here
00071         customisePromptHI(process)
00072         
00073         return process
00074