Skip to content

Commit

Permalink
Merge pull request #42155 from lutuck/EMTF_LucasUnconstrainedPlots_Jun23
Browse files Browse the repository at this point in the history
EMTF add DQM plots for unconstrained pT and dxy
  • Loading branch information
cmsbuild authored Aug 21, 2023
2 parents 7594083 + 1961347 commit 505e9de
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 2 deletions.
9 changes: 9 additions & 0 deletions DQM/L1TMonitor/interface/L1TStage2EMTF.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,24 +52,33 @@ class L1TStage2EMTF : public DQMOneEDAnalyzer<> {
MonitorElement* emtfTrackBXVsCSCLCT[3];
MonitorElement* emtfTrackBXVsRPCHit[3];
MonitorElement* emtfTrackPt;
MonitorElement* emtfTrackUnconstrainedPt;
MonitorElement* emtfTrackDxy;
MonitorElement* emtfTrackPtHighQuality; //Chad Freer May 8 2018
MonitorElement* emtfTrackUnconstrainedPtHighQuality;
MonitorElement* emtfTrackPtHighQualityHighPT;
MonitorElement* emtfTrackUnconstrainedPtHighQualityHighUPT;
MonitorElement* emtfTrackEta;
MonitorElement* emtfTrackEtaHighQuality; //Chad Freer May 8 2018
MonitorElement* emtfTrackEtaHighQualityHighPT;
MonitorElement* emtfTrackEtaHighQualityHighUPT;
MonitorElement* emtfTrackPhi;
MonitorElement* emtfTrackPhiHighQuality;
MonitorElement* emtfTrackPhiHighQualityHighPT;
MonitorElement* emtfTrackPhiHighQualityHighUPT;
MonitorElement* emtfTrackOccupancy;
MonitorElement* emtfTrackOccupancyHighQuality; //Chad Freer May 8 2018
MonitorElement* emtfTrackOccupancyHighQualityHighPT;
MonitorElement* emtfTrackOccupancyHighQualityHighUPT;
MonitorElement* emtfTrackMode;
MonitorElement* emtfTrackQuality;
MonitorElement* emtfTrackQualityVsMode;
MonitorElement* RPCvsEMTFTrackMode;

MonitorElement* emtfMuonBX;
MonitorElement* emtfMuonhwPt;
MonitorElement* emtfMuonhwPtUnconstrained;
MonitorElement* emtfMuonhwDxy;
MonitorElement* emtfMuonhwEta;
MonitorElement* emtfMuonhwPhi;
MonitorElement* emtfMuonhwQual;
Expand Down
58 changes: 56 additions & 2 deletions DQM/L1TMonitor/src/L1TStage2EMTF.cc
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,12 @@ void L1TStage2EMTF::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,
emtfTrackPt = ibooker.book1D("emtfTrackPt", "EMTF Track p_{T}", 256, 1, 257);
emtfTrackPt->setAxisTitle("Track p_{T} [GeV]", 1);

emtfTrackUnconstrainedPt = ibooker.book1D("emtfTrackUnconstrainedPt", "EMTF Track Unconstrained p_{T}", 256, 1, 257);
emtfTrackUnconstrainedPt->setAxisTitle("Track Unconstrained p_{T} [GeV]", 1);

emtfTrackDxy = ibooker.book1D("emtfTrackDxy", "EMTF Track d_{xy}", 3, 0, 3);
emtfTrackDxy->setAxisTitle("Track d_{xy}", 1);

emtfTrackEta = ibooker.book1D("emtfTrackEta", "EMTF Track #eta", 100, -2.5, 2.5);
emtfTrackEta->setAxisTitle("Track #eta", 1);

Expand Down Expand Up @@ -216,6 +222,10 @@ void L1TStage2EMTF::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,
emtfTrackPtHighQuality = ibooker.book1D("emtfTrackPtHighQuality", "EMTF High Quality Track p_{T}", 256, 1, 257);
emtfTrackPtHighQuality->setAxisTitle("Track p_{T} [GeV] (Quality #geq 12)", 1);

emtfTrackUnconstrainedPtHighQuality =
ibooker.book1D("emtfTrackUnconstrainedPtHighQuality", "EMTF High Quality Track Unconstrained p_{T}", 256, 1, 257);
emtfTrackUnconstrainedPtHighQuality->setAxisTitle("Track Unconstrained p_{T} [GeV] (Quality #geq 12)", 1);

emtfTrackEtaHighQuality = ibooker.book1D("emtfTrackEtaHighQuality", "EMTF High Quality Track #eta", 100, -2.5, 2.5);
emtfTrackEtaHighQuality->setAxisTitle("Track #eta (Quality #geq 12)", 1);

Expand Down Expand Up @@ -252,6 +262,30 @@ void L1TStage2EMTF::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,
emtfTrackOccupancyHighQualityHighPT->setAxisTitle("#phi", 2);
//Chad Freer May 8 2018 (END new plots)

emtfTrackUnconstrainedPtHighQualityHighUPT = ibooker.book1D(
"emtfTrackUnconstrainedPtHighQualityHighUPT", "EMTF High Quality High UPT Track Unconstrained p_{T}", 256, 1, 257);
emtfTrackUnconstrainedPtHighQualityHighUPT->setAxisTitle(
"Track Unconstrained p_{T} [GeV] (Quality #geq 12 and UpT>10)", 1);

emtfTrackEtaHighQualityHighUPT =
ibooker.book1D("emtfTrackEtaHighQualityHighUPT", "EMTF High Quality High UPT Track #eta", 100, -2.5, 2.5);
emtfTrackEtaHighQualityHighUPT->setAxisTitle("Track #eta (Quality #geq 12 and UpT>10)", 1);

emtfTrackPhiHighQualityHighUPT =
ibooker.book1D("emtfTrackPhiHighQualityHighUPT", "EMTF High Quality High UPT #phi", 126, -3.15, 3.15);
emtfTrackPhiHighQualityHighUPT->setAxisTitle("Track #phi (Quality #geq 12 and UpT>10)", 1);

emtfTrackOccupancyHighQualityHighUPT = ibooker.book2D("emtfTrackOccupancyHighQualityHighUPT",
"EMTF High Quality High UPT Track Occupancy",
100,
-2.5,
2.5,
126,
-3.15,
3.15);
emtfTrackOccupancyHighQualityHighUPT->setAxisTitle("#eta", 1);
emtfTrackOccupancyHighQualityHighUPT->setAxisTitle("#phi", 2);

// CSC Input
ibooker.setCurrentFolder(monitorDir + "/CSCInput");

Expand Down Expand Up @@ -732,6 +766,13 @@ void L1TStage2EMTF::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,
emtfMuonhwPt = ibooker.book1D("emtfMuonhwPt", "EMTF Muon Cand p_{T}", 512, 0, 512);
emtfMuonhwPt->setAxisTitle("Hardware p_{T}", 1);

emtfMuonhwPtUnconstrained =
ibooker.book1D("emtfMuonhwPtUnconstrained", "EMTF Muon Cand Unconstrained p_{T}", 256, 0, 256);
emtfMuonhwPtUnconstrained->setAxisTitle("Hardware Unconstrained p_{T}", 1);

emtfMuonhwDxy = ibooker.book1D("emtfMuonhwDxy", "EMTF Muon Cand d_{xy}", 3, 0, 3);
emtfMuonhwDxy->setAxisTitle("Hardware d_{xy}", 1);

emtfMuonhwEta = ibooker.book1D("emtfMuonhwEta", "EMTF Muon Cand #eta", 460, -230, 230);
emtfMuonhwEta->setAxisTitle("Hardware #eta", 1);

Expand Down Expand Up @@ -987,6 +1028,10 @@ void L1TStage2EMTF::analyze(const edm::Event& e, const edm::EventSetup& c) {

emtfnTracks->Fill(std::min(nTracks, emtfnTracks->getTH1F()->GetNbinsX() - 1));

constexpr int singleMuQuality = 12;
constexpr float singleMuPT = 22;
constexpr float singleMuUPT = 10;

for (auto Track = TrackCollection->begin(); Track != TrackCollection->end(); ++Track) {
int endcap = Track->Endcap();
int sector = Track->Sector();
Expand All @@ -997,8 +1042,6 @@ void L1TStage2EMTF::analyze(const edm::Event& e, const edm::EventSetup& c) {
int numHits = Track->NumHits();
int modeNeighbor = Track->Mode_neighbor();
int modeRPC = Track->Mode_RPC();
int singleMuQuality = 12;
int singleMuPT = 22;

// Only plot if there are <= 1 neighbor hits in the track to avoid spikes at sector boundaries
if (modeNeighbor >= 2 && modeNeighbor != 4 && modeNeighbor != 8)
Expand All @@ -1007,6 +1050,8 @@ void L1TStage2EMTF::analyze(const edm::Event& e, const edm::EventSetup& c) {
emtfTracknHits->Fill(numHits);
emtfTrackBX->Fill(endcap * (sector - 0.5), Track->BX());
emtfTrackPt->Fill(Track->Pt());
emtfTrackDxy->Fill(Track->GMT_dxy());
emtfTrackUnconstrainedPt->Fill(Track->Pt_dxy());
emtfTrackEta->Fill(eta);

emtfTrackOccupancy->Fill(eta, phi_glob_rad);
Expand All @@ -1018,6 +1063,7 @@ void L1TStage2EMTF::analyze(const edm::Event& e, const edm::EventSetup& c) {

if (quality >= singleMuQuality) {
emtfTrackPtHighQuality->Fill(Track->Pt());
emtfTrackUnconstrainedPtHighQuality->Fill(Track->Pt_dxy());
emtfTrackEtaHighQuality->Fill(eta);
emtfTrackPhiHighQuality->Fill(phi_glob_rad);
emtfTrackOccupancyHighQuality->Fill(eta, phi_glob_rad);
Expand All @@ -1027,6 +1073,12 @@ void L1TStage2EMTF::analyze(const edm::Event& e, const edm::EventSetup& c) {
emtfTrackPhiHighQualityHighPT->Fill(phi_glob_rad);
emtfTrackOccupancyHighQualityHighPT->Fill(eta, phi_glob_rad);
}
if (Track->Pt_dxy() >= singleMuUPT) {
emtfTrackUnconstrainedPtHighQualityHighUPT->Fill(Track->Pt_dxy());
emtfTrackEtaHighQualityHighUPT->Fill(eta);
emtfTrackPhiHighQualityHighUPT->Fill(phi_glob_rad);
emtfTrackOccupancyHighQualityHighUPT->Fill(eta, phi_glob_rad);
}
}

////////////////////////////////////////////////////
Expand Down Expand Up @@ -1209,6 +1261,8 @@ void L1TStage2EMTF::analyze(const edm::Event& e, const edm::EventSetup& c) {
++Muon) {
emtfMuonBX->Fill(itBX);
emtfMuonhwPt->Fill(Muon->hwPt());
emtfMuonhwPtUnconstrained->Fill(Muon->hwPtUnconstrained());
emtfMuonhwDxy->Fill(Muon->hwDXY());
emtfMuonhwEta->Fill(Muon->hwEta());
emtfMuonhwPhi->Fill(Muon->hwPhi());
emtfMuonhwQual->Fill(Muon->hwQual());
Expand Down

0 comments on commit 505e9de

Please sign in to comment.