Go to the documentation of this file.00001
00002 """
00003 _hcalnzs_
00004
00005 Scenario supporting proton collisions
00006
00007 """
00008
00009 import os
00010 import sys
00011
00012 from Configuration.DataProcessing.Scenario import Scenario
00013 from Configuration.DataProcessing.Utils import stepALCAPRODUCER
00014 import FWCore.ParameterSet.Config as cms
00015 from Configuration.PyReleaseValidation.ConfigBuilder import ConfigBuilder
00016 from Configuration.PyReleaseValidation.ConfigBuilder import Options
00017 from Configuration.PyReleaseValidation.ConfigBuilder import defaultOptions
00018 from Configuration.PyReleaseValidation.ConfigBuilder import installFilteredStream
00019 from Configuration.DataProcessing.RecoTLR import customisePrompt
00020
00021 class hcalnzs(Scenario):
00022 """
00023 _hcalnzs_
00024
00025 Implement configuration building for data processing for proton
00026 collision data taking
00027
00028 """
00029
00030
00031 def promptReco(self, globalTag, writeTiers = ['RECO'], **args):
00032 """
00033 _promptReco_
00034
00035 Proton collision data taking prompt reco
00036
00037 """
00038
00039 skims = ['HcalCalMinBias']
00040 step = stepALCAPRODUCER(skims)
00041 options = Options()
00042 options.__dict__.update(defaultOptions.__dict__)
00043 options.scenario = "pp"
00044 options.step = 'RAW2DIGI,L1Reco,RECO:reconstruction_HcalNZS'+step+',DQM,ENDJOB'
00045 options.isMC = False
00046 options.isData = True
00047 options.beamspot = None
00048 options.eventcontent = ','.join(writeTiers)
00049 options.datatier = ','.join(writeTiers)
00050 options.magField = 'AutoFromDBCurrent'
00051 options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
00052 options.relval = False
00053
00054 process = cms.Process('RECO')
00055 cb = ConfigBuilder(options, process = process, with_output = True)
00056
00057
00058 process.source = cms.Source("PoolSource",
00059 fileNames = cms.untracked.vstring()
00060 )
00061 cb.prepare()
00062
00063
00064
00065 customisePrompt(process)
00066
00067 return process
00068
00069
00070 def alcaSkim(self, skims, **args):
00071 """
00072 _alcaSkim_
00073
00074 AlcaReco processing & skims for proton collisions
00075
00076 """
00077
00078 globalTag = None
00079 if 'globaltag' in args:
00080 globalTag = args['globaltag']
00081
00082 step = "ALCAOUTPUT:"
00083 for skim in skims:
00084 step += (skim+"+")
00085 options = Options()
00086 options.__dict__.update(defaultOptions.__dict__)
00087 options.scenario = "pp"
00088 options.step = step.rstrip('+')
00089 options.isMC = False
00090 options.isData = True
00091 options.beamspot = None
00092 options.eventcontent = None
00093 options.relval = None
00094 if globalTag != None :
00095 options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
00096 options.triggerResultsProcess = 'RECO'
00097
00098 process = cms.Process('ALCA')
00099 cb = ConfigBuilder(options, process = process)
00100
00101
00102 process.source = cms.Source(
00103 "PoolSource",
00104 fileNames = cms.untracked.vstring()
00105 )
00106
00107 cb.prepare()
00108
00109 return process
00110
00111
00112 def dqmHarvesting(self, datasetName, runNumber, globalTag, **args):
00113 """
00114 _dqmHarvesting_
00115
00116 Proton collisions data taking DQM Harvesting
00117
00118 """
00119 options = defaultOptions
00120 options.scenario = "pp"
00121 options.step = "HARVESTING:dqmHarvesting"
00122 options.isMC = False
00123 options.isData = True
00124 options.beamspot = None
00125 options.eventcontent = None
00126 options.name = "EDMtoMEConvert"
00127 options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
00128 options.arguments = ""
00129 options.evt_type = ""
00130 options.filein = []
00131
00132 process = cms.Process("HARVESTING")
00133 process.source = cms.Source("PoolSource")
00134 configBuilder = ConfigBuilder(options, process = process)
00135 configBuilder.prepare()
00136
00137
00138
00139
00140 process.source.processingMode = cms.untracked.string('RunsAndLumis')
00141 process.source.fileNames = cms.untracked(cms.vstring())
00142 process.maxEvents.input = -1
00143 process.dqmSaver.workflow = datasetName
00144 if args.has_key('referenceFile') and args.get('referenceFile', ''):
00145 process.DQMStore.referenceFileName = \
00146 cms.untracked.string(args['referenceFile'])
00147
00148 return process