CMS 3D CMS Logo

OuterTrackerMonitorTrackingParticles.h
Go to the documentation of this file.
1 #ifndef SiOuterTrackerV_OuterTrackerMonitorTrackingParticles_h
2 #define SiOuterTrackerV_OuterTrackerMonitorTrackingParticles_h
3 
20 #include <memory>
21 #include <string>
22 #include <vector>
23 
24 class DQMStore;
25 
27 public:
30  void analyze(const edm::Event &, const edm::EventSetup &) override;
31  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
32  int Layer(const float R_, const float Z_) const;
33 
34  // Tracking particle distributions
38 
39  // Plots for correctly matched tracks
40  MonitorElement *Track_MatchedChi2 = nullptr; // Chi2 for only tracks correctly matched to truth level
41  MonitorElement *Track_MatchedChi2Red = nullptr; // Chi2/dof for only tracks correctly matched to truth level
42 
43  // pT and eta for efficiency plots
44  MonitorElement *tp_pt = nullptr; // denominator
45  MonitorElement *tp_pt_zoom = nullptr; // denominator
46  MonitorElement *tp_eta = nullptr; // denominator
47  MonitorElement *tp_d0 = nullptr; // denominator
48  MonitorElement *tp_VtxR = nullptr; // denominator (also known as vxy)
49  MonitorElement *tp_VtxZ = nullptr; // denominator
50  MonitorElement *match_tp_pt = nullptr; // numerator
51  MonitorElement *match_tp_pt_zoom = nullptr; // numerator
52  MonitorElement *match_tp_eta = nullptr; // numerator
53  MonitorElement *match_tp_d0 = nullptr; // numerator
54  MonitorElement *match_tp_VtxR = nullptr; // numerator (also known as vxy)
55  MonitorElement *match_tp_VtxZ = nullptr; // numerator
56 
57  // 1D intermediate resolution plots (pT and eta)
58  MonitorElement *res_eta = nullptr; // for all eta and pT
59  MonitorElement *res_pt = nullptr; // for all eta and pT
60  MonitorElement *res_ptRel = nullptr; // for all eta and pT (delta(pT)/pT)
97 
98  // For d0
105 
106 private:
112  ttClusterMCTruthToken_; // MC truth association map for clusters
114  ttStubMCTruthToken_; // MC truth association map for stubs
116  ttTrackMCTruthToken_; // MC truth association map for tracks
119  double L1Tk_maxChi2;
122  double TP_minPt;
123  double TP_maxPt;
124  double TP_maxEta;
125  double TP_maxVtxZ;
128 
129  // The following adds a variable that is the number of layers hit for each
130  // tracking particle
131  struct TpStruct {
132  int TpId;
133  std::vector<bool> layer;
134  int Nlayers() { // Counts how many layers are set to "true" for their hit status
135  int layers = 0;
136  for (unsigned l = 0; l < layer.size(); ++l)
137  if (layer[l])
138  ++layers;
139  return layers;
140  }
141  };
142 };
143 #endif
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
Definition: LayerTriplets.cc:4
int Layer(const float R_, const float Z_) const
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
edm::EDGetTokenT< std::vector< TrackingParticle > > trackingParticleToken_
edm::EDGetTokenT< TTTrackAssociationMap< Ref_Phase2TrackerDigi_ > > ttTrackMCTruthToken_
edm::EDGetTokenT< TTClusterAssociationMap< Ref_Phase2TrackerDigi_ > > ttClusterMCTruthToken_
edm::EDGetTokenT< TTStubAssociationMap< Ref_Phase2TrackerDigi_ > > ttStubMCTruthToken_
void analyze(const edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ > > > ttStubToken_
Definition: Run.h:45