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

Additional EMTF plots for Single Muon Quality tracks. Reorganization … #23481

Merged
merged 2 commits into from Jun 8, 2018
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 8 additions & 0 deletions DQM/L1TMonitor/interface/L1TStage2EMTF.h
Expand Up @@ -58,13 +58,21 @@ class L1TStage2EMTF : public DQMEDAnalyzer {
MonitorElement* emtfTrackBXVsCSCLCT[3];
MonitorElement* emtfTrackBXVsRPCHit[3];
MonitorElement* emtfTrackPt;
MonitorElement* emtfTrackPtHighQuality;//Chad Freer May 8 2018
MonitorElement* emtfTrackPtHighQualityHighPT;
MonitorElement* emtfTrackEta;
MonitorElement* emtfTrackEtaHighQuality;//Chad Freer May 8 2018
MonitorElement* emtfTrackEtaHighQualityHighPT;
MonitorElement* emtfTrackPhi;
MonitorElement* emtfTrackPhiHighQuality;
MonitorElement* emtfTrackPhiHighQualityHighPT;
MonitorElement* emtfTrackOccupancy;
MonitorElement* emtfTrackOccupancyHighQuality;//Chad Freer May 8 2018
MonitorElement* emtfTrackOccupancyHighQualityHighPT;
MonitorElement* emtfTrackMode;
MonitorElement* emtfTrackQuality;
MonitorElement* emtfTrackQualityVsMode;
MonitorElement* RPCvsEMTFTrackMode;

MonitorElement* emtfMuonBX;
MonitorElement* emtfMuonhwPt;
Expand Down
70 changes: 59 additions & 11 deletions DQM/L1TMonitor/src/L1TStage2EMTF.cc
Expand Up @@ -152,9 +152,6 @@ void L1TStage2EMTF::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,
emtfTrackPhi = ibooker.book1D("emtfTrackPhi", "EMTF Track #phi", 126, -3.15, 3.15);
emtfTrackPhi->setAxisTitle("Track #phi", 1);

emtfTrackPhiHighQuality = ibooker.book1D("emtfTrackPhiHighQuality", "EMTF High Quality #phi", 126, -3.15, 3.15);
emtfTrackPhiHighQuality->setAxisTitle("Track #phi (Quality #geq 12)", 1);

emtfTrackOccupancy = ibooker.book2D("emtfTrackOccupancy", "EMTF Track Occupancy", 100, -2.5, 2.5, 126, -3.15, 3.15);
emtfTrackOccupancy->setAxisTitle("#eta", 1);
emtfTrackOccupancy->setAxisTitle("#phi", 2);
Expand All @@ -169,13 +166,51 @@ void L1TStage2EMTF::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,
emtfTrackQualityVsMode->setAxisTitle("Mode", 1);
emtfTrackQualityVsMode->setAxisTitle("Quality", 2);

RPCvsEMTFTrackMode = ibooker.book2D("RPCvsEMTFTrackMode", "RPC Mode vs EMTF TrackMode", 16, 0, 16, 16, 0, 16);
RPCvsEMTFTrackMode->setAxisTitle("EMTF Mode", 1);
RPCvsEMTFTrackMode->setAxisTitle("RPC Mode", 2);

for (int bin = 1; bin <= 16; ++bin) {
emtfTrackMode->setBinLabel(bin, std::to_string(bin - 1), 1);
emtfTrackQuality->setBinLabel(bin, std::to_string(bin - 1), 1);
emtfTrackQualityVsMode->setBinLabel(bin, std::to_string(bin - 1), 1);
emtfTrackQualityVsMode->setBinLabel(bin, std::to_string(bin - 1), 2);
RPCvsEMTFTrackMode->setBinLabel(bin, std::to_string(bin - 1), 1);
RPCvsEMTFTrackMode->setBinLabel(bin, std::to_string(bin - 1), 2);
}

//Chad Freer May 8 2018 (Selected Tracks)
ibooker.setCurrentFolder(monitorDir + "/SelectedTracks");

//Chad Freer May 8 2018 (High Quality Track Plots)
emtfTrackPtHighQuality = ibooker.book1D("emtfTrackPtHighQuality", "EMTF High Quality Track p_{T}", 256, 1, 257);
emtfTrackPtHighQuality->setAxisTitle("Track 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);

emtfTrackPhiHighQuality = ibooker.book1D("emtfTrackPhiHighQuality", "EMTF High Quality #phi", 126, -3.15, 3.15);
emtfTrackPhiHighQuality->setAxisTitle("Track #phi (Quality #geq 12)", 1);

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

//Chad Freer may 8 2018 (High Quality and High PT [22 GeV] Track Plots)
emtfTrackPtHighQualityHighPT = ibooker.book1D("emtfTrackPtHighQualityHighPT", "EMTF High Quality High PT Track p_{T}", 256, 1, 257);
emtfTrackPtHighQualityHighPT->setAxisTitle("Track p_{T} [GeV] (Quality #geq 12 and pT>22)", 1);

emtfTrackEtaHighQualityHighPT = ibooker.book1D("emtfTrackEtaHighQualityHighPT", "EMTF High Quality High PT Track #eta", 100, -2.5, 2.5);
emtfTrackEtaHighQualityHighPT->setAxisTitle("Track #eta (Quality #geq 12 and pT>22)", 1);

emtfTrackPhiHighQualityHighPT = ibooker.book1D("emtfTrackPhiHighQualityHighPT", "EMTF High Quality High PT #phi", 126, -3.15, 3.15);
emtfTrackPhiHighQualityHighPT->setAxisTitle("Track #phi (Quality #geq 12 and pT>22)", 1);

emtfTrackOccupancyHighQualityHighPT = ibooker.book2D("emtfTrackOccupancyHighQualityHighPT", "EMTF High Quality High PT Track Occupancy", 100, -2.5, 2.5, 126, -3.15, 3.15);
emtfTrackOccupancyHighQualityHighPT->setAxisTitle("#eta", 1);
emtfTrackOccupancyHighQualityHighPT->setAxisTitle("#phi", 2);
//Chad Freer May 8 2018 (END new plots)

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

Expand Down Expand Up @@ -559,7 +594,13 @@ void L1TStage2EMTF::analyze(const edm::Event& e, const edm::EventSetup& c) {
int quality = Track->GMT_quality();
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) continue;

emtfTracknHits->Fill(numHits);
emtfTrackBX->Fill(endcap * (sector - 0.5), Track->BX());
emtfTrackPt->Fill(Track->Pt());
Expand All @@ -569,15 +610,22 @@ void L1TStage2EMTF::analyze(const edm::Event& e, const edm::EventSetup& c) {
emtfTrackMode->Fill(mode);
emtfTrackQuality->Fill(quality);
emtfTrackQualityVsMode->Fill(mode, quality);

// Only plot if there are <= 1 neighbor hits in the track to avoid spikes at sector boundaries
if (modeNeighbor < 2 || modeNeighbor == 4 || modeNeighbor == 8) {
emtfTrackPhi->Fill(phi_glob_rad);
if (quality >= 12) {
RPCvsEMTFTrackMode->Fill(mode, modeRPC);
emtfTrackPhi->Fill(phi_glob_rad);

if (quality >= singleMuQuality) {
emtfTrackPtHighQuality->Fill(Track->Pt());
emtfTrackEtaHighQuality->Fill(eta);
emtfTrackPhiHighQuality->Fill(phi_glob_rad);
}
emtfTrackOccupancyHighQuality->Fill(eta, phi_glob_rad);
if (Track->Pt()>= singleMuPT) {
emtfTrackPtHighQualityHighPT->Fill(Track->Pt());
emtfTrackEtaHighQualityHighPT->Fill(eta);
emtfTrackPhiHighQualityHighPT->Fill(phi_glob_rad);
emtfTrackOccupancyHighQualityHighPT->Fill(eta, phi_glob_rad);
}
}

////////////////////////////////////////////////////
/// Begin block for CSC LCT and RPC hit timing ///
////////////////////////////////////////////////////
Expand Down