CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Attributes
OuterTrackerMonitorTTTrack Class Reference

#include <OuterTrackerMonitorTTTrack.h>

Inheritance diagram for OuterTrackerMonitorTTTrack:
one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 OuterTrackerMonitorTTTrack (const edm::ParameterSet &)
 
 ~OuterTrackerMonitorTTTrack () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Public Attributes

MonitorElementTrack_Eta_NStubs = 0
 
MonitorElementTrack_HQ_Chi2 = 0
 
MonitorElementTrack_HQ_Chi2_Probability = 0
 
MonitorElementTrack_HQ_Chi2Red = 0
 
MonitorElementTrack_HQ_Chi2Red_Eta = 0
 
MonitorElementTrack_HQ_Chi2Red_NStubs = 0
 
MonitorElementTrack_HQ_D0 = 0
 
MonitorElementTrack_HQ_Eta = 0
 
MonitorElementTrack_HQ_Eta_BarrelStubs = 0
 
MonitorElementTrack_HQ_Eta_ECStubs = 0
 
MonitorElementTrack_HQ_N = 0
 High-quality TTTracks (NStubs >=5, chi2/dof<10) More...
 
MonitorElementTrack_HQ_Phi = 0
 
MonitorElementTrack_HQ_Pt = 0
 
MonitorElementTrack_HQ_VtxZ = 0
 
MonitorElementTrack_LQ_Chi2 = 0
 
MonitorElementTrack_LQ_Chi2_Probability = 0
 
MonitorElementTrack_LQ_Chi2Red = 0
 
MonitorElementTrack_LQ_Chi2Red_Eta = 0
 
MonitorElementTrack_LQ_Chi2Red_NStubs = 0
 
MonitorElementTrack_LQ_D0 = 0
 
MonitorElementTrack_LQ_Eta = 0
 
MonitorElementTrack_LQ_Eta_BarrelStubs = 0
 
MonitorElementTrack_LQ_Eta_ECStubs = 0
 
MonitorElementTrack_LQ_N = 0
 Low-quality TTTracks (All tracks) More...
 
MonitorElementTrack_LQ_Phi = 0
 
MonitorElementTrack_LQ_Pt = 0
 
MonitorElementTrack_LQ_VtxZ = 0
 
MonitorElementTrack_NStubs = 0
 

Private Attributes

edm::ParameterSet conf_
 
double HQChi2dof_
 
unsigned int HQNStubs_
 
std::string topFolderName_
 
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
 

Detailed Description

Definition at line 21 of file OuterTrackerMonitorTTTrack.h.

Constructor & Destructor Documentation

OuterTrackerMonitorTTTrack::OuterTrackerMonitorTTTrack ( const edm::ParameterSet iConfig)
explicit

Definition at line 39 of file OuterTrackerMonitorTTTrack.cc.

References conf_, edm::ParameterSet::getParameter(), HQChi2dof_, HQNStubs_, AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, and ttTrackToken_.

39  : conf_(iConfig) {
40  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
42  consumes<std::vector<TTTrack<Ref_Phase2TrackerDigi_>>>(conf_.getParameter<edm::InputTag>("TTTracksTag"));
43  HQNStubs_ = conf_.getParameter<int>("HQNStubs");
44  HQChi2dof_ = conf_.getParameter<double>("HQChi2dof");
45 }
T getParameter(std::string const &) const
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
OuterTrackerMonitorTTTrack::~OuterTrackerMonitorTTTrack ( )
override

Definition at line 47 of file OuterTrackerMonitorTTTrack.cc.

47  {
48  // do anything here that needs to be done at desctruction time
49  // (e.g. close files, deallocate resources etc.)
50 }

Member Function Documentation

void OuterTrackerMonitorTTTrack::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Track Trigger Tracks

Loop over TTTracks

Make the pointer

Definition at line 55 of file OuterTrackerMonitorTTTrack.cc.

References ChiSquaredProbability(), MonitorElement::Fill(), edm::Event::getByToken(), HQChi2dof_, HQNStubs_, edm::HandleBase::isValid(), mathSSE::sqrt(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, Track_Eta_NStubs, Track_HQ_Chi2, Track_HQ_Chi2_Probability, Track_HQ_Chi2Red, Track_HQ_Chi2Red_Eta, Track_HQ_Chi2Red_NStubs, Track_HQ_D0, Track_HQ_Eta, Track_HQ_Eta_BarrelStubs, Track_HQ_Eta_ECStubs, Track_HQ_N, Track_HQ_Phi, Track_HQ_Pt, Track_HQ_VtxZ, Track_LQ_Chi2, Track_LQ_Chi2_Probability, Track_LQ_Chi2Red, Track_LQ_Chi2Red_Eta, Track_LQ_Chi2Red_NStubs, Track_LQ_D0, Track_LQ_Eta, Track_LQ_Eta_BarrelStubs, Track_LQ_Eta_ECStubs, Track_LQ_N, Track_LQ_Phi, Track_LQ_Pt, Track_LQ_VtxZ, Track_NStubs, reco::btau::trackChi2, align::Tracker, and ttTrackToken_.

55  {
56  // L1 Primaries
58  iEvent.getByToken(ttTrackToken_, TTTrackHandle);
59 
61  unsigned int numHQTracks = 0;
62  unsigned int numLQTracks = 0;
63 
64  // Adding protection
65  if (!TTTrackHandle.isValid())
66  return;
67 
69  unsigned int tkCnt = 0;
70  for (auto iterTTTrack : *TTTrackHandle) {
71  edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>> tempTrackPtr(TTTrackHandle, tkCnt++);
72 
73  unsigned int nStubs = tempTrackPtr->getStubRefs().size();
74  int nBarrelStubs = 0;
75  int nECStubs = 0;
76 
77  double track_d0 = sqrt(tempTrackPtr->getPOCA().x() * tempTrackPtr->getPOCA().x() +
78  tempTrackPtr->getPOCA().y() * tempTrackPtr->getPOCA().y());
79  double trackChi2 = tempTrackPtr->getChi2();
80  double trackChi2R = tempTrackPtr->getChi2Red();
81 
82  Track_NStubs->Fill(nStubs);
83  Track_Eta_NStubs->Fill(tempTrackPtr->getMomentum().eta(), nStubs);
84 
85  std::vector<edm::Ref<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>, TTStub<Ref_Phase2TrackerDigi_>>>
86  theStubs = iterTTTrack.getStubRefs();
87  for (auto istub : theStubs) {
88  bool inTIB = false;
89  bool inTOB = false;
90  bool inTEC = false;
91  bool inTID = false;
92 
93  // Verify if stubs are in EC or barrel
94  DetId detId(istub->getDetId());
95  if (detId.det() == DetId::Detector::Tracker) {
96  if (detId.subdetId() == StripSubdetector::TIB)
97  inTIB = true;
98  else if (detId.subdetId() == StripSubdetector::TOB)
99  inTOB = true;
100  else if (detId.subdetId() == StripSubdetector::TEC)
101  inTEC = true;
102  else if (detId.subdetId() == StripSubdetector::TID)
103  inTID = true;
104  }
105  if (inTIB)
106  nBarrelStubs++;
107  else if (inTOB)
108  nBarrelStubs++;
109  else if (inTEC)
110  nECStubs++;
111  else if (inTID)
112  nECStubs++;
113  } // end loop over stubs
114 
115  // HQ tracks: >=5 stubs and chi2/dof < 1
116  if (nStubs >= HQNStubs_ && trackChi2R <= HQChi2dof_) {
117  numHQTracks++;
118 
119  Track_HQ_Pt->Fill(tempTrackPtr->getMomentum().perp());
120  Track_HQ_Eta->Fill(tempTrackPtr->getMomentum().eta());
121  Track_HQ_Phi->Fill(tempTrackPtr->getMomentum().phi());
122  Track_HQ_VtxZ->Fill(tempTrackPtr->getPOCA().z());
123  Track_HQ_Chi2->Fill(trackChi2);
124  Track_HQ_Chi2Red->Fill(trackChi2R);
125  Track_HQ_D0->Fill(track_d0);
126  Track_HQ_Chi2Red_NStubs->Fill(nStubs, trackChi2R);
127  Track_HQ_Chi2Red_Eta->Fill(tempTrackPtr->getMomentum().eta(), trackChi2R);
128  Track_HQ_Eta_BarrelStubs->Fill(tempTrackPtr->getMomentum().eta(), nBarrelStubs);
129  Track_HQ_Eta_ECStubs->Fill(tempTrackPtr->getMomentum().eta(), nECStubs);
131  }
132 
133  // LQ: now defined as all tracks (including HQ tracks)
134  numLQTracks++;
135 
136  Track_LQ_Pt->Fill(tempTrackPtr->getMomentum().perp());
137  Track_LQ_Eta->Fill(tempTrackPtr->getMomentum().eta());
138  Track_LQ_Phi->Fill(tempTrackPtr->getMomentum().phi());
139  Track_LQ_VtxZ->Fill(tempTrackPtr->getPOCA().z());
140  Track_LQ_Chi2->Fill(trackChi2);
141  Track_LQ_Chi2Red->Fill(trackChi2R);
142  Track_LQ_D0->Fill(track_d0);
143  Track_LQ_Chi2Red_NStubs->Fill(nStubs, trackChi2R);
144  Track_LQ_Chi2Red_Eta->Fill(tempTrackPtr->getMomentum().eta(), trackChi2R);
145  Track_LQ_Eta_BarrelStubs->Fill(tempTrackPtr->getMomentum().eta(), nBarrelStubs);
146  Track_LQ_Eta_ECStubs->Fill(tempTrackPtr->getMomentum().eta(), nECStubs);
148 
149  } // End of loop over TTTracks
150 
151  Track_HQ_N->Fill(numHQTracks);
152  Track_LQ_N->Fill(numLQTracks);
153 } // end of method
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
void Fill(long long x)
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
MonitorElement * Track_HQ_N
High-quality TTTracks (NStubs >=5, chi2/dof<10)
T sqrt(T t)
Definition: SSEVec.h:18
float ChiSquaredProbability(double chiSquared, double nrDOF)
bool isValid() const
Definition: HandleBase.h:74
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
Definition: DetId.h:18
MonitorElement * Track_LQ_N
Low-quality TTTracks (All tracks)
void OuterTrackerMonitorTTTrack::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
override

Low-quality tracks (All tracks, including HQ tracks)

High-quality tracks (Now defined as >=5 stubs and chi2/dof < 10)

Definition at line 158 of file OuterTrackerMonitorTTTrack.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), conf_, DEFINE_FWK_MODULE, edm::ParameterSet::getParameter(), MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, Track_Eta_NStubs, Track_HQ_Chi2, Track_HQ_Chi2_Probability, Track_HQ_Chi2Red, Track_HQ_Chi2Red_Eta, Track_HQ_Chi2Red_NStubs, Track_HQ_D0, Track_HQ_Eta, Track_HQ_Eta_BarrelStubs, Track_HQ_Eta_ECStubs, Track_HQ_N, Track_HQ_Phi, Track_HQ_Pt, Track_HQ_VtxZ, Track_LQ_Chi2, Track_LQ_Chi2_Probability, Track_LQ_Chi2Red, Track_LQ_Chi2Red_Eta, Track_LQ_Chi2Red_NStubs, Track_LQ_D0, Track_LQ_Eta, Track_LQ_Eta_BarrelStubs, Track_LQ_Eta_ECStubs, Track_LQ_N, Track_LQ_Phi, Track_LQ_Pt, Track_LQ_VtxZ, and Track_NStubs.

160  {
162  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/");
163 
164  // Number of stubs
165  edm::ParameterSet psTrack_NStubs = conf_.getParameter<edm::ParameterSet>("TH1_NStubs");
166  HistoName = "Track_NStubs";
167  Track_NStubs = iBooker.book1D(HistoName,
168  HistoName,
169  psTrack_NStubs.getParameter<int32_t>("Nbinsx"),
170  psTrack_NStubs.getParameter<double>("xmin"),
171  psTrack_NStubs.getParameter<double>("xmax"));
172  Track_NStubs->setAxisTitle("# L1 Stubs per L1 Track", 1);
173  Track_NStubs->setAxisTitle("# L1 Tracks", 2);
174 
175  edm::ParameterSet psTrack_Eta_NStubs = conf_.getParameter<edm::ParameterSet>("TH2_Track_Eta_NStubs");
176  HistoName = "Track_Eta_NStubs";
177  Track_Eta_NStubs = iBooker.book2D(HistoName,
178  HistoName,
179  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
180  psTrack_Eta_NStubs.getParameter<double>("xmin"),
181  psTrack_Eta_NStubs.getParameter<double>("xmax"),
182  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
183  psTrack_Eta_NStubs.getParameter<double>("ymin"),
184  psTrack_Eta_NStubs.getParameter<double>("ymax"));
185  Track_Eta_NStubs->setAxisTitle("#eta", 1);
186  Track_Eta_NStubs->setAxisTitle("# L1 Stubs", 2);
187 
189  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/LQ");
190  // Nb of L1Tracks
191  HistoName = "Track_LQ_N";
192  edm::ParameterSet psTrack_N = conf_.getParameter<edm::ParameterSet>("TH1_NTracks");
193  Track_LQ_N = iBooker.book1D(HistoName,
194  HistoName,
195  psTrack_N.getParameter<int32_t>("Nbinsx"),
196  psTrack_N.getParameter<double>("xmin"),
197  psTrack_N.getParameter<double>("xmax"));
198  Track_LQ_N->setAxisTitle("# L1 Tracks", 1);
199  Track_LQ_N->setAxisTitle("# Events", 2);
200 
201  // Pt of the tracks
202  edm::ParameterSet psTrack_Pt = conf_.getParameter<edm::ParameterSet>("TH1_Track_Pt");
203  HistoName = "Track_LQ_Pt";
204  Track_LQ_Pt = iBooker.book1D(HistoName,
205  HistoName,
206  psTrack_Pt.getParameter<int32_t>("Nbinsx"),
207  psTrack_Pt.getParameter<double>("xmin"),
208  psTrack_Pt.getParameter<double>("xmax"));
209  Track_LQ_Pt->setAxisTitle("p_{T} [GeV]", 1);
210  Track_LQ_Pt->setAxisTitle("# L1 Tracks", 2);
211 
212  // Phi
213  edm::ParameterSet psTrack_Phi = conf_.getParameter<edm::ParameterSet>("TH1_Track_Phi");
214  HistoName = "Track_LQ_Phi";
215  Track_LQ_Phi = iBooker.book1D(HistoName,
216  HistoName,
217  psTrack_Phi.getParameter<int32_t>("Nbinsx"),
218  psTrack_Phi.getParameter<double>("xmin"),
219  psTrack_Phi.getParameter<double>("xmax"));
220  Track_LQ_Phi->setAxisTitle("#phi", 1);
221  Track_LQ_Phi->setAxisTitle("# L1 Tracks", 2);
222 
223  // D0
224  edm::ParameterSet psTrack_D0 = conf_.getParameter<edm::ParameterSet>("TH1_Track_D0");
225  HistoName = "Track_LQ_D0";
226  Track_LQ_D0 = iBooker.book1D(HistoName,
227  HistoName,
228  psTrack_D0.getParameter<int32_t>("Nbinsx"),
229  psTrack_D0.getParameter<double>("xmin"),
230  psTrack_D0.getParameter<double>("xmax"));
231  Track_LQ_D0->setAxisTitle("Track D0", 1);
232  Track_LQ_D0->setAxisTitle("# L1 Tracks", 2);
233 
234  // Eta
235  edm::ParameterSet psTrack_Eta = conf_.getParameter<edm::ParameterSet>("TH1_Track_Eta");
236  HistoName = "Track_LQ_Eta";
237  Track_LQ_Eta = iBooker.book1D(HistoName,
238  HistoName,
239  psTrack_Eta.getParameter<int32_t>("Nbinsx"),
240  psTrack_Eta.getParameter<double>("xmin"),
241  psTrack_Eta.getParameter<double>("xmax"));
242  Track_LQ_Eta->setAxisTitle("#eta", 1);
243  Track_LQ_Eta->setAxisTitle("# L1 Tracks", 2);
244 
245  // VtxZ
246  edm::ParameterSet psTrack_VtxZ = conf_.getParameter<edm::ParameterSet>("TH1_Track_VtxZ");
247  HistoName = "Track_LQ_VtxZ";
248  Track_LQ_VtxZ = iBooker.book1D(HistoName,
249  HistoName,
250  psTrack_VtxZ.getParameter<int32_t>("Nbinsx"),
251  psTrack_VtxZ.getParameter<double>("xmin"),
252  psTrack_VtxZ.getParameter<double>("xmax"));
253  Track_LQ_VtxZ->setAxisTitle("L1 Track vertex position z [cm]", 1);
254  Track_LQ_VtxZ->setAxisTitle("# L1 Tracks", 2);
255 
256  // chi2
257  edm::ParameterSet psTrack_Chi2 = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2");
258  HistoName = "Track_LQ_Chi2";
259  Track_LQ_Chi2 = iBooker.book1D(HistoName,
260  HistoName,
261  psTrack_Chi2.getParameter<int32_t>("Nbinsx"),
262  psTrack_Chi2.getParameter<double>("xmin"),
263  psTrack_Chi2.getParameter<double>("xmax"));
264  Track_LQ_Chi2->setAxisTitle("L1 Track #chi^{2}", 1);
265  Track_LQ_Chi2->setAxisTitle("# L1 Tracks", 2);
266 
267  // chi2Red
268  edm::ParameterSet psTrack_Chi2Red = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2R");
269  HistoName = "Track_LQ_Chi2Red";
270  Track_LQ_Chi2Red = iBooker.book1D(HistoName,
271  HistoName,
272  psTrack_Chi2Red.getParameter<int32_t>("Nbinsx"),
273  psTrack_Chi2Red.getParameter<double>("xmin"),
274  psTrack_Chi2Red.getParameter<double>("xmax"));
275  Track_LQ_Chi2Red->setAxisTitle("L1 Track #chi^{2}/ndf", 1);
276  Track_LQ_Chi2Red->setAxisTitle("# L1 Tracks", 2);
277 
278  // Chi2 prob
279  edm::ParameterSet psTrack_Chi2_Probability = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2_Probability");
280  HistoName = "Track_LQ_Chi2_Probability";
281  Track_LQ_Chi2_Probability = iBooker.book1D(HistoName,
282  HistoName,
283  psTrack_Chi2_Probability.getParameter<int32_t>("Nbinsx"),
284  psTrack_Chi2_Probability.getParameter<double>("xmin"),
285  psTrack_Chi2_Probability.getParameter<double>("xmax"));
286  Track_LQ_Chi2_Probability->setAxisTitle("#chi^{2} probability", 1);
287  Track_LQ_Chi2_Probability->setAxisTitle("# L1 Tracks", 2);
288 
289  // Reduced chi2 vs #stubs
290  edm::ParameterSet psTrack_Chi2Red_NStubs = conf_.getParameter<edm::ParameterSet>("TH2_Track_Chi2R_NStubs");
291  HistoName = "Track_LQ_Chi2Red_NStubs";
292  Track_LQ_Chi2Red_NStubs = iBooker.book2D(HistoName,
293  HistoName,
294  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsx"),
295  psTrack_Chi2Red_NStubs.getParameter<double>("xmin"),
296  psTrack_Chi2Red_NStubs.getParameter<double>("xmax"),
297  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsy"),
298  psTrack_Chi2Red_NStubs.getParameter<double>("ymin"),
299  psTrack_Chi2Red_NStubs.getParameter<double>("ymax"));
300  Track_LQ_Chi2Red_NStubs->setAxisTitle("# L1 Stubs", 1);
301  Track_LQ_Chi2Red_NStubs->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
302 
303  // chi2/dof vs eta
304  edm::ParameterSet psTrack_Chi2R_Eta = conf_.getParameter<edm::ParameterSet>("TH2_Track_Chi2R_Eta");
305  HistoName = "Track_LQ_Chi2Red_Eta";
306  Track_LQ_Chi2Red_Eta = iBooker.book2D(HistoName,
307  HistoName,
308  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsx"),
309  psTrack_Chi2R_Eta.getParameter<double>("xmin"),
310  psTrack_Chi2R_Eta.getParameter<double>("xmax"),
311  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsy"),
312  psTrack_Chi2R_Eta.getParameter<double>("ymin"),
313  psTrack_Chi2R_Eta.getParameter<double>("ymax"));
315  Track_LQ_Chi2Red_Eta->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
316 
317  // Eta vs #stubs in barrel
318  HistoName = "Track_LQ_Eta_BarrelStubs";
319  Track_LQ_Eta_BarrelStubs = iBooker.book2D(HistoName,
320  HistoName,
321  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
322  psTrack_Eta_NStubs.getParameter<double>("xmin"),
323  psTrack_Eta_NStubs.getParameter<double>("xmax"),
324  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
325  psTrack_Eta_NStubs.getParameter<double>("ymin"),
326  psTrack_Eta_NStubs.getParameter<double>("ymax"));
328  Track_LQ_Eta_BarrelStubs->setAxisTitle("# L1 Barrel Stubs", 2);
329 
330  // Eta vs #stubs in EC
331  HistoName = "Track_LQ_Eta_ECStubs";
332  Track_LQ_Eta_ECStubs = iBooker.book2D(HistoName,
333  HistoName,
334  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
335  psTrack_Eta_NStubs.getParameter<double>("xmin"),
336  psTrack_Eta_NStubs.getParameter<double>("xmax"),
337  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
338  psTrack_Eta_NStubs.getParameter<double>("ymin"),
339  psTrack_Eta_NStubs.getParameter<double>("ymax"));
341  Track_LQ_Eta_ECStubs->setAxisTitle("# L1 EC Stubs", 2);
342 
344  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/HQ");
345  // Nb of L1Tracks
346  HistoName = "Track_HQ_N";
347  Track_HQ_N = iBooker.book1D(HistoName,
348  HistoName,
349  psTrack_N.getParameter<int32_t>("Nbinsx"),
350  psTrack_N.getParameter<double>("xmin"),
351  psTrack_N.getParameter<double>("xmax"));
352  Track_HQ_N->setAxisTitle("# L1 Tracks", 1);
353  Track_HQ_N->setAxisTitle("# Events", 2);
354 
355  // Pt of the tracks
356  HistoName = "Track_HQ_Pt";
357  Track_HQ_Pt = iBooker.book1D(HistoName,
358  HistoName,
359  psTrack_Pt.getParameter<int32_t>("Nbinsx"),
360  psTrack_Pt.getParameter<double>("xmin"),
361  psTrack_Pt.getParameter<double>("xmax"));
362  Track_HQ_Pt->setAxisTitle("p_{T} [GeV]", 1);
363  Track_HQ_Pt->setAxisTitle("# L1 Tracks", 2);
364 
365  // Phi
366  HistoName = "Track_HQ_Phi";
367  Track_HQ_Phi = iBooker.book1D(HistoName,
368  HistoName,
369  psTrack_Phi.getParameter<int32_t>("Nbinsx"),
370  psTrack_Phi.getParameter<double>("xmin"),
371  psTrack_Phi.getParameter<double>("xmax"));
372  Track_HQ_Phi->setAxisTitle("#phi", 1);
373  Track_HQ_Phi->setAxisTitle("# L1 Tracks", 2);
374 
375  // D0
376  HistoName = "Track_HQ_D0";
377  Track_HQ_D0 = iBooker.book1D(HistoName,
378  HistoName,
379  psTrack_D0.getParameter<int32_t>("Nbinsx"),
380  psTrack_D0.getParameter<double>("xmin"),
381  psTrack_D0.getParameter<double>("xmax"));
382  Track_HQ_D0->setAxisTitle("Track D0", 1);
383  Track_HQ_D0->setAxisTitle("# L1 Tracks", 2);
384 
385  // Eta
386  HistoName = "Track_HQ_Eta";
387  Track_HQ_Eta = iBooker.book1D(HistoName,
388  HistoName,
389  psTrack_Eta.getParameter<int32_t>("Nbinsx"),
390  psTrack_Eta.getParameter<double>("xmin"),
391  psTrack_Eta.getParameter<double>("xmax"));
392  Track_HQ_Eta->setAxisTitle("#eta", 1);
393  Track_HQ_Eta->setAxisTitle("# L1 Tracks", 2);
394 
395  // VtxZ
396  HistoName = "Track_HQ_VtxZ";
397  Track_HQ_VtxZ = iBooker.book1D(HistoName,
398  HistoName,
399  psTrack_VtxZ.getParameter<int32_t>("Nbinsx"),
400  psTrack_VtxZ.getParameter<double>("xmin"),
401  psTrack_VtxZ.getParameter<double>("xmax"));
402  Track_HQ_VtxZ->setAxisTitle("L1 Track vertex position z [cm]", 1);
403  Track_HQ_VtxZ->setAxisTitle("# L1 Tracks", 2);
404 
405  // chi2
406  HistoName = "Track_HQ_Chi2";
407  Track_HQ_Chi2 = iBooker.book1D(HistoName,
408  HistoName,
409  psTrack_Chi2.getParameter<int32_t>("Nbinsx"),
410  psTrack_Chi2.getParameter<double>("xmin"),
411  psTrack_Chi2.getParameter<double>("xmax"));
412  Track_HQ_Chi2->setAxisTitle("L1 Track #chi^{2}", 1);
413  Track_HQ_Chi2->setAxisTitle("# L1 Tracks", 2);
414 
415  // chi2Red
416  HistoName = "Track_HQ_Chi2Red";
417  Track_HQ_Chi2Red = iBooker.book1D(HistoName,
418  HistoName,
419  psTrack_Chi2Red.getParameter<int32_t>("Nbinsx"),
420  psTrack_Chi2Red.getParameter<double>("xmin"),
421  psTrack_Chi2Red.getParameter<double>("xmax"));
422  Track_HQ_Chi2Red->setAxisTitle("L1 Track #chi^{2}/ndf", 1);
423  Track_HQ_Chi2Red->setAxisTitle("# L1 Tracks", 2);
424 
425  // Chi2 prob
426  HistoName = "Track_HQ_Chi2_Probability";
427  Track_HQ_Chi2_Probability = iBooker.book1D(HistoName,
428  HistoName,
429  psTrack_Chi2_Probability.getParameter<int32_t>("Nbinsx"),
430  psTrack_Chi2_Probability.getParameter<double>("xmin"),
431  psTrack_Chi2_Probability.getParameter<double>("xmax"));
432  Track_HQ_Chi2_Probability->setAxisTitle("#chi^{2} probability", 1);
433  Track_HQ_Chi2_Probability->setAxisTitle("# L1 Tracks", 2);
434 
435  // Reduced chi2 vs #stubs
436  HistoName = "Track_HQ_Chi2Red_NStubs";
437  Track_HQ_Chi2Red_NStubs = iBooker.book2D(HistoName,
438  HistoName,
439  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsx"),
440  psTrack_Chi2Red_NStubs.getParameter<double>("xmin"),
441  psTrack_Chi2Red_NStubs.getParameter<double>("xmax"),
442  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsy"),
443  psTrack_Chi2Red_NStubs.getParameter<double>("ymin"),
444  psTrack_Chi2Red_NStubs.getParameter<double>("ymax"));
445  Track_HQ_Chi2Red_NStubs->setAxisTitle("# L1 Stubs", 1);
446  Track_HQ_Chi2Red_NStubs->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
447 
448  // chi2/dof vs eta
449  HistoName = "Track_HQ_Chi2Red_Eta";
450  Track_HQ_Chi2Red_Eta = iBooker.book2D(HistoName,
451  HistoName,
452  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsx"),
453  psTrack_Chi2R_Eta.getParameter<double>("xmin"),
454  psTrack_Chi2R_Eta.getParameter<double>("xmax"),
455  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsy"),
456  psTrack_Chi2R_Eta.getParameter<double>("ymin"),
457  psTrack_Chi2R_Eta.getParameter<double>("ymax"));
459  Track_HQ_Chi2Red_Eta->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
460 
461  // eta vs #stubs in barrel
462  HistoName = "Track_HQ_Eta_BarrelStubs";
463  Track_HQ_Eta_BarrelStubs = iBooker.book2D(HistoName,
464  HistoName,
465  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
466  psTrack_Eta_NStubs.getParameter<double>("xmin"),
467  psTrack_Eta_NStubs.getParameter<double>("xmax"),
468  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
469  psTrack_Eta_NStubs.getParameter<double>("ymin"),
470  psTrack_Eta_NStubs.getParameter<double>("ymax"));
472  Track_HQ_Eta_BarrelStubs->setAxisTitle("# L1 Barrel Stubs", 2);
473 
474  // eta vs #stubs in EC
475  HistoName = "Track_HQ_Eta_ECStubs";
476  Track_HQ_Eta_ECStubs = iBooker.book2D(HistoName,
477  HistoName,
478  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
479  psTrack_Eta_NStubs.getParameter<double>("xmin"),
480  psTrack_Eta_NStubs.getParameter<double>("xmax"),
481  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
482  psTrack_Eta_NStubs.getParameter<double>("ymin"),
483  psTrack_Eta_NStubs.getParameter<double>("ymax"));
485  Track_HQ_Eta_ECStubs->setAxisTitle("# L1 EC Stubs", 2);
486 
487 } // end of method
T getParameter(std::string const &) const
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * Track_HQ_N
High-quality TTTracks (NStubs >=5, chi2/dof<10)
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
MonitorElement * Track_LQ_N
Low-quality TTTracks (All tracks)
std::string HistoName
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

edm::ParameterSet OuterTrackerMonitorTTTrack::conf_
private

Definition at line 64 of file OuterTrackerMonitorTTTrack.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTTrack().

double OuterTrackerMonitorTTTrack::HQChi2dof_
private

Definition at line 68 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().

unsigned int OuterTrackerMonitorTTTrack::HQNStubs_
private

Definition at line 67 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().

std::string OuterTrackerMonitorTTTrack::topFolderName_
private

Definition at line 69 of file OuterTrackerMonitorTTTrack.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTTrack().

MonitorElement* OuterTrackerMonitorTTTrack::Track_Eta_NStubs = 0

Definition at line 30 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2 = 0

Definition at line 55 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2_Probability = 0

Definition at line 61 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red = 0

Definition at line 56 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red_Eta = 0

Definition at line 58 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red_NStubs = 0

Definition at line 57 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_D0 = 0

Definition at line 53 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta = 0

Definition at line 51 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta_BarrelStubs = 0

Definition at line 59 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta_ECStubs = 0

Definition at line 60 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_N = 0

High-quality TTTracks (NStubs >=5, chi2/dof<10)

Definition at line 49 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Phi = 0

Definition at line 52 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Pt = 0

Definition at line 50 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_VtxZ = 0

Definition at line 54 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2 = 0

Definition at line 40 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2_Probability = 0

Definition at line 46 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red = 0

Definition at line 41 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red_Eta = 0

Definition at line 43 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red_NStubs = 0

Definition at line 42 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_D0 = 0

Definition at line 38 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta = 0

Definition at line 36 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta_BarrelStubs = 0

Definition at line 44 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta_ECStubs = 0

Definition at line 45 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_N = 0

Low-quality TTTracks (All tracks)

Definition at line 34 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Phi = 0

Definition at line 37 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Pt = 0

Definition at line 35 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_VtxZ = 0

Definition at line 39 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_NStubs = 0

Definition at line 29 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<std::vector<TTTrack<Ref_Phase2TrackerDigi_> > > OuterTrackerMonitorTTTrack::ttTrackToken_
private

Definition at line 65 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().