Skip to content

Commit 8ba8d41

Browse files
authored
Merge pull request cms-sw#33085 from dildick/from-CMSSW_11_3_X_2021-03-04-2300-akhter-towsifa0-csc-dqm
Data vs emulator plots in CSC DQM [11_3_X]
2 parents e4e9af0 + 6ac28c7 commit 8ba8d41

File tree

14 files changed

+595
-107
lines changed

14 files changed

+595
-107
lines changed

DQM/Integration/python/clients/l1tstage2emulator_dqm_sourceclient-live_cfg.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,12 @@
5151
#--------------------------------------------------
5252
# Standard Unpacking Path
5353

54-
process.load("Configuration.StandardSequences.RawToDigi_Data_cff")
54+
process.load("Configuration.StandardSequences.RawToDigi_Data_cff")
5555

5656
# remove unneeded unpackers
5757
process.RawToDigi.remove(process.ecalDigis)
5858
process.RawToDigi.remove(process.ecalPreshowerDigis)
5959
process.RawToDigi.remove(process.hcalDigis)
60-
process.RawToDigi.remove(process.muonCSCDigis)
6160
process.RawToDigi.remove(process.muonDTDigis)
6261
process.RawToDigi.remove(process.siPixelDigis)
6362
process.RawToDigi.remove(process.siStripDigis)
@@ -168,7 +167,7 @@
168167
#--------------------------------------------------
169168
# L1T Emulator Online DQM Schedule
170169

171-
process.schedule = cms.Schedule(
170+
process.schedule = cms.Schedule(
172171
process.rawToDigiPath,
173172
process.l1tEmulatorMonitorPath,
174173
process.l1tStage2EmulatorMonitorClientPath,

DQM/Integration/test/runtest.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set -e
33
set -x
44

55
if [[ $# -eq 0 ]]; then
6-
echo "Please provide a name of the clinet"
6+
echo "Please provide a name of the client"
77
exit 1
88
fi
99

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#ifndef DQM_L1TMonitor_L1TdeCSCTPG_h
2+
#define DQM_L1TMonitor_L1TdeCSCTPG_h
3+
4+
#include "FWCore/Framework/interface/Event.h"
5+
#include "FWCore/MessageLogger/interface/MessageLogger.h"
6+
#include "FWCore/ParameterSet/interface/ParameterSet.h"
7+
8+
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
9+
#include "DQMServices/Core/interface/DQMStore.h"
10+
11+
#include "DataFormats/CSCDigi/interface/CSCALCTDigiCollection.h"
12+
#include "DataFormats/CSCDigi/interface/CSCCLCTDigiCollection.h"
13+
#include "DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h"
14+
15+
class L1TdeCSCTPG : public DQMEDAnalyzer {
16+
public:
17+
L1TdeCSCTPG(const edm::ParameterSet& ps);
18+
~L1TdeCSCTPG() override;
19+
20+
protected:
21+
void bookHistograms(DQMStore::IBooker&, const edm::Run&, const edm::EventSetup&) override;
22+
void analyze(const edm::Event&, const edm::EventSetup&) override;
23+
24+
private:
25+
edm::EDGetTokenT<CSCALCTDigiCollection> dataALCT_token_;
26+
edm::EDGetTokenT<CSCALCTDigiCollection> emulALCT_token_;
27+
edm::EDGetTokenT<CSCCLCTDigiCollection> dataCLCT_token_;
28+
edm::EDGetTokenT<CSCCLCTDigiCollection> emulCLCT_token_;
29+
edm::EDGetTokenT<CSCCorrelatedLCTDigiCollection> dataLCT_token_;
30+
edm::EDGetTokenT<CSCCorrelatedLCTDigiCollection> emulLCT_token_;
31+
std::string monitorDir_;
32+
33+
std::vector<std::string> chambers_;
34+
std::vector<std::string> dataEmul_;
35+
36+
std::vector<std::string> alctVars_;
37+
std::vector<std::string> clctVars_;
38+
std::vector<std::string> lctVars_;
39+
40+
std::vector<unsigned> alctNBin_;
41+
std::vector<unsigned> clctNBin_;
42+
std::vector<unsigned> lctNBin_;
43+
std::vector<double> alctMinBin_;
44+
std::vector<double> clctMinBin_;
45+
std::vector<double> lctMinBin_;
46+
std::vector<double> alctMaxBin_;
47+
std::vector<double> clctMaxBin_;
48+
std::vector<double> lctMaxBin_;
49+
50+
// first key is the chamber number
51+
// second key is the variable
52+
std::map<uint32_t, std::map<std::string, MonitorElement*> > chamberHistos;
53+
};
54+
55+
#endif

DQM/L1TMonitor/plugins/SealModule.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ DEFINE_FWK_MODULE(L1TdeStage2CaloLayer1);
9898
#include "DQM/L1TMonitor/interface/L1TdeGEMTPG.h"
9999
DEFINE_FWK_MODULE(L1TdeGEMTPG);
100100

101+
#include "DQM/L1TMonitor/interface/L1TdeCSCTPG.h"
102+
DEFINE_FWK_MODULE(L1TdeCSCTPG);
103+
101104
#include "DQM/L1TMonitor/interface/L1TdeCSCTF.h"
102105
DEFINE_FWK_MODULE(L1TdeCSCTF);
103106

DQM/L1TMonitor/python/L1TEmulatorMonitor_cff.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
l1TdeRCTfromRCT.rctSourceData = 'rctDigis'
4747
l1TdeRCTfromRCT.HistFolder = cms.untracked.string('L1TEMU/L1TdeRCT_FromRCT')
4848

49+
from DQM.L1TMonitor.L1TdeCSCTPG_cfi import *
50+
4951
from DQM.L1TMonitor.L1TdeCSCTF_cfi import *
5052

5153
from DQM.L1TMonitor.L1GtHwValidation_cff import *
@@ -67,7 +69,7 @@
6769

6870
############################################################
6971

70-
# GMT unpack from Fed813 in legacy stage1 parallel running
72+
# GMT unpack from Fed813 in legacy stage1 parallel running
7173
from EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi import *
7274
l1GtUnpack.DaqGtInputTag = 'rawDataCollector'
7375

@@ -78,11 +80,12 @@
7880
)
7981

8082
l1ExpertDataVsEmulator = cms.Sequence(
81-
l1TdeGCT +
82-
l1TdeCSCTF +
83-
l1GtHwValidation +
84-
l1TdeRCTRun1
85-
)
83+
l1TdeGCT +
84+
l1tdeCSCTPG +
85+
l1TdeCSCTF +
86+
l1GtHwValidation +
87+
l1TdeRCTRun1
88+
)
8689

8790

8891
l1EmulatorMonitorTask = cms.Task(
@@ -116,7 +119,7 @@
116119

117120
l1EmulatorMonitorStage1 = cms.Sequence(
118121
#caloStage1Digis*
119-
#caloStage1LegacyFormatDigis*
122+
#caloStage1LegacyFormatDigis*
120123
l1demonstage1+
121124
l1ExpertDataVsEmulatorStage1
122125
)

DQM/L1TMonitor/python/L1TStage2Emulator_cff.py

Lines changed: 68 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,89 +7,102 @@
77
from L1Trigger.L1TCalorimeter.simDigis_cff import *
88
# CaloLayer1
99
from L1Trigger.L1TCaloLayer1.simCaloStage2Layer1Digis_cfi import simCaloStage2Layer1Digis
10-
valCaloStage2Layer1Digis = simCaloStage2Layer1Digis.clone()
11-
valCaloStage2Layer1Digis.ecalToken = cms.InputTag("caloLayer1Digis")
12-
valCaloStage2Layer1Digis.hcalToken = cms.InputTag("caloLayer1Digis")
13-
valCaloStage2Layer1Digis.unpackEcalMask = cms.bool(True)
14-
valCaloStage2Layer1Digis.unpackHcalMask = cms.bool(True)
10+
valCaloStage2Layer1Digis = simCaloStage2Layer1Digis.clone(
11+
ecalToken = "caloLayer1Digis",
12+
hcalToken = "caloLayer1Digis",
13+
unpackEcalMask = True,
14+
unpackHcalMask = True
15+
)
1516

1617
# CaloLayer2
1718
from L1Trigger.L1TCalorimeter.simCaloStage2Digis_cfi import simCaloStage2Digis
18-
valCaloStage2Layer2Digis = simCaloStage2Digis.clone()
19-
valCaloStage2Layer2Digis.towerToken = cms.InputTag("caloStage2Digis", "CaloTower")
19+
valCaloStage2Layer2Digis = simCaloStage2Digis.clone(towerToken = "caloStage2Digis:CaloTower")
2020

2121
# BMTF-Legacy
2222
from L1Trigger.L1TMuonBarrel.simBmtfDigis_cfi import *
23-
valBmtfDigis = simBmtfDigis.clone()
24-
valBmtfDigis.DTDigi_Source = cms.InputTag("bmtfDigis")
25-
valBmtfDigis.DTDigi_Theta_Source = cms.InputTag("bmtfDigis")
23+
valBmtfDigis = simBmtfDigis.clone(
24+
DTDigi_Source = "bmtfDigis",
25+
DTDigi_Theta_Source = "bmtfDigis"
26+
)
2627

2728
# BMTF-Kalman
2829
from L1Trigger.L1TMuonBarrel.simKBmtfDigis_cfi import *
2930
from L1Trigger.L1TMuonBarrel.simKBmtfStubs_cfi import *
30-
valKBmtfStubs = simKBmtfStubs.clone()
31-
valKBmtfStubs.srcPhi = cms.InputTag("bmtfDigis")
32-
valKBmtfStubs.srcTheta = cms.InputTag("bmtfDigis")
33-
valKBmtfDigis = simKBmtfDigis.clone()
34-
valKBmtfDigis.src = cms.InputTag("valKBmtfStubs")
31+
valKBmtfStubs = simKBmtfStubs.clone(
32+
srcPhi = "bmtfDigis",
33+
srcTheta = "bmtfDigis"
34+
)
35+
valKBmtfDigis = simKBmtfDigis.clone(src = "valKBmtfStubs")
3536

3637
# BMTF-AlgoTriggerSelector
3738
from DQM.L1TMonitor.L1TBMTFAlgoSelector_cfi import *
38-
valBmtfAlgoSel = l1tBmtfAlgoSelector.clone()
39-
valBmtfAlgoSel.bmtfKalman = cms.InputTag("valKBmtfDigis:BMTF")
40-
valBmtfAlgoSel.bmtfLegacy = cms.InputTag("valBmtfDigis:BMTF")
39+
valBmtfAlgoSel = l1tBmtfAlgoSelector.clone(
40+
bmtfKalman = "valKBmtfDigis:BMTF",
41+
bmtfLegacy = "valBmtfDigis:BMTF"
42+
)
4143

4244
# OMTF
4345
from L1Trigger.L1TMuonOverlap.simOmtfDigis_cfi import *
44-
valOmtfDigis = simOmtfDigis.clone()
45-
valOmtfDigis.srcDTPh = cms.InputTag('omtfStage2Digis')
46-
valOmtfDigis.srcDTTh = cms.InputTag('omtfStage2Digis')
47-
valOmtfDigis.srcCSC = cms.InputTag('omtfStage2Digis')
48-
valOmtfDigis.srcRPC = cms.InputTag('omtfStage2Digis')
46+
valOmtfDigis = simOmtfDigis.clone(
47+
srcDTPh = "omtfStage2Digis",
48+
srcDTTh = "omtfStage2Digis",
49+
srcCSC = "omtfStage2Digis",
50+
srcRPC = "omtfStage2Digis"
51+
)
4952

5053
# GEM TPG
5154
from L1Trigger.L1TGEM.simGEMDigis_cff import *
52-
valMuonGEMPadDigis = simMuonGEMPadDigis.clone()
53-
valMuonGEMPadDigis.InputCollection = cms.InputTag('muonGEMDigis')
54-
valMuonGEMPadDigiClusters = simMuonGEMPadDigiClusters.clone()
55-
valMuonGEMPadDigiClusters.InputCollection = cms.InputTag('valMuonGEMPadDigis')
55+
valMuonGEMPadDigis = simMuonGEMPadDigis.clone(InputCollection = "muonGEMDigis")
56+
valMuonGEMPadDigiClusters = simMuonGEMPadDigiClusters.clone(InputCollection = "valMuonGEMPadDigis")
57+
58+
# CSC TPG
59+
from L1Trigger.CSCTriggerPrimitives.cscTriggerPrimitiveDigis_cfi import *
60+
valCscStage2Digis = cscTriggerPrimitiveDigis.clone(
61+
CSCComparatorDigiProducer = "muonCSCDigis:MuonCSCComparatorDigi",
62+
CSCWireDigiProducer = "muonCSCDigis:MuonCSCWireDigi"
63+
)
64+
65+
from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
66+
run3_GEM.toModify( valCscStage2Digis, GEMPadDigiClusterProducer = "valMuonGEMPadDigiClusters" )
5667

5768
# EMTF
5869
from L1Trigger.L1TMuonEndCap.simEmtfDigis_cfi import *
59-
valEmtfStage2Digis = simEmtfDigis.clone()
60-
valEmtfStage2Digis.CSCInput = "emtfStage2Digis"
61-
valEmtfStage2Digis.RPCInput = "muonRPCDigis"
70+
valEmtfStage2Digis = simEmtfDigis.clone(
71+
CSCInput = "emtfStage2Digis",
72+
RPCInput = "muonRPCDigis"
73+
)
6274

6375
# uGMT
6476
from L1Trigger.L1TMuon.simGmtStage2Digis_cfi import *
65-
valGmtCaloSumDigis = simGmtCaloSumDigis.clone()
66-
valGmtCaloSumDigis.caloStage2Layer2Label = cms.InputTag("valCaloStage2Layer1Digis")
67-
valGmtStage2Digis = simGmtStage2Digis.clone()
68-
valGmtStage2Digis.barrelTFInput = cms.InputTag("gmtStage2Digis", "BMTF")
69-
valGmtStage2Digis.overlapTFInput = cms.InputTag("gmtStage2Digis", "OMTF")
70-
valGmtStage2Digis.forwardTFInput = cms.InputTag("gmtStage2Digis", "EMTF")
71-
valGmtStage2Digis.triggerTowerInput = cms.InputTag("valGmtCaloSumDigis", "TriggerTowerSums")
77+
valGmtCaloSumDigis = simGmtCaloSumDigis.clone(caloStage2Layer2Label = "valCaloStage2Layer1Digis")
78+
valGmtStage2Digis = simGmtStage2Digis.clone(
79+
barrelTFInput = "gmtStage2Digis:BMTF",
80+
overlapTFInput = "gmtStage2Digis:OMTF",
81+
forwardTFInput = "gmtStage2Digis:EMTF",
82+
triggerTowerInput = "valGmtCaloSumDigis:TriggerTowerSums"
83+
)
7284

7385
# uGT
7486
from L1Trigger.L1TGlobal.simGtStage2Digis_cfi import simGtStage2Digis
7587
from L1Trigger.L1TGlobal.simGtExtFakeProd_cfi import simGtExtFakeProd
7688

77-
valGtStage2Digis = simGtStage2Digis.clone()
78-
valGtStage2Digis.ExtInputTag = cms.InputTag("gtStage2Digis")
79-
valGtStage2Digis.MuonInputTag = cms.InputTag("gtStage2Digis", "Muon")
80-
valGtStage2Digis.EGammaInputTag = cms.InputTag("gtStage2Digis", "EGamma")
81-
valGtStage2Digis.TauInputTag = cms.InputTag("gtStage2Digis", "Tau")
82-
valGtStage2Digis.JetInputTag = cms.InputTag("gtStage2Digis", "Jet")
83-
valGtStage2Digis.EtSumInputTag = cms.InputTag("gtStage2Digis", "EtSum")
84-
valGtStage2Digis.AlgorithmTriggersUnmasked = cms.bool(False)
85-
valGtStage2Digis.AlgorithmTriggersUnprescaled = cms.bool(False)
86-
valGtStage2Digis.EmulateBxInEvent = cms.int32(5)
87-
valGtStage2Digis.PrescaleSet = cms.uint32(7)
88-
valGtStage2Digis.GetPrescaleColumnFromData = cms.bool(True)
89-
valGtStage2Digis.AlgoBlkInputTag = cms.InputTag("gtStage2Digis")
90-
89+
valGtStage2Digis = simGtStage2Digis.clone(
90+
ExtInputTag = "gtStage2Digis",
91+
MuonInputTag = "gtStage2Digis:Muon",
92+
EGammaInputTag = "gtStage2Digis:EGamma",
93+
TauInputTag = "gtStage2Digis:Tau",
94+
JetInputTag = "gtStage2Digis:Jet",
95+
EtSumInputTag = "gtStage2Digis:EtSum",
96+
AlgorithmTriggersUnmasked = False,
97+
AlgorithmTriggersUnprescaled = False,
98+
EmulateBxInEvent = cms.int32(5),
99+
PrescaleSet = cms.uint32(7),
100+
GetPrescaleColumnFromData = True,
101+
AlgoBlkInputTag = "gtStage2Digis"
102+
)
91103
Stage2L1HardwareValidation = cms.Sequence(
92104
valCaloStage2Layer1Digis +
105+
valCscStage2Digis +
93106
valBmtfDigis +
94107
valKBmtfStubs +
95108
valKBmtfDigis +
@@ -122,6 +135,9 @@
122135
# GEM TPG
123136
from DQM.L1TMonitor.L1TdeGEMTPG_cfi import *
124137

138+
# CSC TPG
139+
from DQM.L1TMonitor.L1TdeCSCTPG_cfi import *
140+
125141
# BMTF
126142
from DQM.L1TMonitor.L1TdeStage2BMTF_cfi import *
127143
from DQM.L1TMonitor.L1TdeStage2BMTFSecond_cff import *
@@ -147,6 +163,7 @@
147163
l1tdeStage2Bmtf +
148164
l1tdeStage2BmtfSecond +
149165
l1tdeStage2Omtf +
166+
l1tdeCSCTPG +
150167
l1tdeStage2EmtfOnlineDQMSeq +
151168
l1tStage2uGMTEmulatorOnlineDQMSeq +
152169
l1tdeStage2uGT +
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import FWCore.ParameterSet.Config as cms
2+
from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
3+
4+
l1tdeCSCTPGCommon = cms.PSet(
5+
monitorDir = cms.string('L1TEMU/L1TdeCSCTPG'),
6+
chambers = cms.vstring("ME1a", "ME1b", "ME12", "ME13", "ME21", "ME22",
7+
"ME31", "ME32", "ME41", "ME42"),
8+
alctVars = cms.vstring("quality", "wiregroup", "bx"),
9+
alctNBin = cms.vuint32(6, 116, 20),
10+
alctMinBin = cms.vdouble(0, 0, 0),
11+
alctMaxBin = cms.vdouble(6, 116, 20),
12+
clctVars = cms.vstring("quality", "halfstrip", "bx",
13+
"pattern", "bend", "quartstrip","eightstrip"),
14+
clctNBin = cms.vuint32(16, 240, 20, 16, 2, 2, 2),
15+
clctMinBin = cms.vdouble(0, 0, 0, 0, 0, 0, 0),
16+
clctMaxBin = cms.vdouble(16, 240, 20, 16, 2, 2, 2),
17+
lctVars = cms.vstring( "quality", "wiregroup", "halfstrip",
18+
"bx", "pattern", "bend", "quartstrip","eightstrip"),
19+
lctNBin = cms.vuint32(16, 116, 240, 20, 16, 2, 2, 2),
20+
lctMinBin = cms.vdouble(0, 0, 0, 0, 0, 0, 0, 0),
21+
lctMaxBin = cms.vdouble(16, 116, 240, 20, 16, 2, 2, 2),
22+
)
23+
24+
l1tdeCSCTPG = DQMEDAnalyzer(
25+
"L1TdeCSCTPG",
26+
l1tdeCSCTPGCommon,
27+
dataALCT = cms.InputTag("muonCSCDigis","MuonCSCALCTDigi"),
28+
emulALCT = cms.InputTag("valCscStage2Digis"),
29+
dataCLCT = cms.InputTag("muonCSCDigis","MuonCSCCLCTDigi"),
30+
emulCLCT = cms.InputTag("valCscStage2Digis"),
31+
dataLCT = cms.InputTag("muonCSCDigis","MuonCSCCorrelatedLCTDigi"),
32+
emulLCT = cms.InputTag("valCscStage2Digis", "MPCSORTED"),
33+
dataEmul = cms.vstring("data","emul"),
34+
)

0 commit comments

Comments
 (0)