File indexing completed on 2023-03-17 10:48:53
0001
0002 """
0003 _DataScouting_
0004
0005 Scenario supporting proton collisions data scouting
0006 Inheriting to reco.
0007 Really against OO principles, but pragmatism should prevale, I guess.
0008 """
0009
0010 import os
0011 import sys
0012
0013 from Configuration.DataProcessing.Scenario import *
0014 from Configuration.DataProcessing.Utils import stepALCAPRODUCER,addMonitoring,dictIO,dqmIOSource,harvestingMode,dqmSeq,gtNameAndConnect
0015 import FWCore.ParameterSet.Config as cms
0016 from Configuration.DataProcessing.RecoTLR import customisePrompt,customiseExpress
0017
0018 class DataScouting(Scenario):
0019 def __init__(self):
0020 Scenario.__init__(self)
0021 """
0022 _DataScouting_
0023
0024 Implement configuration building for data processing for proton
0025 collision data taking
0026
0027 """
0028
0029 def promptReco(self, globalTag, **args):
0030 """
0031 _promptReco_
0032
0033 Collision data, data scouting (dst stream).
0034 This method provides the scheleton process for the dataScouting.
0035 dpiparo 17-7-2012
0036 I follow the structure of the package.
0037 """
0038 options = Options()
0039 options.scenario = 'pp'
0040 options.__dict__.update(defaultOptions.__dict__)
0041 options.step = 'DQM:DQM/DataScouting/dataScouting_cff.dataScoutingDQMSequence,ENDJOB'
0042 dictIO(options,args)
0043 options.conditions = gtNameAndConnect(globalTag, args)
0044
0045 process = cms.Process('DataScouting', self.eras)
0046 cb = ConfigBuilder(options, process = process, with_output = True)
0047
0048
0049 process.source = cms.Source("PoolSource",
0050 fileNames = cms.untracked.vstring()
0051 )
0052 cb.prepare()
0053
0054 return process
0055
0056 def dqmHarvesting(self, datasetName, runNumber, globalTag, **args):
0057 """
0058 _dqmHarvesting_
0059
0060 Proton collisions data taking DQM Harvesting
0061
0062 """
0063 options = defaultOptions
0064 options.scenario = 'pp'
0065 options.step = "HARVESTING"+dqmSeq(args,':DQMOffline')
0066 options.name = "EDMtoMEConvert"
0067 options.conditions = gtNameAndConnect(globalTag, args)
0068
0069 process = cms.Process("HARVESTING", self.eras)
0070 process.source = dqmIOSource(args)
0071 configBuilder = ConfigBuilder(options, process = process)
0072 configBuilder.prepare()
0073
0074 harvestingMode(process,datasetName,args,rANDl=False)
0075 return process