Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-03-26 01:51:05

0001 import FWCore.ParameterSet.Config as cms
0002 import sys
0003 
0004 from Configuration.Eras.Era_Run3_cff import Run3
0005 process = cms.Process("CASTORDQM", Run3)
0006 
0007 unitTest=False
0008 if 'unitTest=True' in sys.argv:
0009     unitTest=True
0010 
0011 #=================================
0012 # Event Source
0013 #================================+
0014 
0015 if unitTest:
0016     process.load("DQM.Integration.config.unittestinputsource_cfi")
0017     from DQM.Integration.config.unittestinputsource_cfi import options
0018 else:
0019     # for live online DQM in P5
0020     process.load("DQM.Integration.config.inputsource_cfi")
0021     from DQM.Integration.config.inputsource_cfi import options
0022 
0023 # for testing in lxplus
0024 #process.load("DQM.Integration.config.fileinputsource_cfi")
0025 #from DQM.Integration.config.fileinputsource_cfi import options
0026 
0027 #================================
0028 # DQM Environment
0029 #================================
0030 
0031 process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
0032 
0033 process.load("DQM.Integration.config.environment_cfi")
0034 process.dqmEnv.subSystemFolder = "Castor"
0035 process.dqmSaver.tag = "Castor"
0036 process.dqmSaver.runNumber = options.runNumber
0037 # process.dqmSaverPB.tag = "Castor"
0038 # process.dqmSaverPB.runNumber = options.runNumber
0039 
0040 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0041 
0042 #process.source = cms.Source("PoolSource",
0043 #                            fileNames = cms.untracked.vstring(
0044 #'file:/eos/user/p/popov/rundata/Castor2018/525D2460-6A90-E811-RAWrun320317.root'),
0045 #                            )
0046 
0047 #============================================
0048 # Castor Conditions: from Global Conditions Tag 
0049 #============================================
0050 process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0051 ##
0052 #from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
0053 #process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run3_data', '')
0054 
0055 #-----------------------------
0056 # Castor DQM Source + SimpleReconstrctor
0057 #-----------------------------
0058 ###process.load("RecoLocalCalo.CastorReco.CastorSimpleReconstructor_cfi")
0059 process.castorreco = cms.EDProducer("CastorSimpleReconstructor",
0060                                     correctionPhaseNS = cms.double(0.0),
0061                                     digiLabel = cms.InputTag("castorDigis"),
0062                                     samplesToAdd = cms.int32(10),
0063                                     Subdetector = cms.string('CASTOR'),
0064                                     firstSample = cms.int32(0),
0065                                     correctForPhaseContainment = cms.bool(False),
0066                                     correctForTimeslew = cms.bool(False),
0067                                     tsFromDB = cms.bool(False), #True
0068                                     setSaturationFlag = cms.bool(True),
0069                                     maxADCvalue = cms.int32(127),
0070                                     doSaturationCorr = cms.bool(False) #True
0071 )
0072 ###process.castorreco.tsFromDB = cms.untracked.bool(False)
0073 process.load('RecoLocalCalo.Castor.Castor_cff') #castor tower and jet reconstruction
0074 
0075 from EventFilter.CastorRawToDigi.CastorRawToDigi_cff import *
0076 process.castorDigis = castorDigis.clone()
0077 
0078 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
0079 process.castorMonitor = DQMEDAnalyzer("CastorMonitorModule",
0080    ### GLOBAL VARIABLES
0081    debug = cms.untracked.int32(0), #(=0 - no messages)
0082    # Turn on/off timing diagnostic
0083    showTiming          = cms.untracked.bool(False),
0084    # Define Labels
0085    l1tStage2uGtSource = cms.InputTag("gtStage2Digis"),
0086    tagTriggerResults   = cms.InputTag('TriggerResults','','HLT'),
0087    HltPaths  = cms.vstring("HLT_ZeroBias","HLT_Random"),
0088    digiLabel            = cms.InputTag("castorDigis"),
0089    rawLabel             = cms.InputTag("rawDataCollector"),
0090    unpackerReportLabel  = cms.InputTag("castorDigis"),
0091    CastorRecHitLabel    = cms.InputTag("castorreco"),
0092    CastorTowerLabel     = cms.InputTag("CastorTowerReco"),
0093    CastorBasicJetsLabel = cms.InputTag("ak7CastorJets"),
0094    CastorJetIDLabel     = cms.InputTag("ak7CastorJetID"),
0095    DataIntMonitor= cms.untracked.bool(True),
0096    TowerJetMonitor= cms.untracked.bool(True),
0097    DigiMonitor = cms.untracked.bool(True),
0098    RecHitMonitor = cms.untracked.bool(True),
0099 #  LEDMonitor = cms.untracked.bool(True),
0100 #  LEDPerChannel = cms.untracked.bool(True),
0101    FirstSignalBin = cms.untracked.int32(0),
0102    LastSignalBin = cms.untracked.int32(9)
0103 )
0104 
0105 #-----------------------------
0106 # Scheduling
0107 #-----------------------------
0108 process.options = cms.untracked.PSet(
0109     Rethrow = cms.untracked.vstring('ProductNotFound', 
0110         'TooManyProducts', 
0111         'TooFewProducts')
0112 )
0113 
0114 # castorDigis   -> CastorRawToDigi_cfi
0115 # castorreco    -> CastorSimpleReconstructor_cfi
0116 # castorMonitor -> CastorMonitorModule_cfi
0117 
0118 process.p = cms.Path(process.castorDigis*process.castorreco*process.castorMonitor*process.dqmEnv*process.dqmSaver)#*process.dqmSaverPB)
0119 #process.p = cms.Path(process.castorDigis*process.castorMonitor*process.dqmEnv*process.dqmSaver)#*process.dqmSaverPB)
0120 #process.p = cms.Path(process.castorMonitor*process.dqmEnv*process.dqmSaver)#*process.dqmSaverPB)
0121 
0122 
0123 process.castorDigis.InputLabel = "rawDataCollector"
0124 process.castorMonitor.rawLabel = "rawDataCollector"
0125     
0126 #--------------------------------------------------
0127 # Heavy Ion Specific Fed Raw Data Collection Label
0128 #--------------------------------------------------
0129 
0130 print("Running with run type = ", process.runType.getRunTypeName())
0131 
0132 if (process.runType.getRunType() == process.runType.hi_run):
0133     process.castorDigis.InputLabel = "rawDataRepacker"
0134     process.castorMonitor.rawLabel = "rawDataRepacker"
0135 
0136 
0137 ### process customizations included here
0138 from DQM.Integration.config.online_customizations_cfi import *
0139 process = customise(process)
0140 print("Global Tag used:", process.GlobalTag.globaltag.value())
0141 print("Final Source settings:", process.source)
0142 
0143