CMS 3D CMS Logo

OuterTrackerMonitorTrackingParticles.cc
Go to the documentation of this file.
1 // Package: SiOuterTrackerV
2 // Class: SiOuterTrackerV
3 
4 // Original Author: Emily MacDonald
5 
6 // system include files
7 #include <fstream>
8 #include <iostream>
9 #include <memory>
10 #include <numeric>
11 #include <vector>
12 
13 // user include files
34 
36 
37 //
38 // constructors and destructor
39 //
41  : conf_(iConfig) {
42  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
44  consumes<std::vector<TrackingParticle>>(conf_.getParameter<edm::InputTag>("trackingParticleToken"));
46  consumes<TTStubAssociationMap<Ref_Phase2TrackerDigi_>>(conf_.getParameter<edm::InputTag>("MCTruthStubInputTag"));
47  ttClusterMCTruthToken_ = consumes<TTClusterAssociationMap<Ref_Phase2TrackerDigi_>>(
48  conf_.getParameter<edm::InputTag>("MCTruthClusterInputTag"));
49  ttTrackMCTruthToken_ = consumes<TTTrackAssociationMap<Ref_Phase2TrackerDigi_>>(
50  conf_.getParameter<edm::InputTag>("MCTruthTrackInputTag"));
51  L1Tk_nPar = conf_.getParameter<int>("L1Tk_nPar"); // 4 or 5(d0) track parameters
52  L1Tk_minNStub = conf_.getParameter<int>("L1Tk_minNStub"); // min number of stubs in the track
53  L1Tk_maxChi2 = conf_.getParameter<double>("L1Tk_maxChi2"); // maximum chi2 of the track
54  L1Tk_maxChi2dof = conf_.getParameter<double>("L1Tk_maxChi2dof"); // maximum chi2/dof of the track
55  TP_minNStub = conf_.getParameter<int>("TP_minNStub"); // min number of stubs in the tracking particle to
56  //min number of layers with stubs in the tracking particle to consider matching
57  TP_minNLayersStub = conf_.getParameter<int>("TP_minNLayersStub");
58  TP_minPt = conf_.getParameter<double>("TP_minPt"); // min pT to consider matching
59  TP_maxPt = conf_.getParameter<double>("TP_maxPt"); // max pT to consider matching
60  TP_maxEta = conf_.getParameter<double>("TP_maxEta"); // max eta to consider matching
61  TP_maxVtxZ = conf_.getParameter<double>("TP_maxVtxZ"); // max vertZ (or z0) to consider matching
62  TP_select_eventid = conf_.getParameter<int>("TP_select_eventid"); // PI or not
63 }
64 
66  // do anything here that needs to be done at desctruction time
67  // (e.g. close files, deallocate resources etc.)
68 }
69 
70 // member functions
71 
72 // ------------ method called for each event ------------
74  // Tracking Particles
75  edm::Handle<std::vector<TrackingParticle>> trackingParticleHandle;
76  iEvent.getByToken(trackingParticleToken_, trackingParticleHandle);
77 
78  // Truth Association Maps
80  iEvent.getByToken(ttTrackMCTruthToken_, MCTruthTTTrackHandle);
82  iEvent.getByToken(ttClusterMCTruthToken_, MCTruthTTClusterHandle);
84  iEvent.getByToken(ttStubMCTruthToken_, MCTruthTTStubHandle);
85 
86  // Geometries
88  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
89  const TrackerTopology *const tTopo = tTopoHandle.product();
90 
91  // Loop over tracking particles
92  int this_tp = 0;
93  for (auto iterTP : *trackingParticleHandle) {
94  edm::Ptr<TrackingParticle> tp_ptr(trackingParticleHandle, this_tp);
95  this_tp++;
96 
97  int tmp_eventid = iterTP.eventId().event();
98  float tmp_tp_pt = iterTP.pt();
99  float tmp_tp_phi = iterTP.phi();
100  float tmp_tp_eta = iterTP.eta();
101 
102  //Calculate nLayers variable
103  std::vector<edm::Ref<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>, TTStub<Ref_Phase2TrackerDigi_>>>
104  theStubRefs = MCTruthTTStubHandle->findTTStubRefs(tp_ptr);
105 
106  int hasStubInLayer[11] = {0};
107  for (unsigned int is = 0; is < theStubRefs.size(); is++) {
108  DetId detid(theStubRefs.at(is)->getDetId());
109  int layer = -1;
110  if (detid.subdetId() == StripSubdetector::TOB)
111  layer = static_cast<int>(tTopo->layer(detid)) - 1; //fill in array as entries 0-5
112  else if (detid.subdetId() == StripSubdetector::TID)
113  layer = static_cast<int>(tTopo->layer(detid)) + 5; //fill in array as entries 6-10
114 
115  //treat genuine stubs separately (==2 is genuine, ==1 is not)
116  if (MCTruthTTStubHandle->findTrackingParticlePtr(theStubRefs.at(is)).isNull() && hasStubInLayer[layer] < 2)
117  hasStubInLayer[layer] = 1;
118  else
119  hasStubInLayer[layer] = 2;
120  }
121 
122  int nStubLayerTP = 0;
123  int nStubLayerTP_g = 0;
124  for (int isum = 0; isum < 11; isum++) {
125  if (hasStubInLayer[isum] >= 1)
126  nStubLayerTP += 1;
127  else if (hasStubInLayer[isum] == 2)
128  nStubLayerTP_g += 1;
129  }
130 
131  if (std::fabs(tmp_tp_eta) > TP_maxEta)
132  continue;
133  // Fill the 1D distribution plots for tracking particles, to monitor change in stub definition
134  if (tmp_tp_pt > TP_minPt && nStubLayerTP >= TP_minNLayersStub) {
135  trackParts_Pt->Fill(tmp_tp_pt);
136  trackParts_Eta->Fill(tmp_tp_eta);
137  trackParts_Phi->Fill(tmp_tp_phi);
138  }
139 
140  if (TP_select_eventid == 0 && tmp_eventid != 0)
141  continue; //only care about tracking particles from the primary interaction for efficiency/resolution
142  int nStubTP = -1;
143  if (MCTruthTTStubHandle.isValid()) {
144  std::vector<edm::Ref<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>, TTStub<Ref_Phase2TrackerDigi_>>>
145  theStubRefs = MCTruthTTStubHandle->findTTStubRefs(tp_ptr);
146  nStubTP = (int)theStubRefs.size();
147  }
148  if (MCTruthTTClusterHandle.isValid() && MCTruthTTClusterHandle->findTTClusterRefs(tp_ptr).empty())
149  continue;
150 
151  float tmp_tp_vz = iterTP.vz();
152  float tmp_tp_vx = iterTP.vx();
153  float tmp_tp_vy = iterTP.vy();
154  float tmp_tp_charge = tp_ptr->charge();
155  int tmp_tp_pdgid = iterTP.pdgId();
156 
157  // ----------------------------------------------------------------------------------------------
158  // calculate d0 and VtxZ propagated back to the IP, pass if greater than max
159  // VtxZ
160  float tmp_tp_t = tan(2.0 * atan(1.0) - 2.0 * atan(exp(-tmp_tp_eta)));
161  float delx = -tmp_tp_vx;
162  float dely = -tmp_tp_vy;
163  float K = 0.01 * 0.5696 / tmp_tp_pt * tmp_tp_charge; // curvature correction
164  float A = 1. / (2. * K);
165  float tmp_tp_x0p = delx - A * sin(tmp_tp_phi);
166  float tmp_tp_y0p = dely + A * cos(tmp_tp_phi);
167  float tmp_tp_rp = sqrt(tmp_tp_x0p * tmp_tp_x0p + tmp_tp_y0p * tmp_tp_y0p);
168  static double pi = 4.0 * atan(1.0);
169  float delphi = tmp_tp_phi - atan2(-K * tmp_tp_x0p, K * tmp_tp_y0p);
170  if (delphi < -pi)
171  delphi += 2.0 * pi;
172  if (delphi > pi)
173  delphi -= 2.0 * pi;
174 
175  float tmp_tp_VtxZ = tmp_tp_vz + tmp_tp_t * delphi / (2.0 * K);
176  float tmp_tp_VtxR = sqrt(tmp_tp_vx * tmp_tp_vx + tmp_tp_vy * tmp_tp_vy);
177  float tmp_tp_d0 = tmp_tp_charge * tmp_tp_rp - (1. / (2. * K));
178 
179  // simpler formula for d0, in cases where the charge is zero:
180  // https://github.com/cms-sw/cmssw/blob/master/DataFormats/TrackReco/interface/TrackBase.h
181  float other_d0 = -tmp_tp_vx * sin(tmp_tp_phi) + tmp_tp_vy * cos(tmp_tp_phi);
182  tmp_tp_d0 = tmp_tp_d0 * (-1); // fix d0 sign
183  if (K == 0) {
184  tmp_tp_d0 = other_d0;
185  tmp_tp_VtxZ = tmp_tp_vz;
186  }
187  if (std::fabs(tmp_tp_VtxZ) > TP_maxVtxZ)
188  continue;
189 
190  // To make efficiency plots where the denominator has NO stub cuts
191  if (tmp_tp_VtxR < 1.0) {
192  tp_pt->Fill(tmp_tp_pt); //pT effic, no cut on pT, but VtxR cut
193  if (tmp_tp_pt <= 10)
194  tp_pt_zoom->Fill(tmp_tp_pt); //pT effic, no cut on pT, but VtxR cut
195  }
196  if (tmp_tp_pt < TP_minPt)
197  continue;
198  tp_VtxR->Fill(tmp_tp_VtxR); // VtxR efficiency has no cut on VtxR
199  if (tmp_tp_VtxR > 1.0)
200  continue;
201  tp_eta->Fill(tmp_tp_eta);
202  tp_d0->Fill(tmp_tp_d0);
203  tp_VtxZ->Fill(tmp_tp_VtxZ);
204 
205  if (nStubTP < TP_minNStub || nStubLayerTP < TP_minNLayersStub)
206  continue; //nStub cut not included in denominator of efficiency plots
207 
208  // ----------------------------------------------------------------------------------------------
209  // look for L1 tracks matched to the tracking particle
210  int tp_nMatch = 0;
211  int i_track = -1;
212  float i_chi2dof = 99999;
213  if (MCTruthTTTrackHandle.isValid()) {
214  std::vector<edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>>> matchedTracks =
215  MCTruthTTTrackHandle->findTTTrackPtrs(tp_ptr);
216 
217  // ----------------------------------------------------------------------------------------------
218  // loop over matched L1 tracks
219  // here, "match" means tracks that can be associated to a TrackingParticle
220  // with at least one hit of at least one of its clusters
221  // https://twiki.cern.ch/twiki/bin/viewauth/CMS/SLHCTrackerTriggerSWTools#MC_truth_for_TTTrack
222  int trkCounter = 0;
223  for (auto thisTrack : matchedTracks) {
224  if (!MCTruthTTTrackHandle->isGenuine(thisTrack))
225  continue;
226  // ----------------------------------------------------------------------------------------------
227  // further require L1 track to be (loosely) genuine, that there is only
228  // one TP matched to the track
229  // + have >= L1Tk_minNStub stubs for it to be a valid match
230  int tmp_trk_nstub = thisTrack->getStubRefs().size();
231  if (tmp_trk_nstub < L1Tk_minNStub)
232  continue;
233  float dmatch_pt = 999;
234  float dmatch_eta = 999;
235  float dmatch_phi = 999;
236  int match_id = 999;
237 
238  edm::Ptr<TrackingParticle> my_tp = MCTruthTTTrackHandle->findTrackingParticlePtr(thisTrack);
239  dmatch_pt = std::fabs(my_tp->p4().pt() - tmp_tp_pt);
240  dmatch_eta = std::fabs(my_tp->p4().eta() - tmp_tp_eta);
241  dmatch_phi = std::fabs(my_tp->p4().phi() - tmp_tp_phi);
242  match_id = my_tp->pdgId();
243  float tmp_trk_chi2dof = (thisTrack->chi2()) / (2 * tmp_trk_nstub - L1Tk_nPar);
244 
245  // ensure that track is uniquely matched to the TP we are looking at!
246  if (dmatch_pt < 0.1 && dmatch_eta < 0.1 && dmatch_phi < 0.1 && tmp_tp_pdgid == match_id) {
247  tp_nMatch++;
248  if (i_track < 0 || tmp_trk_chi2dof < i_chi2dof) {
249  i_track = trkCounter;
250  i_chi2dof = tmp_trk_chi2dof;
251  }
252  }
253  trkCounter++;
254  } // end loop over matched L1 tracks
255 
256  if (tp_nMatch < 1)
257  continue;
258  // Get information on the matched tracks
259  float tmp_matchtrk_pt = -999;
260  float tmp_matchtrk_eta = -999;
261  float tmp_matchtrk_phi = -999;
262  float tmp_matchtrk_VtxZ = -999;
263  float tmp_matchtrk_chi2 = -999;
264  float tmp_matchtrk_chi2dof = -999;
265  int tmp_matchTrk_nStub = -999;
266  float tmp_matchtrk_d0 = -999;
267 
268  tmp_matchtrk_pt = matchedTracks[i_track]->momentum().perp();
269  tmp_matchtrk_eta = matchedTracks[i_track]->eta();
270  tmp_matchtrk_phi = matchedTracks[i_track]->phi();
271  tmp_matchtrk_VtxZ = matchedTracks[i_track]->z0();
272  tmp_matchtrk_chi2 = matchedTracks[i_track]->chi2();
273  tmp_matchtrk_chi2dof = matchedTracks[i_track]->chi2Red();
274  tmp_matchTrk_nStub = (int)matchedTracks[i_track]->getStubRefs().size();
275 
276  Track_MatchedChi2->Fill(tmp_matchtrk_chi2);
277  Track_MatchedChi2Red->Fill(tmp_matchtrk_chi2dof);
278 
279  //for d0
280  float tmp_matchtrk_x0 = matchedTracks[i_track]->POCA().x();
281  float tmp_matchtrk_y0 = matchedTracks[i_track]->POCA().y();
282  tmp_matchtrk_d0 = -tmp_matchtrk_x0 * sin(tmp_matchtrk_phi) + tmp_matchtrk_y0 * cos(tmp_matchtrk_phi);
283 
284  //Add cuts for the matched tracks, numerator
285  if (tmp_tp_pt > TP_maxPt)
286  continue;
287  if (tmp_matchTrk_nStub < L1Tk_minNStub || tmp_matchtrk_chi2 > L1Tk_maxChi2 ||
288  tmp_matchtrk_chi2dof > L1Tk_maxChi2dof)
289  continue;
290 
291  // fill matched track histograms (if passes all criteria)
292  match_tp_pt->Fill(tmp_tp_pt);
293  if (tmp_tp_pt > 0 && tmp_tp_pt <= 10)
294  match_tp_pt_zoom->Fill(tmp_tp_pt);
295  match_tp_eta->Fill(tmp_tp_eta);
296  match_tp_d0->Fill(tmp_tp_d0);
297  match_tp_VtxR->Fill(tmp_tp_VtxR);
298  match_tp_VtxZ->Fill(tmp_tp_VtxZ);
299 
300  // Eta and pT histograms for resolution
301  float pt_diff = tmp_matchtrk_pt - tmp_tp_pt;
302  float pt_res = pt_diff / tmp_tp_pt;
303  float eta_res = tmp_matchtrk_eta - tmp_tp_eta;
304  float phi_res = tmp_matchtrk_phi - tmp_tp_phi;
305  float VtxZ_res = tmp_matchtrk_VtxZ - tmp_tp_VtxZ;
306  float d0_res = tmp_matchtrk_d0 - tmp_tp_d0;
307 
308  // fill total resolution histograms
309  res_pt->Fill(pt_diff);
310  res_ptRel->Fill(pt_res);
311  res_eta->Fill(eta_res);
312 
313  // Fill resolution plots for different abs(eta) bins:
314  // (0, 0.7), (0.7, 1.0), (1.0, 1.2), (1.2, 1.6), (1.6, 2.0), (2.0, 2.4)
315  if (std::fabs(tmp_tp_eta) >= 0 && std::fabs(tmp_tp_eta) < 0.7) {
316  reseta_eta0to0p7->Fill(eta_res);
317  resphi_eta0to0p7->Fill(phi_res);
318  resVtxZ_eta0to0p7->Fill(VtxZ_res);
319  resd0_eta0to0p7->Fill(d0_res);
320  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
321  respt_eta0to0p7_pt2to3->Fill(pt_res);
322  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
323  respt_eta0to0p7_pt3to8->Fill(pt_res);
324  else if (tmp_tp_pt >= 8)
326  } else if (std::fabs(tmp_tp_eta) >= 0.7 && std::fabs(tmp_tp_eta) < 1.0) {
327  reseta_eta0p7to1->Fill(eta_res);
328  resphi_eta0p7to1->Fill(phi_res);
329  resVtxZ_eta0p7to1->Fill(VtxZ_res);
330  resd0_eta0p7to1->Fill(d0_res);
331  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
332  respt_eta0p7to1_pt2to3->Fill(pt_res);
333  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
334  respt_eta0p7to1_pt3to8->Fill(pt_res);
335  else if (tmp_tp_pt >= 8)
337  } else if (std::fabs(tmp_tp_eta) >= 1.0 && std::fabs(tmp_tp_eta) < 1.2) {
338  reseta_eta1to1p2->Fill(eta_res);
339  resphi_eta1to1p2->Fill(phi_res);
340  resVtxZ_eta1to1p2->Fill(VtxZ_res);
341  resd0_eta1to1p2->Fill(d0_res);
342  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
343  respt_eta1to1p2_pt2to3->Fill(pt_res);
344  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
345  respt_eta1to1p2_pt3to8->Fill(pt_res);
346  else if (tmp_tp_pt >= 8)
348  } else if (std::fabs(tmp_tp_eta) >= 1.2 && std::fabs(tmp_tp_eta) < 1.6) {
349  reseta_eta1p2to1p6->Fill(eta_res);
350  resphi_eta1p2to1p6->Fill(phi_res);
351  resVtxZ_eta1p2to1p6->Fill(VtxZ_res);
352  resd0_eta1p2to1p6->Fill(d0_res);
353  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
355  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
357  else if (tmp_tp_pt >= 8)
359  } else if (std::fabs(tmp_tp_eta) >= 1.6 && std::fabs(tmp_tp_eta) < 2.0) {
360  reseta_eta1p6to2->Fill(eta_res);
361  resphi_eta1p6to2->Fill(phi_res);
362  resVtxZ_eta1p6to2->Fill(VtxZ_res);
363  resd0_eta1p6to2->Fill(d0_res);
364  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
365  respt_eta1p6to2_pt2to3->Fill(pt_res);
366  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
367  respt_eta1p6to2_pt3to8->Fill(pt_res);
368  else if (tmp_tp_pt >= 8)
370  } else if (std::fabs(tmp_tp_eta) >= 2.0 && std::fabs(tmp_tp_eta) <= 2.4) {
371  reseta_eta2to2p4->Fill(eta_res);
372  resphi_eta2to2p4->Fill(phi_res);
373  resVtxZ_eta2to2p4->Fill(VtxZ_res);
374  resd0_eta2to2p4->Fill(d0_res);
375  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
376  respt_eta2to2p4_pt2to3->Fill(pt_res);
377  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
378  respt_eta2to2p4_pt3to8->Fill(pt_res);
379  else if (tmp_tp_pt >= 8)
381  }
382  } //if MC TTTrack handle is valid
383  } //end loop over tracking particles
384 } // end of method
385 
386 // ------------ method called once each job just before starting event loop
387 // ------------
389  edm::Run const &run,
390  edm::EventSetup const &es) {
391  // Histogram setup and definitions
393  iBooker.setCurrentFolder(topFolderName_ + "/trackParticles");
394 
395  // 1D: pT
396  edm::ParameterSet psTrackParts_Pt = conf_.getParameter<edm::ParameterSet>("TH1TrackParts_Pt");
397  HistoName = "trackParts_Pt";
398  trackParts_Pt = iBooker.book1D(HistoName,
399  HistoName,
400  psTrackParts_Pt.getParameter<int32_t>("Nbinsx"),
401  psTrackParts_Pt.getParameter<double>("xmin"),
402  psTrackParts_Pt.getParameter<double>("xmax"));
403  trackParts_Pt->setAxisTitle("p_{T} [GeV]", 1);
404  trackParts_Pt->setAxisTitle("# tracking particles", 2);
405 
406  // 1D: eta
407  edm::ParameterSet psTrackParts_Eta = conf_.getParameter<edm::ParameterSet>("TH1TrackParts_Eta");
408  HistoName = "trackParts_Eta";
409  trackParts_Eta = iBooker.book1D(HistoName,
410  HistoName,
411  psTrackParts_Eta.getParameter<int32_t>("Nbinsx"),
412  psTrackParts_Eta.getParameter<double>("xmin"),
413  psTrackParts_Eta.getParameter<double>("xmax"));
414  trackParts_Eta->setAxisTitle("#eta", 1);
415  trackParts_Eta->setAxisTitle("# tracking particles", 2);
416 
417  // 1D: phi
418  edm::ParameterSet psTrackParts_Phi = conf_.getParameter<edm::ParameterSet>("TH1TrackParts_Phi");
419  HistoName = "trackParts_Phi";
420  trackParts_Phi = iBooker.book1D(HistoName,
421  HistoName,
422  psTrackParts_Phi.getParameter<int32_t>("Nbinsx"),
423  psTrackParts_Phi.getParameter<double>("xmin"),
424  psTrackParts_Phi.getParameter<double>("xmax"));
425  trackParts_Phi->setAxisTitle("#phi", 1);
426  trackParts_Phi->setAxisTitle("# tracking particles", 2);
427 
428  // For tracks correctly matched to truth-level track
429  iBooker.setCurrentFolder(topFolderName_ + "/Tracks");
430  // chi2
431  edm::ParameterSet psTrack_Chi2 = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2");
432  HistoName = "Track_MatchedChi2";
434  HistoName,
435  psTrack_Chi2.getParameter<int32_t>("Nbinsx"),
436  psTrack_Chi2.getParameter<double>("xmin"),
437  psTrack_Chi2.getParameter<double>("xmax"));
438  Track_MatchedChi2->setAxisTitle("L1 Track #chi^{2}", 1);
439  Track_MatchedChi2->setAxisTitle("# Correctly Matched L1 Tracks", 2);
440 
441  // chi2Red
442  edm::ParameterSet psTrack_Chi2Red = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2R");
443  HistoName = "Track_MatchedChi2Red";
445  HistoName,
446  psTrack_Chi2Red.getParameter<int32_t>("Nbinsx"),
447  psTrack_Chi2Red.getParameter<double>("xmin"),
448  psTrack_Chi2Red.getParameter<double>("xmax"));
449  Track_MatchedChi2Red->setAxisTitle("L1 Track #chi^{2}/ndf", 1);
450  Track_MatchedChi2Red->setAxisTitle("# Correctly Matched L1 Tracks", 2);
451 
452  // 1D plots for efficiency
453  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/Efficiency");
454  // pT
455  edm::ParameterSet psEffic_pt = conf_.getParameter<edm::ParameterSet>("TH1Effic_pt");
456  HistoName = "tp_pt";
457  tp_pt = iBooker.book1D(HistoName,
458  HistoName,
459  psEffic_pt.getParameter<int32_t>("Nbinsx"),
460  psEffic_pt.getParameter<double>("xmin"),
461  psEffic_pt.getParameter<double>("xmax"));
462  tp_pt->setAxisTitle("p_{T} [GeV]", 1);
463  tp_pt->setAxisTitle("# tracking particles", 2);
464 
465  // Matched TP's pT
466  HistoName = "match_tp_pt";
467  match_tp_pt = iBooker.book1D(HistoName,
468  HistoName,
469  psEffic_pt.getParameter<int32_t>("Nbinsx"),
470  psEffic_pt.getParameter<double>("xmin"),
471  psEffic_pt.getParameter<double>("xmax"));
472  match_tp_pt->setAxisTitle("p_{T} [GeV]", 1);
473  match_tp_pt->setAxisTitle("# matched tracking particles", 2);
474 
475  // pT zoom (0-10 GeV)
476  edm::ParameterSet psEffic_pt_zoom = conf_.getParameter<edm::ParameterSet>("TH1Effic_pt_zoom");
477  HistoName = "tp_pt_zoom";
478  tp_pt_zoom = iBooker.book1D(HistoName,
479  HistoName,
480  psEffic_pt_zoom.getParameter<int32_t>("Nbinsx"),
481  psEffic_pt_zoom.getParameter<double>("xmin"),
482  psEffic_pt_zoom.getParameter<double>("xmax"));
483  tp_pt_zoom->setAxisTitle("p_{T} [GeV]", 1);
484  tp_pt_zoom->setAxisTitle("# tracking particles", 2);
485 
486  // Matched pT zoom (0-10 GeV)
487  HistoName = "match_tp_pt_zoom";
489  HistoName,
490  psEffic_pt_zoom.getParameter<int32_t>("Nbinsx"),
491  psEffic_pt_zoom.getParameter<double>("xmin"),
492  psEffic_pt_zoom.getParameter<double>("xmax"));
493  match_tp_pt_zoom->setAxisTitle("p_{T} [GeV]", 1);
494  match_tp_pt_zoom->setAxisTitle("# matched tracking particles", 2);
495 
496  // eta
497  edm::ParameterSet psEffic_eta = conf_.getParameter<edm::ParameterSet>("TH1Effic_eta");
498  HistoName = "tp_eta";
499  tp_eta = iBooker.book1D(HistoName,
500  HistoName,
501  psEffic_eta.getParameter<int32_t>("Nbinsx"),
502  psEffic_eta.getParameter<double>("xmin"),
503  psEffic_eta.getParameter<double>("xmax"));
504  tp_eta->setAxisTitle("#eta", 1);
505  tp_eta->setAxisTitle("# tracking particles", 2);
506 
507  // Matched eta
508  HistoName = "match_tp_eta";
509  match_tp_eta = iBooker.book1D(HistoName,
510  HistoName,
511  psEffic_eta.getParameter<int32_t>("Nbinsx"),
512  psEffic_eta.getParameter<double>("xmin"),
513  psEffic_eta.getParameter<double>("xmax"));
514  match_tp_eta->setAxisTitle("#eta", 1);
515  match_tp_eta->setAxisTitle("# matched tracking particles", 2);
516 
517  // d0
518  edm::ParameterSet psEffic_d0 = conf_.getParameter<edm::ParameterSet>("TH1Effic_d0");
519  HistoName = "tp_d0";
520  tp_d0 = iBooker.book1D(HistoName,
521  HistoName,
522  psEffic_d0.getParameter<int32_t>("Nbinsx"),
523  psEffic_d0.getParameter<double>("xmin"),
524  psEffic_d0.getParameter<double>("xmax"));
525  tp_d0->setAxisTitle("d_{0} [cm]", 1);
526  tp_d0->setAxisTitle("# tracking particles", 2);
527 
528  // Matched d0
529  HistoName = "match_tp_d0";
530  match_tp_d0 = iBooker.book1D(HistoName,
531  HistoName,
532  psEffic_d0.getParameter<int32_t>("Nbinsx"),
533  psEffic_d0.getParameter<double>("xmin"),
534  psEffic_d0.getParameter<double>("xmax"));
535  match_tp_d0->setAxisTitle("d_{0} [cm]", 1);
536  match_tp_d0->setAxisTitle("# matched tracking particles", 2);
537 
538  // VtxR (also known as vxy)
539  edm::ParameterSet psEffic_VtxR = conf_.getParameter<edm::ParameterSet>("TH1Effic_VtxR");
540  HistoName = "tp_VtxR";
541  tp_VtxR = iBooker.book1D(HistoName,
542  HistoName,
543  psEffic_VtxR.getParameter<int32_t>("Nbinsx"),
544  psEffic_VtxR.getParameter<double>("xmin"),
545  psEffic_VtxR.getParameter<double>("xmax"));
546  tp_VtxR->setAxisTitle("d_{xy} [cm]", 1);
547  tp_VtxR->setAxisTitle("# tracking particles", 2);
548 
549  // Matched VtxR
550  HistoName = "match_tp_VtxR";
551  match_tp_VtxR = iBooker.book1D(HistoName,
552  HistoName,
553  psEffic_VtxR.getParameter<int32_t>("Nbinsx"),
554  psEffic_VtxR.getParameter<double>("xmin"),
555  psEffic_VtxR.getParameter<double>("xmax"));
556  match_tp_VtxR->setAxisTitle("d_{xy} [cm]", 1);
557  match_tp_VtxR->setAxisTitle("# matched tracking particles", 2);
558 
559  // VtxZ
560  edm::ParameterSet psEffic_VtxZ = conf_.getParameter<edm::ParameterSet>("TH1Effic_VtxZ");
561  HistoName = "tp_VtxZ";
562  tp_VtxZ = iBooker.book1D(HistoName,
563  HistoName,
564  psEffic_VtxZ.getParameter<int32_t>("Nbinsx"),
565  psEffic_VtxZ.getParameter<double>("xmin"),
566  psEffic_VtxZ.getParameter<double>("xmax"));
567  tp_VtxZ->setAxisTitle("z_{0} [cm]", 1);
568  tp_VtxZ->setAxisTitle("# tracking particles", 2);
569 
570  // Matched d0
571  HistoName = "match_tp_VtxZ";
572  match_tp_VtxZ = iBooker.book1D(HistoName,
573  HistoName,
574  psEffic_VtxZ.getParameter<int32_t>("Nbinsx"),
575  psEffic_VtxZ.getParameter<double>("xmin"),
576  psEffic_VtxZ.getParameter<double>("xmax"));
577  match_tp_VtxZ->setAxisTitle("z_{0} [cm]", 1);
578  match_tp_VtxZ->setAxisTitle("# matched tracking particles", 2);
579 
580  // 1D plots for resolution
581  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/Resolution");
582  // full pT
583  edm::ParameterSet psRes_pt = conf_.getParameter<edm::ParameterSet>("TH1Res_pt");
584  HistoName = "res_pt";
585  res_pt = iBooker.book1D(HistoName,
586  HistoName,
587  psRes_pt.getParameter<int32_t>("Nbinsx"),
588  psRes_pt.getParameter<double>("xmin"),
589  psRes_pt.getParameter<double>("xmax"));
590  res_pt->setAxisTitle("p_{T} [GeV]", 1);
591  res_pt->setAxisTitle("# tracking particles", 2);
592 
593  // Full eta
594  edm::ParameterSet psRes_eta = conf_.getParameter<edm::ParameterSet>("TH1Res_eta");
595  HistoName = "res_eta";
596  res_eta = iBooker.book1D(HistoName,
597  HistoName,
598  psRes_eta.getParameter<int32_t>("Nbinsx"),
599  psRes_eta.getParameter<double>("xmin"),
600  psRes_eta.getParameter<double>("xmax"));
601  res_eta->setAxisTitle("#eta", 1);
602  res_eta->setAxisTitle("# tracking particles", 2);
603 
604  // Relative pT
605  edm::ParameterSet psRes_ptRel = conf_.getParameter<edm::ParameterSet>("TH1Res_ptRel");
606  HistoName = "res_ptRel";
607  res_ptRel = iBooker.book1D(HistoName,
608  HistoName,
609  psRes_ptRel.getParameter<int32_t>("Nbinsx"),
610  psRes_ptRel.getParameter<double>("xmin"),
611  psRes_ptRel.getParameter<double>("xmax"));
612  res_ptRel->setAxisTitle("Relative p_{T} [GeV]", 1);
613  res_ptRel->setAxisTitle("# tracking particles", 2);
614 
615  // Eta parts (for resolution)
616  // Eta 1 (0 to 0.7)
617  HistoName = "reseta_eta0to0p7";
619  HistoName,
620  psRes_eta.getParameter<int32_t>("Nbinsx"),
621  psRes_eta.getParameter<double>("xmin"),
622  psRes_eta.getParameter<double>("xmax"));
623  reseta_eta0to0p7->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
624  reseta_eta0to0p7->setAxisTitle("# tracking particles", 2);
625 
626  // Eta 2 (0.7 to 1.0)
627  HistoName = "reseta_eta0p7to1";
629  HistoName,
630  psRes_eta.getParameter<int32_t>("Nbinsx"),
631  psRes_eta.getParameter<double>("xmin"),
632  psRes_eta.getParameter<double>("xmax"));
633  reseta_eta0p7to1->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
634  reseta_eta0p7to1->setAxisTitle("# tracking particles", 2);
635 
636  // Eta 3 (1.0 to 1.2)
637  HistoName = "reseta_eta1to1p2";
639  HistoName,
640  psRes_eta.getParameter<int32_t>("Nbinsx"),
641  psRes_eta.getParameter<double>("xmin"),
642  psRes_eta.getParameter<double>("xmax"));
643  reseta_eta1to1p2->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
644  reseta_eta1to1p2->setAxisTitle("# tracking particles", 2);
645 
646  // Eta 4 (1.2 to 1.6)
647  HistoName = "reseta_eta1p2to1p6";
649  HistoName,
650  psRes_eta.getParameter<int32_t>("Nbinsx"),
651  psRes_eta.getParameter<double>("xmin"),
652  psRes_eta.getParameter<double>("xmax"));
653  reseta_eta1p2to1p6->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
654  reseta_eta1p2to1p6->setAxisTitle("# tracking particles", 2);
655 
656  // Eta 5 (1.6 to 2.0)
657  HistoName = "reseta_eta1p6to2";
659  HistoName,
660  psRes_eta.getParameter<int32_t>("Nbinsx"),
661  psRes_eta.getParameter<double>("xmin"),
662  psRes_eta.getParameter<double>("xmax"));
663  reseta_eta1p6to2->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
664  reseta_eta1p6to2->setAxisTitle("# tracking particles", 2);
665 
666  // Eta 6 (2.0 to 2.4)
667  HistoName = "reseta_eta2to2p4";
669  HistoName,
670  psRes_eta.getParameter<int32_t>("Nbinsx"),
671  psRes_eta.getParameter<double>("xmin"),
672  psRes_eta.getParameter<double>("xmax"));
673  reseta_eta2to2p4->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
674  reseta_eta2to2p4->setAxisTitle("# tracking particles", 2);
675 
676  // pT parts for resolution (pT res vs eta)
677  // pT a (2 to 3 GeV)
678  // Eta 1 (0 to 0.7)
679  HistoName = "respt_eta0to0p7_pt2to3";
681  HistoName,
682  psRes_pt.getParameter<int32_t>("Nbinsx"),
683  psRes_pt.getParameter<double>("xmin"),
684  psRes_pt.getParameter<double>("xmax"));
685  respt_eta0to0p7_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
686  respt_eta0to0p7_pt2to3->setAxisTitle("# tracking particles", 2);
687 
688  // Eta 2 (0.7 to 1.0)
689  HistoName = "respt_eta0p7to1_pt2to3";
691  HistoName,
692  psRes_pt.getParameter<int32_t>("Nbinsx"),
693  psRes_pt.getParameter<double>("xmin"),
694  psRes_pt.getParameter<double>("xmax"));
695  respt_eta0p7to1_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
696  respt_eta0p7to1_pt2to3->setAxisTitle("# tracking particles", 2);
697 
698  // Eta 3 (1.0 to 1.2)
699  HistoName = "respt_eta1to1p2_pt2to3";
701  HistoName,
702  psRes_pt.getParameter<int32_t>("Nbinsx"),
703  psRes_pt.getParameter<double>("xmin"),
704  psRes_pt.getParameter<double>("xmax"));
705  respt_eta1to1p2_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
706  respt_eta1to1p2_pt2to3->setAxisTitle("# tracking particles", 2);
707 
708  // Eta 4 (1.2 to 1.6)
709  HistoName = "respt_eta1p2to1p6_pt2to3";
711  HistoName,
712  psRes_pt.getParameter<int32_t>("Nbinsx"),
713  psRes_pt.getParameter<double>("xmin"),
714  psRes_pt.getParameter<double>("xmax"));
715  respt_eta1p2to1p6_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
716  respt_eta1p2to1p6_pt2to3->setAxisTitle("# tracking particles", 2);
717 
718  // Eta 5 (1.6 to 2.0)
719  HistoName = "respt_eta1p6to2_pt2to3";
721  HistoName,
722  psRes_pt.getParameter<int32_t>("Nbinsx"),
723  psRes_pt.getParameter<double>("xmin"),
724  psRes_pt.getParameter<double>("xmax"));
725  respt_eta1p6to2_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
726  respt_eta1p6to2_pt2to3->setAxisTitle("# tracking particles", 2);
727 
728  // Eta 6 (2.0 to 2.4)
729  HistoName = "respt_eta2to2p4_pt2to3";
731  HistoName,
732  psRes_pt.getParameter<int32_t>("Nbinsx"),
733  psRes_pt.getParameter<double>("xmin"),
734  psRes_pt.getParameter<double>("xmax"));
735  respt_eta2to2p4_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
736  respt_eta2to2p4_pt2to3->setAxisTitle("# tracking particles", 2);
737 
738  // pT b (3 to 8 GeV)
739  // Eta 1 (0 to 0.7)
740  HistoName = "respt_eta0to0p7_pt3to8";
742  HistoName,
743  psRes_pt.getParameter<int32_t>("Nbinsx"),
744  psRes_pt.getParameter<double>("xmin"),
745  psRes_pt.getParameter<double>("xmax"));
746  respt_eta0to0p7_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
747  respt_eta0to0p7_pt3to8->setAxisTitle("# tracking particles", 2);
748 
749  // Eta 2 (0.7 to 1.0)
750  HistoName = "respt_eta0p7to1_pt3to8";
752  HistoName,
753  psRes_pt.getParameter<int32_t>("Nbinsx"),
754  psRes_pt.getParameter<double>("xmin"),
755  psRes_pt.getParameter<double>("xmax"));
756  respt_eta0p7to1_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
757  respt_eta0p7to1_pt3to8->setAxisTitle("# tracking particles", 2);
758 
759  // Eta 3 (1.0 to 1.2)
760  HistoName = "respt_eta1to1p2_pt3to8";
762  HistoName,
763  psRes_pt.getParameter<int32_t>("Nbinsx"),
764  psRes_pt.getParameter<double>("xmin"),
765  psRes_pt.getParameter<double>("xmax"));
766  respt_eta1to1p2_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
767  respt_eta1to1p2_pt3to8->setAxisTitle("# tracking particles", 2);
768 
769  // Eta 4 (1.2 to 1.6)
770  HistoName = "respt_eta1p2to1p6_pt3to8";
772  HistoName,
773  psRes_pt.getParameter<int32_t>("Nbinsx"),
774  psRes_pt.getParameter<double>("xmin"),
775  psRes_pt.getParameter<double>("xmax"));
776  respt_eta1p2to1p6_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
777  respt_eta1p2to1p6_pt3to8->setAxisTitle("# tracking particles", 2);
778 
779  // Eta 5 (1.6 to 2.0)
780  HistoName = "respt_eta1p6to2_pt3to8";
782  HistoName,
783  psRes_pt.getParameter<int32_t>("Nbinsx"),
784  psRes_pt.getParameter<double>("xmin"),
785  psRes_pt.getParameter<double>("xmax"));
786  respt_eta1p6to2_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
787  respt_eta1p6to2_pt3to8->setAxisTitle("# tracking particles", 2);
788 
789  // Eta 6 (2.0 to 2.4)
790  HistoName = "respt_eta2to2p4_pt3to8";
792  HistoName,
793  psRes_pt.getParameter<int32_t>("Nbinsx"),
794  psRes_pt.getParameter<double>("xmin"),
795  psRes_pt.getParameter<double>("xmax"));
796  respt_eta2to2p4_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
797  respt_eta2to2p4_pt3to8->setAxisTitle("# tracking particles", 2);
798 
799  // pT c (>8 GeV)
800  // Eta 1 (0 to 0.7)
801  HistoName = "respt_eta0to0p7_pt8toInf";
803  HistoName,
804  psRes_pt.getParameter<int32_t>("Nbinsx"),
805  psRes_pt.getParameter<double>("xmin"),
806  psRes_pt.getParameter<double>("xmax"));
807  respt_eta0to0p7_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
808  respt_eta0to0p7_pt8toInf->setAxisTitle("# tracking particles", 2);
809 
810  // Eta 2 (0.7 to 1.0)
811  HistoName = "respt_eta0p7to1_pt8toInf";
813  HistoName,
814  psRes_pt.getParameter<int32_t>("Nbinsx"),
815  psRes_pt.getParameter<double>("xmin"),
816  psRes_pt.getParameter<double>("xmax"));
817  respt_eta0p7to1_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
818  respt_eta0p7to1_pt8toInf->setAxisTitle("# tracking particles", 2);
819 
820  // Eta 3 (1.0 to 1.2)
821  HistoName = "respt_eta1to1p2_pt8toInf";
823  HistoName,
824  psRes_pt.getParameter<int32_t>("Nbinsx"),
825  psRes_pt.getParameter<double>("xmin"),
826  psRes_pt.getParameter<double>("xmax"));
827  respt_eta1to1p2_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
828  respt_eta1to1p2_pt8toInf->setAxisTitle("# tracking particles", 2);
829 
830  // Eta 4 (1.2 to 1.6)
831  HistoName = "respt_eta1p2to1p6_pt8toInf";
833  HistoName,
834  psRes_pt.getParameter<int32_t>("Nbinsx"),
835  psRes_pt.getParameter<double>("xmin"),
836  psRes_pt.getParameter<double>("xmax"));
837  respt_eta1p2to1p6_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
838  respt_eta1p2to1p6_pt8toInf->setAxisTitle("# tracking particles", 2);
839 
840  // Eta 5 (1.6 to 2.0)
841  HistoName = "respt_eta1p6to2_pt8toInf";
843  HistoName,
844  psRes_pt.getParameter<int32_t>("Nbinsx"),
845  psRes_pt.getParameter<double>("xmin"),
846  psRes_pt.getParameter<double>("xmax"));
847  respt_eta1p6to2_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
848  respt_eta1p6to2_pt8toInf->setAxisTitle("# tracking particles", 2);
849 
850  // Eta 6 (2.0 to 2.4)
851  HistoName = "respt_eta2to2p4_pt8toInf";
853  HistoName,
854  psRes_pt.getParameter<int32_t>("Nbinsx"),
855  psRes_pt.getParameter<double>("xmin"),
856  psRes_pt.getParameter<double>("xmax"));
857  respt_eta2to2p4_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
858  respt_eta2to2p4_pt8toInf->setAxisTitle("# tracking particles", 2);
859 
860  // Phi parts (for resolution)
861  // Eta 1 (0 to 0.7)
862  edm::ParameterSet psRes_phi = conf_.getParameter<edm::ParameterSet>("TH1Res_phi");
863  HistoName = "resphi_eta0to0p7";
865  HistoName,
866  psRes_phi.getParameter<int32_t>("Nbinsx"),
867  psRes_phi.getParameter<double>("xmin"),
868  psRes_phi.getParameter<double>("xmax"));
869  resphi_eta0to0p7->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
870  resphi_eta0to0p7->setAxisTitle("# tracking particles", 2);
871 
872  // Eta 2 (0.7 to 1.0)
873  HistoName = "resphi_eta0p7to1";
875  HistoName,
876  psRes_phi.getParameter<int32_t>("Nbinsx"),
877  psRes_phi.getParameter<double>("xmin"),
878  psRes_phi.getParameter<double>("xmax"));
879  resphi_eta0p7to1->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
880  resphi_eta0p7to1->setAxisTitle("# tracking particles", 2);
881 
882  // Eta 3 (1.0 to 1.2)
883  HistoName = "resphi_eta1to1p2";
885  HistoName,
886  psRes_phi.getParameter<int32_t>("Nbinsx"),
887  psRes_phi.getParameter<double>("xmin"),
888  psRes_phi.getParameter<double>("xmax"));
889  resphi_eta1to1p2->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
890  resphi_eta1to1p2->setAxisTitle("# tracking particles", 2);
891 
892  // Eta 4 (1.2 to 1.6)
893  HistoName = "resphi_eta1p2to1p6";
895  HistoName,
896  psRes_phi.getParameter<int32_t>("Nbinsx"),
897  psRes_phi.getParameter<double>("xmin"),
898  psRes_phi.getParameter<double>("xmax"));
899  resphi_eta1p2to1p6->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
900  resphi_eta1p2to1p6->setAxisTitle("# tracking particles", 2);
901 
902  // Eta 5 (1.6 to 2.0)
903  HistoName = "resphi_eta1p6to2";
905  HistoName,
906  psRes_phi.getParameter<int32_t>("Nbinsx"),
907  psRes_phi.getParameter<double>("xmin"),
908  psRes_phi.getParameter<double>("xmax"));
909  resphi_eta1p6to2->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
910  resphi_eta1p6to2->setAxisTitle("# tracking particles", 2);
911 
912  // Eta 6 (2.0 to 2.4)
913  HistoName = "resphi_eta2to2p4";
915  HistoName,
916  psRes_phi.getParameter<int32_t>("Nbinsx"),
917  psRes_phi.getParameter<double>("xmin"),
918  psRes_phi.getParameter<double>("xmax"));
919  resphi_eta2to2p4->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
920  resphi_eta2to2p4->setAxisTitle("# tracking particles", 2);
921 
922  // VtxZ parts (for resolution)
923  // Eta 1 (0 to 0.7)
924  edm::ParameterSet psRes_VtxZ = conf_.getParameter<edm::ParameterSet>("TH1Res_VtxZ");
925  HistoName = "resVtxZ_eta0to0p7";
927  HistoName,
928  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
929  psRes_VtxZ.getParameter<double>("xmin"),
930  psRes_VtxZ.getParameter<double>("xmax"));
931  resVtxZ_eta0to0p7->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
932  resVtxZ_eta0to0p7->setAxisTitle("# tracking particles", 2);
933 
934  // Eta 2 (0.7 to 1.0)
935  HistoName = "resVtxZ_eta0p7to1";
937  HistoName,
938  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
939  psRes_VtxZ.getParameter<double>("xmin"),
940  psRes_VtxZ.getParameter<double>("xmax"));
941  resVtxZ_eta0p7to1->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
942  resVtxZ_eta0p7to1->setAxisTitle("# tracking particles", 2);
943 
944  // Eta 3 (1.0 to 1.2)
945  HistoName = "resVtxZ_eta1to1p2";
947  HistoName,
948  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
949  psRes_VtxZ.getParameter<double>("xmin"),
950  psRes_VtxZ.getParameter<double>("xmax"));
951  resVtxZ_eta1to1p2->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
952  resVtxZ_eta1to1p2->setAxisTitle("# tracking particles", 2);
953 
954  // Eta 4 (1.2 to 1.6)
955  HistoName = "resVtxZ_eta1p2to1p6";
957  HistoName,
958  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
959  psRes_VtxZ.getParameter<double>("xmin"),
960  psRes_VtxZ.getParameter<double>("xmax"));
961  resVtxZ_eta1p2to1p6->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
962  resVtxZ_eta1p2to1p6->setAxisTitle("# tracking particles", 2);
963 
964  // Eta 5 (1.6 to 2.0)
965  HistoName = "resVtxZ_eta1p6to2";
967  HistoName,
968  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
969  psRes_VtxZ.getParameter<double>("xmin"),
970  psRes_VtxZ.getParameter<double>("xmax"));
971  resVtxZ_eta1p6to2->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
972  resVtxZ_eta1p6to2->setAxisTitle("# tracking particles", 2);
973 
974  // Eta 6 (2.0 to 2.4)
975  HistoName = "resVtxZ_eta2to2p4";
977  HistoName,
978  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
979  psRes_VtxZ.getParameter<double>("xmin"),
980  psRes_VtxZ.getParameter<double>("xmax"));
981  resVtxZ_eta2to2p4->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
982  resVtxZ_eta2to2p4->setAxisTitle("# tracking particles", 2);
983 
984  // d0 parts (for resolution)
985  // Eta 1 (0 to 0.7)
986  edm::ParameterSet psRes_d0 = conf_.getParameter<edm::ParameterSet>("TH1Res_d0");
987  HistoName = "resd0_eta0to0p7";
988  resd0_eta0to0p7 = iBooker.book1D(HistoName,
989  HistoName,
990  psRes_d0.getParameter<int32_t>("Nbinsx"),
991  psRes_d0.getParameter<double>("xmin"),
992  psRes_d0.getParameter<double>("xmax"));
993  resd0_eta0to0p7->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
994  resd0_eta0to0p7->setAxisTitle("# tracking particles", 2);
995 
996  // Eta 2 (0.7 to 1.0)
997  HistoName = "resd0_eta0p7to1";
998  resd0_eta0p7to1 = iBooker.book1D(HistoName,
999  HistoName,
1000  psRes_d0.getParameter<int32_t>("Nbinsx"),
1001  psRes_d0.getParameter<double>("xmin"),
1002  psRes_d0.getParameter<double>("xmax"));
1003  resd0_eta0p7to1->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
1004  resd0_eta0p7to1->setAxisTitle("# tracking particles", 2);
1005 
1006  // Eta 3 (1.0 to 1.2)
1007  HistoName = "resd0_eta1to1p2";
1008  resd0_eta1to1p2 = iBooker.book1D(HistoName,
1009  HistoName,
1010  psRes_d0.getParameter<int32_t>("Nbinsx"),
1011  psRes_d0.getParameter<double>("xmin"),
1012  psRes_d0.getParameter<double>("xmax"));
1013  resd0_eta1to1p2->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
1014  resd0_eta1to1p2->setAxisTitle("# tracking particles", 2);
1015 
1016  // Eta 4 (1.2 to 1.6)
1017  HistoName = "resd0_eta1p2to1p6";
1019  HistoName,
1020  psRes_d0.getParameter<int32_t>("Nbinsx"),
1021  psRes_d0.getParameter<double>("xmin"),
1022  psRes_d0.getParameter<double>("xmax"));
1023  resd0_eta1p2to1p6->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
1024  resd0_eta1p2to1p6->setAxisTitle("# tracking particles", 2);
1025 
1026  // Eta 5 (1.6 to 2.0)
1027  HistoName = "resd0_eta1p6to2";
1028  resd0_eta1p6to2 = iBooker.book1D(HistoName,
1029  HistoName,
1030  psRes_d0.getParameter<int32_t>("Nbinsx"),
1031  psRes_d0.getParameter<double>("xmin"),
1032  psRes_d0.getParameter<double>("xmax"));
1033  resd0_eta1p6to2->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
1034  resd0_eta1p6to2->setAxisTitle("# tracking particles", 2);
1035 
1036  // Eta 6 (2.0 to 2.4)
1037  HistoName = "resd0_eta2to2p4";
1038  resd0_eta2to2p4 = iBooker.book1D(HistoName,
1039  HistoName,
1040  psRes_d0.getParameter<int32_t>("Nbinsx"),
1041  psRes_d0.getParameter<double>("xmin"),
1042  psRes_d0.getParameter<double>("xmax"));
1043  resd0_eta2to2p4->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
1044  resd0_eta2to2p4->setAxisTitle("# tracking particles", 2);
1045 
1046 } // end of method
1047 
OuterTrackerMonitorTrackingParticles::reseta_eta1p6to2
MonitorElement * reseta_eta1p6to2
Definition: OuterTrackerMonitorTrackingParticles.h:80
OuterTrackerMonitorTrackingParticles::TP_maxVtxZ
double TP_maxVtxZ
Definition: OuterTrackerMonitorTrackingParticles.h:121
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
OuterTrackerMonitorTrackingParticles::respt_eta1p6to2_pt2to3
MonitorElement * respt_eta1p6to2_pt2to3
Definition: OuterTrackerMonitorTrackingParticles.h:62
StripGeomDetUnit.h
MessageLogger.h
TrackerGeometry.h
OuterTrackerMonitorTrackingParticles::match_tp_VtxR
MonitorElement * match_tp_VtxR
Definition: OuterTrackerMonitorTrackingParticles.h:51
OuterTrackerMonitorTrackingParticles::conf_
edm::ParameterSet conf_
Definition: OuterTrackerMonitorTrackingParticles.h:104
OuterTrackerMonitorTrackingParticles::res_ptRel
MonitorElement * res_ptRel
Definition: OuterTrackerMonitorTrackingParticles.h:57
edm::Run
Definition: Run.h:45
OuterTrackerMonitorTrackingParticles.h
OuterTrackerMonitorTrackingParticles::trackParts_Pt
MonitorElement * trackParts_Pt
Definition: OuterTrackerMonitorTrackingParticles.h:34
OuterTrackerMonitorTrackingParticles::tp_pt
MonitorElement * tp_pt
Definition: OuterTrackerMonitorTrackingParticles.h:41
TrackerTopology
Definition: TrackerTopology.h:16
OuterTrackerMonitorTrackingParticles::res_pt
MonitorElement * res_pt
Definition: OuterTrackerMonitorTrackingParticles.h:56
OuterTrackerMonitorTrackingParticles::respt_eta1to1p2_pt3to8
MonitorElement * respt_eta1to1p2_pt3to8
Definition: OuterTrackerMonitorTrackingParticles.h:66
OuterTrackerMonitorTrackingParticles::respt_eta1to1p2_pt2to3
MonitorElement * respt_eta1to1p2_pt2to3
Definition: OuterTrackerMonitorTrackingParticles.h:60
TrackingParticle::p4
const LorentzVector & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: TrackingParticle.h:103
OuterTrackerMonitorTrackingParticles::L1Tk_nPar
int L1Tk_nPar
Definition: OuterTrackerMonitorTrackingParticles.h:112
OuterTrackerMonitorTrackingParticles::resphi_eta2to2p4
MonitorElement * resphi_eta2to2p4
Definition: OuterTrackerMonitorTrackingParticles.h:87
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
OuterTrackerMonitorTrackingParticles::ttClusterMCTruthToken_
edm::EDGetTokenT< TTClusterAssociationMap< Ref_Phase2TrackerDigi_ > > ttClusterMCTruthToken_
Definition: OuterTrackerMonitorTrackingParticles.h:107
OuterTrackerMonitorTrackingParticles::respt_eta1p6to2_pt3to8
MonitorElement * respt_eta1p6to2_pt3to8
Definition: OuterTrackerMonitorTrackingParticles.h:68
TrackerTopology::layer
unsigned int layer(const DetId &id) const
Definition: TrackerTopology.cc:47
OuterTrackerMonitorTrackingParticles::~OuterTrackerMonitorTrackingParticles
~OuterTrackerMonitorTrackingParticles() override
Definition: OuterTrackerMonitorTrackingParticles.cc:65
OuterTrackerMonitorTrackingParticles::L1Tk_maxChi2dof
double L1Tk_maxChi2dof
Definition: OuterTrackerMonitorTrackingParticles.h:115
OuterTrackerMonitorTrackingParticles::L1Tk_minNStub
int L1Tk_minNStub
Definition: OuterTrackerMonitorTrackingParticles.h:113
OuterTrackerMonitorTrackingParticles::L1Tk_maxChi2
double L1Tk_maxChi2
Definition: OuterTrackerMonitorTrackingParticles.h:114
edm::Handle
Definition: AssociativeIterator.h:50
TTClusterAssociationMap.h
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
TrackingParticle::charge
float charge() const
Electric charge. Note this is taken from the first SimTrack only.
Definition: TrackingParticle.h:98
DetId
Definition: DetId.h:17
OuterTrackerMonitorTrackingParticles::trackingParticleToken_
edm::EDGetTokenT< std::vector< TrackingParticle > > trackingParticleToken_
Definition: OuterTrackerMonitorTrackingParticles.h:105
TrackerTopology.h
OuterTrackerMonitorTrackingParticles::resVtxZ_eta1to1p2
MonitorElement * resVtxZ_eta1to1p2
Definition: OuterTrackerMonitorTrackingParticles.h:90
OuterTrackerMonitorTrackingParticles::match_tp_eta
MonitorElement * match_tp_eta
Definition: OuterTrackerMonitorTrackingParticles.h:49
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
OuterTrackerMonitorTrackingParticles::respt_eta1p2to1p6_pt3to8
MonitorElement * respt_eta1p2to1p6_pt3to8
Definition: OuterTrackerMonitorTrackingParticles.h:67
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
OuterTrackerMonitorTrackingParticles::resphi_eta1p2to1p6
MonitorElement * resphi_eta1p2to1p6
Definition: OuterTrackerMonitorTrackingParticles.h:85
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
OuterTrackerMonitorTrackingParticles::resphi_eta1p6to2
MonitorElement * resphi_eta1p6to2
Definition: OuterTrackerMonitorTrackingParticles.h:86
OuterTrackerMonitorTrackingParticles::reseta_eta0to0p7
MonitorElement * reseta_eta0to0p7
Definition: OuterTrackerMonitorTrackingParticles.h:76
OuterTrackerMonitorTrackingParticles::resphi_eta0to0p7
MonitorElement * resphi_eta0to0p7
Definition: OuterTrackerMonitorTrackingParticles.h:82
Service.h
OuterTrackerMonitorTrackingParticles::TP_minPt
double TP_minPt
Definition: OuterTrackerMonitorTrackingParticles.h:118
OuterTrackerMonitorTrackingParticles::TP_maxEta
double TP_maxEta
Definition: OuterTrackerMonitorTrackingParticles.h:120
OuterTrackerMonitorTrackingParticles::ttTrackMCTruthToken_
edm::EDGetTokenT< TTTrackAssociationMap< Ref_Phase2TrackerDigi_ > > ttTrackMCTruthToken_
Definition: OuterTrackerMonitorTrackingParticles.h:111
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
OuterTrackerMonitorTrackingParticles::topFolderName_
std::string topFolderName_
Definition: OuterTrackerMonitorTrackingParticles.h:123
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
OuterTrackerMonitorTrackingParticles::Track_MatchedChi2Red
MonitorElement * Track_MatchedChi2Red
Definition: OuterTrackerMonitorTrackingParticles.h:38
TTStub
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
OuterTrackerMonitorTrackingParticles
Definition: OuterTrackerMonitorTrackingParticles.h:24
StackedTrackerGeometryRecord.h
edm::ESHandle< TrackerTopology >
OuterTrackerMonitorTrackingParticles::respt_eta1to1p2_pt8toInf
MonitorElement * respt_eta1to1p2_pt8toInf
Definition: OuterTrackerMonitorTrackingParticles.h:72
OuterTrackerMonitorTrackingParticles::TP_minNLayersStub
int TP_minNLayersStub
Definition: OuterTrackerMonitorTrackingParticles.h:117
OuterTrackerMonitorTrackingParticles::respt_eta0to0p7_pt2to3
MonitorElement * respt_eta0to0p7_pt2to3
Definition: OuterTrackerMonitorTrackingParticles.h:58
OuterTrackerMonitorTrackingParticles::respt_eta1p6to2_pt8toInf
MonitorElement * respt_eta1p6to2_pt8toInf
Definition: OuterTrackerMonitorTrackingParticles.h:74
TTTrack.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
OuterTrackerMonitorTrackingParticles::resd0_eta1p6to2
MonitorElement * resd0_eta1p6to2
Definition: OuterTrackerMonitorTrackingParticles.h:100
OuterTrackerMonitorTrackingParticles::tp_d0
MonitorElement * tp_d0
Definition: OuterTrackerMonitorTrackingParticles.h:44
OuterTrackerMonitorTrackingParticles::respt_eta0p7to1_pt3to8
MonitorElement * respt_eta0p7to1_pt3to8
Definition: OuterTrackerMonitorTrackingParticles.h:65
OuterTrackerMonitorTrackingParticles::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: OuterTrackerMonitorTrackingParticles.cc:73
OuterTrackerMonitorTrackingParticles::resd0_eta1p2to1p6
MonitorElement * resd0_eta1p2to1p6
Definition: OuterTrackerMonitorTrackingParticles.h:99
TrackerDigiGeometryRecord.h
edm::ParameterSet
Definition: ParameterSet.h:36
OuterTrackerMonitorTrackingParticles::tp_VtxR
MonitorElement * tp_VtxR
Definition: OuterTrackerMonitorTrackingParticles.h:45
OuterTrackerMonitorTrackingParticles::reseta_eta2to2p4
MonitorElement * reseta_eta2to2p4
Definition: OuterTrackerMonitorTrackingParticles.h:81
OuterTrackerMonitorTrackingParticles::resVtxZ_eta2to2p4
MonitorElement * resVtxZ_eta2to2p4
Definition: OuterTrackerMonitorTrackingParticles.h:93
OuterTrackerMonitorTrackingParticles::resphi_eta0p7to1
MonitorElement * resphi_eta0p7to1
Definition: OuterTrackerMonitorTrackingParticles.h:83
OuterTrackerMonitorTrackingParticles::TP_minNStub
int TP_minNStub
Definition: OuterTrackerMonitorTrackingParticles.h:116
A
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Ptr.h
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
OuterTrackerMonitorTrackingParticles::reseta_eta1p2to1p6
MonitorElement * reseta_eta1p2to1p6
Definition: OuterTrackerMonitorTrackingParticles.h:79
OuterTrackerMonitorTrackingParticles::reseta_eta1to1p2
MonitorElement * reseta_eta1to1p2
Definition: OuterTrackerMonitorTrackingParticles.h:78
TrackingParticle::pdgId
int pdgId() const
PDG ID.
Definition: TrackingParticle.h:61
TTStubAssociationMap.h
OuterTrackerMonitorTrackingParticles::respt_eta0p7to1_pt2to3
MonitorElement * respt_eta0p7to1_pt2to3
Definition: OuterTrackerMonitorTrackingParticles.h:59
OuterTrackerMonitorTrackingParticles::tp_eta
MonitorElement * tp_eta
Definition: OuterTrackerMonitorTrackingParticles.h:43
cscdqm::HistoName
std::string HistoName
Definition: CSCDQM_HistoDef.h:32
OuterTrackerMonitorTrackingParticles::respt_eta1p2to1p6_pt2to3
MonitorElement * respt_eta1p2to1p6_pt2to3
Definition: OuterTrackerMonitorTrackingParticles.h:61
OuterTrackerMonitorTrackingParticles::tp_VtxZ
MonitorElement * tp_VtxZ
Definition: OuterTrackerMonitorTrackingParticles.h:46
edm::EventSetup
Definition: EventSetup.h:57
OuterTrackerMonitorTrackingParticles::resVtxZ_eta1p2to1p6
MonitorElement * resVtxZ_eta1p2to1p6
Definition: OuterTrackerMonitorTrackingParticles.h:91
DetSetVector.h
OuterTrackerMonitorTrackingParticles::match_tp_VtxZ
MonitorElement * match_tp_VtxZ
Definition: OuterTrackerMonitorTrackingParticles.h:52
OuterTrackerMonitorTrackingParticles::resVtxZ_eta0to0p7
MonitorElement * resVtxZ_eta0to0p7
Definition: OuterTrackerMonitorTrackingParticles.h:88
get
#define get
OuterTrackerMonitorTrackingParticles::respt_eta1p2to1p6_pt8toInf
MonitorElement * respt_eta1p2to1p6_pt8toInf
Definition: OuterTrackerMonitorTrackingParticles.h:73
TTCluster.h
edm::Ptr< TrackingParticle >
OuterTrackerMonitorTrackingParticles::TP_select_eventid
int TP_select_eventid
Definition: OuterTrackerMonitorTrackingParticles.h:122
OuterTrackerMonitorTrackingParticles::Track_MatchedChi2
MonitorElement * Track_MatchedChi2
Definition: OuterTrackerMonitorTrackingParticles.h:37
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
TrackingParticle.h
OuterTrackerMonitorTrackingParticles::ttStubMCTruthToken_
edm::EDGetTokenT< TTStubAssociationMap< Ref_Phase2TrackerDigi_ > > ttStubMCTruthToken_
Definition: OuterTrackerMonitorTrackingParticles.h:109
GeomDet.h
OuterTrackerMonitorTrackingParticles::respt_eta0to0p7_pt8toInf
MonitorElement * respt_eta0to0p7_pt8toInf
Definition: OuterTrackerMonitorTrackingParticles.h:70
OuterTrackerMonitorTrackingParticles::match_tp_pt
MonitorElement * match_tp_pt
Definition: OuterTrackerMonitorTrackingParticles.h:47
writedatasetfile.run
run
Definition: writedatasetfile.py:27
Ref.h
OuterTrackerMonitorTrackingParticles::respt_eta2to2p4_pt8toInf
MonitorElement * respt_eta2to2p4_pt8toInf
Definition: OuterTrackerMonitorTrackingParticles.h:75
isum
double isum
Definition: MuScleFitUtils.cc:77
TTTrackAssociationMap.h
OuterTrackerMonitorTrackingParticles::trackParts_Phi
MonitorElement * trackParts_Phi
Definition: OuterTrackerMonitorTrackingParticles.h:33
OuterTrackerMonitorTrackingParticles::OuterTrackerMonitorTrackingParticles
OuterTrackerMonitorTrackingParticles(const edm::ParameterSet &)
Definition: OuterTrackerMonitorTrackingParticles.cc:40
OuterTrackerMonitorTrackingParticles::resd0_eta2to2p4
MonitorElement * resd0_eta2to2p4
Definition: OuterTrackerMonitorTrackingParticles.h:101
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
OuterTrackerMonitorTrackingParticles::TP_maxPt
double TP_maxPt
Definition: OuterTrackerMonitorTrackingParticles.h:119
OuterTrackerMonitorTrackingParticles::respt_eta2to2p4_pt3to8
MonitorElement * respt_eta2to2p4_pt3to8
Definition: OuterTrackerMonitorTrackingParticles.h:69
OuterTrackerMonitorTrackingParticles::resVtxZ_eta1p6to2
MonitorElement * resVtxZ_eta1p6to2
Definition: OuterTrackerMonitorTrackingParticles.h:92
dqm::implementation::IBooker
Definition: DQMStore.h:43
TTStub.h
OuterTrackerMonitorTrackingParticles::trackParts_Eta
MonitorElement * trackParts_Eta
Definition: OuterTrackerMonitorTrackingParticles.h:32
OuterTrackerMonitorTrackingParticles::resd0_eta0to0p7
MonitorElement * resd0_eta0to0p7
Definition: OuterTrackerMonitorTrackingParticles.h:96
pi
const Double_t pi
Definition: trackSplitPlot.h:36
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
OuterTrackerMonitorTrackingParticles::respt_eta2to2p4_pt2to3
MonitorElement * respt_eta2to2p4_pt2to3
Definition: OuterTrackerMonitorTrackingParticles.h:63
OuterTrackerMonitorTrackingParticles::resd0_eta0p7to1
MonitorElement * resd0_eta0p7to1
Definition: OuterTrackerMonitorTrackingParticles.h:97
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
OuterTrackerMonitorTrackingParticles::resphi_eta1to1p2
MonitorElement * resphi_eta1to1p2
Definition: OuterTrackerMonitorTrackingParticles.h:84
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
StripSubdetector.h
OuterTrackerMonitorTrackingParticles::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: OuterTrackerMonitorTrackingParticles.cc:388
DetSetVectorNew.h
edm::InputTag
Definition: InputTag.h:15
OuterTrackerMonitorTrackingParticles::respt_eta0p7to1_pt8toInf
MonitorElement * respt_eta0p7to1_pt8toInf
Definition: OuterTrackerMonitorTrackingParticles.h:71
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
OuterTrackerMonitorTrackingParticles::resVtxZ_eta0p7to1
MonitorElement * resVtxZ_eta0p7to1
Definition: OuterTrackerMonitorTrackingParticles.h:89
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
OuterTrackerMonitorTrackingParticles::match_tp_pt_zoom
MonitorElement * match_tp_pt_zoom
Definition: OuterTrackerMonitorTrackingParticles.h:48
OuterTrackerMonitorTrackingParticles::match_tp_d0
MonitorElement * match_tp_d0
Definition: OuterTrackerMonitorTrackingParticles.h:50
OuterTrackerMonitorTrackingParticles::tp_pt_zoom
MonitorElement * tp_pt_zoom
Definition: OuterTrackerMonitorTrackingParticles.h:42
OuterTrackerMonitorTrackingParticles::resd0_eta1to1p2
MonitorElement * resd0_eta1to1p2
Definition: OuterTrackerMonitorTrackingParticles.h:98
OuterTrackerMonitorTrackingParticles::res_eta
MonitorElement * res_eta
Definition: OuterTrackerMonitorTrackingParticles.h:55
OuterTrackerMonitorTrackingParticles::respt_eta0to0p7_pt3to8
MonitorElement * respt_eta0to0p7_pt3to8
Definition: OuterTrackerMonitorTrackingParticles.h:64
OuterTrackerMonitorTrackingParticles::reseta_eta0p7to1
MonitorElement * reseta_eta0p7to1
Definition: OuterTrackerMonitorTrackingParticles.h:77