CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/Configuration/DataProcessing/python/Impl/hcalnzs.py

Go to the documentation of this file.
00001 #!/usr/bin/env python
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         # Input source
00058         process.source = cms.Source("PoolSource",
00059             fileNames = cms.untracked.vstring()
00060         )
00061         cb.prepare()
00062 
00063 
00064         #add the former top level patches here
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         # Input source
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         # customise process for particular job
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