Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:48:53

0001 #!/usr/bin/env python3
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         # Input source
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