Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[13_1_X] EMTF add DQM plots for unconstrained pT and dxy #42167

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion 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* emtfTrackPtHighQuality; //Chad Freer May 8 2018
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