Skip to content

Commit

Permalink
Merge pull request cms-sw#30460 from emacdonald16/UpdateDQMTracks
Browse files Browse the repository at this point in the history
Enable L1Tracks to run and be included in L1T DQM
  • Loading branch information
cmsbuild authored Jul 9, 2020
2 parents dd4537b + e200888 commit 4a3eb91
Show file tree
Hide file tree
Showing 10 changed files with 552 additions and 407 deletions.
3 changes: 2 additions & 1 deletion Configuration/EventContent/python/EventContent_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,8 @@ def SwapKeepAndDrop(l):
'keep Phase2TrackerDigiedmDetSetVector_mix_*_*',
'keep *_TTClustersFromPhase2TrackerDigis_*_*',
'keep *_TTStubsFromPhase2TrackerDigis_*_*',
'keep *_TrackerDTC_*_*'])
'keep *_TrackerDTC_*_*',
'keep *_*_Level1TTTracks_*'])
phase2_muon.toModify(FEVTEventContent,
outputCommands = FEVTEventContent.outputCommands + ['keep *_muonGEMDigis_*_*'])
run2_GEM_2017.toModify(FEVTEventContent,
Expand Down
92 changes: 77 additions & 15 deletions DQM/SiOuterTracker/plugins/OuterTrackerMonitorTTStub.cc
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,14 @@ class OuterTrackerMonitorTTStub : public DQMEDAnalyzer {
MonitorElement *Stub_Endcap_Ring_Bw[5] = {nullptr, nullptr, nullptr, nullptr, nullptr}; // TTStub per EC ring

// Stub distribution
MonitorElement *Stub_Eta = nullptr; // TTstub eta distribution
MonitorElement *Stub_Phi = nullptr; // TTstub phi distribution
MonitorElement *Stub_R = nullptr; // TTstub r distribution
MonitorElement *Stub_Eta = nullptr; // TTstub eta distribution
MonitorElement *Stub_Phi = nullptr; // TTstub phi distribution
MonitorElement *Stub_R = nullptr; // TTstub r distribution
MonitorElement *Stub_bendFE = nullptr; // TTstub trigger bend
MonitorElement *Stub_bendBE = nullptr; // TTstub hardware bend
MonitorElement *Stub_rawBend = nullptr; // TTstub raw bend
MonitorElement *Stub_bendOffset = nullptr; // TTstub bend offset
MonitorElement *Stub_isPS = nullptr; // is this stub a PS module?

// STUB Displacement - offset
MonitorElement *Stub_Barrel_W = nullptr; // TTstub Pos-Corr Displacement (layer)
Expand Down Expand Up @@ -145,8 +150,8 @@ void OuterTrackerMonitorTTStub::analyze(const edm::Event &iEvent, const edm::Eve
DetId detIdStub = theTrackerGeometry->idToDet((tempStubRef->clusterRef(0))->getDetId())->geographicalId();

/// Get trigger displacement/offset
double displStub = tempStubRef->rawBend();
double offsetStub = tempStubRef->bendOffset();
double rawBend = tempStubRef->rawBend();
double bendOffset = tempStubRef->bendOffset();

/// Define position stub by position inner cluster
MeasurementPoint mp = (tempStubRef->clusterRef(0))->findAverageLocalCoordinates();
Expand All @@ -157,34 +162,39 @@ void OuterTrackerMonitorTTStub::analyze(const edm::Event &iEvent, const edm::Eve
Stub_Phi->Fill(posStub.phi());
Stub_R->Fill(posStub.perp());
Stub_RZ->Fill(posStub.z(), posStub.perp());
Stub_bendFE->Fill(tempStubRef->bendFE());
Stub_bendBE->Fill(tempStubRef->bendBE());
Stub_rawBend->Fill(rawBend);
Stub_bendOffset->Fill(bendOffset);
Stub_isPS->Fill(tempStubRef->moduleTypePS());

if (detIdStub.subdetId() == static_cast<int>(StripSubdetector::TOB)) { // Phase 2 Outer Tracker Barrel
Stub_Barrel->Fill(tTopo->layer(detIdStub));
Stub_Barrel_XY->Fill(posStub.x(), posStub.y());
Stub_Barrel_W->Fill(tTopo->layer(detIdStub), displStub - offsetStub);
Stub_Barrel_O->Fill(tTopo->layer(detIdStub), offsetStub);
Stub_Barrel_W->Fill(tTopo->layer(detIdStub), rawBend - bendOffset);
Stub_Barrel_O->Fill(tTopo->layer(detIdStub), bendOffset);
} else if (detIdStub.subdetId() == static_cast<int>(StripSubdetector::TID)) { // Phase 2 Outer Tracker Endcap
int disc = tTopo->layer(detIdStub); // returns wheel
int ring = tTopo->tidRing(detIdStub);
Stub_Endcap_Disc->Fill(disc);
Stub_Endcap_Ring->Fill(ring);
Stub_Endcap_Disc_W->Fill(disc, displStub - offsetStub);
Stub_Endcap_Ring_W->Fill(ring, displStub - offsetStub);
Stub_Endcap_Disc_O->Fill(disc, offsetStub);
Stub_Endcap_Ring_O->Fill(ring, offsetStub);
Stub_Endcap_Disc_W->Fill(disc, rawBend - bendOffset);
Stub_Endcap_Ring_W->Fill(ring, rawBend - bendOffset);
Stub_Endcap_Disc_O->Fill(disc, bendOffset);
Stub_Endcap_Ring_O->Fill(ring, bendOffset);

if (posStub.z() > 0) {
Stub_Endcap_Fw_XY->Fill(posStub.x(), posStub.y());
Stub_Endcap_Disc_Fw->Fill(disc);
Stub_Endcap_Ring_Fw[disc - 1]->Fill(ring);
Stub_Endcap_Ring_W_Fw[disc - 1]->Fill(ring, displStub - offsetStub);
Stub_Endcap_Ring_O_Fw[disc - 1]->Fill(ring, offsetStub);
Stub_Endcap_Ring_W_Fw[disc - 1]->Fill(ring, rawBend - bendOffset);
Stub_Endcap_Ring_O_Fw[disc - 1]->Fill(ring, bendOffset);
} else {
Stub_Endcap_Bw_XY->Fill(posStub.x(), posStub.y());
Stub_Endcap_Disc_Bw->Fill(disc);
Stub_Endcap_Ring_Bw[disc - 1]->Fill(ring);
Stub_Endcap_Ring_W_Bw[disc - 1]->Fill(ring, displStub - offsetStub);
Stub_Endcap_Ring_O_Bw[disc - 1]->Fill(ring, offsetStub);
Stub_Endcap_Ring_W_Bw[disc - 1]->Fill(ring, rawBend - bendOffset);
Stub_Endcap_Ring_O_Bw[disc - 1]->Fill(ring, bendOffset);
}
}
}
Expand Down Expand Up @@ -286,6 +296,58 @@ void OuterTrackerMonitorTTStub::bookHistograms(DQMStore::IBooker &iBooker,
Stub_R->setAxisTitle("R", 1);
Stub_R->setAxisTitle("# L1 Stubs ", 2);

// TTStub trigger bend
edm::ParameterSet psTTStub_bend = conf_.getParameter<edm::ParameterSet>("TH1TTStub_bend");
HistoName = "Stub_bendFE";
Stub_bendFE = iBooker.book1D(HistoName,
HistoName,
psTTStub_bend.getParameter<int32_t>("Nbinsx"),
psTTStub_bend.getParameter<double>("xmin"),
psTTStub_bend.getParameter<double>("xmax"));
Stub_bendFE->setAxisTitle("Trigger bend", 1);
Stub_bendFE->setAxisTitle("# L1 Stubs ", 2);

// TTStub hardware bend
HistoName = "Stub_bendBE";
Stub_bendBE = iBooker.book1D(HistoName,
HistoName,
psTTStub_bend.getParameter<int32_t>("Nbinsx"),
psTTStub_bend.getParameter<double>("xmin"),
psTTStub_bend.getParameter<double>("xmax"));
Stub_bendBE->setAxisTitle("Hardware bend", 1);
Stub_bendBE->setAxisTitle("# L1 Stubs ", 2);

// TTStub raw bend
HistoName = "Stub_rawBend";
Stub_rawBend = iBooker.book1D(HistoName,
HistoName,
psTTStub_bend.getParameter<int32_t>("Nbinsx"),
psTTStub_bend.getParameter<double>("xmin"),
psTTStub_bend.getParameter<double>("xmax"));
Stub_rawBend->setAxisTitle("Raw bend", 1);
Stub_rawBend->setAxisTitle("# L1 Stubs ", 2);

// TTStub bend offset
HistoName = "Stub_bendOffset";
Stub_bendOffset = iBooker.book1D(HistoName,
HistoName,
psTTStub_bend.getParameter<int32_t>("Nbinsx"),
psTTStub_bend.getParameter<double>("xmin"),
psTTStub_bend.getParameter<double>("xmax"));
Stub_bendOffset->setAxisTitle("Bend offset", 1);
Stub_bendOffset->setAxisTitle("# L1 Stubs ", 2);

// TTStub, is PS?
edm::ParameterSet psTTStub_isPS = conf_.getParameter<edm::ParameterSet>("TH1TTStub_isPS");
HistoName = "Stub_isPS";
Stub_isPS = iBooker.book1D(HistoName,
HistoName,
psTTStub_isPS.getParameter<int32_t>("Nbinsx"),
psTTStub_isPS.getParameter<double>("xmin"),
psTTStub_isPS.getParameter<double>("xmax"));
Stub_isPS->setAxisTitle("Is PS?", 1);
Stub_isPS->setAxisTitle("# L1 Stubs ", 2);

iBooker.setCurrentFolder(topFolderName_ + "/Stubs/NStubs");
// TTStub barrel stack
edm::ParameterSet psTTStub_Barrel = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Layers");
Expand Down
Loading

0 comments on commit 4a3eb91

Please sign in to comment.