CMS 3D CMS Logo

MtdTracksValidation.cc
Go to the documentation of this file.
1 #include <string>
2 
8 
11 
16 
22 
26 
34 
36 public:
37  explicit MtdTracksValidation(const edm::ParameterSet&);
38  ~MtdTracksValidation() override;
39 
40  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
41 
42 private:
43  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
44 
45  void analyze(const edm::Event&, const edm::EventSetup&) override;
46 
47  // ------------ member data ------------
48 
50  const float trackMinPt_;
51  const float trackMinEta_;
52  const float trackMaxEta_;
53 
57 
60 
70 
72 
81 
90 
101 
105 };
106 
107 // ------------ constructor and destructor --------------
109  : folder_(iConfig.getParameter<std::string>("folder")),
110  trackMinPt_(iConfig.getParameter<double>("trackMinimumPt")),
111  trackMinEta_(iConfig.getParameter<double>("trackMinimumEta")),
112  trackMaxEta_(iConfig.getParameter<double>("trackMaximumEta")) {
113  GenRecTrackToken_ = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("inputTagG"));
114  RecTrackToken_ = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("inputTagT"));
115  RecVertexToken_ = consumes<std::vector<reco::Vertex>>(iConfig.getParameter<edm::InputTag>("inputTagV"));
116  trackAssocToken_ = consumes<edm::ValueMap<int>>(iConfig.getParameter<edm::InputTag>("trackAssocSrc"));
117  pathLengthToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("pathLengthSrc"));
118  tmtdToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("tmtd"));
119  SigmatmtdToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("sigmatmtd"));
120  t0SrcToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("t0Src"));
121  Sigmat0SrcToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("sigmat0Src"));
122  t0PidToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("t0PID"));
123  Sigmat0PidToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("sigmat0PID"));
124  t0SafePidToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("t0SafePID"));
125  Sigmat0SafePidToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("sigmat0SafePID"));
126  trackMVAQualToken_ = consumes<edm::ValueMap<float>>(iConfig.getParameter<edm::InputTag>("trackMVAQual"));
127  mtdtopoToken_ = esConsumes<MTDTopology, MTDTopologyRcd>();
128 }
129 
131 
132 // ------------ method called for each event ------------
134  using namespace edm;
135  using namespace geant_units::operators;
136  using namespace std;
137 
138  auto topologyHandle = iSetup.getTransientHandle(mtdtopoToken_);
139  const MTDTopology* topology = topologyHandle.product();
140 
141  bool topo1Dis = false;
142  bool topo2Dis = false;
143  if (topology->getMTDTopologyMode() <= static_cast<int>(MTDTopologyMode::Mode::barphiflat)) {
144  topo1Dis = true;
145  }
146  if (topology->getMTDTopologyMode() > static_cast<int>(MTDTopologyMode::Mode::barphiflat)) {
147  topo2Dis = true;
148  }
149 
150  auto GenRecTrackHandle = makeValid(iEvent.getHandle(GenRecTrackToken_));
151  auto RecVertexHandle = makeValid(iEvent.getHandle(RecVertexToken_));
152 
153  const auto& tMtd = iEvent.get(tmtdToken_);
154  const auto& SigmatMtd = iEvent.get(SigmatmtdToken_);
155  const auto& t0Src = iEvent.get(t0SrcToken_);
156  const auto& Sigmat0Src = iEvent.get(Sigmat0SrcToken_);
157  const auto& t0Pid = iEvent.get(t0PidToken_);
158  const auto& Sigmat0Pid = iEvent.get(Sigmat0PidToken_);
159  const auto& t0Safe = iEvent.get(t0SafePidToken_);
160  const auto& Sigmat0Safe = iEvent.get(Sigmat0SafePidToken_);
161  const auto& mtdQualMVA = iEvent.get(trackMVAQualToken_);
162  const auto& trackAssoc = iEvent.get(trackAssocToken_);
163  const auto& pathLength = iEvent.get(pathLengthToken_);
164 
165  unsigned int index = 0;
166  // --- Loop over all RECO tracks ---
167  for (const auto& trackGen : *GenRecTrackHandle) {
168  const reco::TrackRef trackref(iEvent.getHandle(GenRecTrackToken_), index);
169  index++;
170 
171  if (trackAssoc[trackref] == -1) {
172  LogInfo("mtdTracks") << "Extended track not associated";
173  continue;
174  }
175 
176  const reco::TrackRef mtdTrackref = reco::TrackRef(iEvent.getHandle(RecTrackToken_), trackAssoc[trackref]);
177  const reco::Track track = *mtdTrackref;
178 
179  if (track.pt() < trackMinPt_)
180  continue;
181 
182  meTracktmtd_->Fill(tMtd[trackref]);
183  if (std::round(SigmatMtd[trackref] - Sigmat0Pid[trackref]) != 0) {
184  LogWarning("mtdTracks") << "TimeError associated to refitted track is different from TimeError stored in tofPID "
185  "sigmat0 ValueMap: this should not happen";
186  }
187 
188  meTrackt0Src_->Fill(t0Src[trackref]);
189  meTrackSigmat0Src_->Fill(Sigmat0Src[trackref]);
190 
191  meTrackt0Pid_->Fill(t0Pid[trackref]);
192  meTrackSigmat0Pid_->Fill(Sigmat0Pid[trackref]);
193  meTrackt0SafePid_->Fill(t0Safe[trackref]);
194  meTrackSigmat0SafePid_->Fill(Sigmat0Safe[trackref]);
195  meTrackMVAQual_->Fill(mtdQualMVA[trackref]);
196 
197  meTrackPathLenghtvsEta_->Fill(std::abs(track.eta()), pathLength[trackref]);
198 
199  if (std::abs(track.eta()) < trackMinEta_) {
200  // --- all BTL tracks (with and without hit in MTD) ---
204 
205  bool MTDBtl = false;
206  int numMTDBtlvalidhits = 0;
207  for (const auto hit : track.recHits()) {
208  if (hit->isValid() == false)
209  continue;
210  MTDDetId Hit = hit->geographicalId();
211  if ((Hit.det() == 6) && (Hit.subdetId() == 1) && (Hit.mtdSubDetector() == 1)) {
212  MTDBtl = true;
213  numMTDBtlvalidhits++;
214  }
215  }
216  meTrackNumHits_->Fill(numMTDBtlvalidhits);
217 
218  // --- keeping only tracks with last hit in MTD ---
219  if (MTDBtl == true) {
224  meBTLTrackPtRes_->Fill((trackGen.pt() - track.pt()) / trackGen.pt());
225  }
226  } //loop over (geometrical) BTL tracks
227 
228  else {
229  // --- all ETL tracks (with and without hit in MTD) ---
230  if ((track.eta() < -trackMinEta_) && (track.eta() > -trackMaxEta_)) {
231  meETLTrackEffEtaTot_[0]->Fill(track.eta());
232  meETLTrackEffPhiTot_[0]->Fill(track.phi());
233  meETLTrackEffPtTot_[0]->Fill(track.pt());
234  }
235 
236  if ((track.eta() > trackMinEta_) && (track.eta() < trackMaxEta_)) {
237  meETLTrackEffEtaTot_[1]->Fill(track.eta());
238  meETLTrackEffPhiTot_[1]->Fill(track.phi());
239  meETLTrackEffPtTot_[1]->Fill(track.pt());
240  }
241 
242  bool MTDEtlZnegD1 = false;
243  bool MTDEtlZnegD2 = false;
244  bool MTDEtlZposD1 = false;
245  bool MTDEtlZposD2 = false;
246  int numMTDEtlvalidhits = 0;
247  for (const auto hit : track.recHits()) {
248  if (hit->isValid() == false)
249  continue;
250  MTDDetId Hit = hit->geographicalId();
251  if ((Hit.det() == 6) && (Hit.subdetId() == 1) && (Hit.mtdSubDetector() == 2)) {
252  ETLDetId ETLHit = hit->geographicalId();
253 
254  if (topo2Dis) {
255  if ((ETLHit.zside() == -1) && (ETLHit.nDisc() == 1)) {
256  MTDEtlZnegD1 = true;
258  meETLTrackPtRes_->Fill((trackGen.pt() - track.pt()) / trackGen.pt());
259  numMTDEtlvalidhits++;
260  }
261  if ((ETLHit.zside() == -1) && (ETLHit.nDisc() == 2)) {
262  MTDEtlZnegD2 = true;
264  meETLTrackPtRes_->Fill((trackGen.pt() - track.pt()) / trackGen.pt());
265  numMTDEtlvalidhits++;
266  }
267  if ((ETLHit.zside() == 1) && (ETLHit.nDisc() == 1)) {
268  MTDEtlZposD1 = true;
270  meETLTrackPtRes_->Fill((trackGen.pt() - track.pt()) / trackGen.pt());
271  numMTDEtlvalidhits++;
272  }
273  if ((ETLHit.zside() == 1) && (ETLHit.nDisc() == 2)) {
274  MTDEtlZposD2 = true;
276  meETLTrackPtRes_->Fill((trackGen.pt() - track.pt()) / trackGen.pt());
277  numMTDEtlvalidhits++;
278  }
279  }
280 
281  if (topo1Dis) {
282  if (ETLHit.zside() == -1) {
283  MTDEtlZnegD1 = true;
285  numMTDEtlvalidhits++;
286  }
287  if (ETLHit.zside() == 1) {
288  MTDEtlZposD1 = true;
290  numMTDEtlvalidhits++;
291  }
292  }
293  }
294  }
295  meTrackNumHits_->Fill(-numMTDEtlvalidhits);
296 
297  // --- keeping only tracks with last hit in MTD ---
298  if ((track.eta() < -trackMinEta_) && (track.eta() > -trackMaxEta_)) {
299  if ((MTDEtlZnegD1 == true) || (MTDEtlZnegD2 == true)) {
300  meETLTrackEffEtaMtd_[0]->Fill(track.eta());
301  meETLTrackEffPhiMtd_[0]->Fill(track.phi());
302  meETLTrackEffPtMtd_[0]->Fill(track.pt());
303  }
304  }
305  if ((track.eta() > trackMinEta_) && (track.eta() < trackMaxEta_)) {
306  if ((MTDEtlZposD1 == true) || (MTDEtlZposD2 == true)) {
307  meETLTrackEffEtaMtd_[1]->Fill(track.eta());
308  meETLTrackEffPhiMtd_[1]->Fill(track.phi());
309  meETLTrackEffPtMtd_[1]->Fill(track.pt());
310  }
311  }
312  }
313  } //RECO tracks loop
314 
315  // --- Loop over the RECO vertices ---
316  int nv = 0;
317  for (const auto& v : *RecVertexHandle) {
318  if (v.isValid()) {
319  meVerZ_->Fill(v.z());
320  meVerTime_->Fill(v.t());
321  nv++;
322  } else
323  cout << "The vertex is not valid" << endl;
324  }
325  meVerNumber_->Fill(nv);
326 }
327 
328 // ------------ method for histogram booking ------------
330  ibook.setCurrentFolder(folder_);
331 
332  // histogram booking
333  meBTLTrackRPTime_ = ibook.book1D("TrackBTLRPTime", "Track t0 with respect to R.P.;t0 [ns]", 100, -1, 3);
334  meBTLTrackEffEtaTot_ = ibook.book1D("TrackBTLEffEtaTot", "Track efficiency vs eta (Tot);#eta_{RECO}", 100, -1.6, 1.6);
336  ibook.book1D("TrackBTLEffPhiTot", "Track efficiency vs phi (Tot);#phi_{RECO} [rad]", 100, -3.2, 3.2);
337  meBTLTrackEffPtTot_ = ibook.book1D("TrackBTLEffPtTot", "Track efficiency vs pt (Tot);pt_{RECO} [GeV]", 50, 0, 10);
338  meBTLTrackEffEtaMtd_ = ibook.book1D("TrackBTLEffEtaMtd", "Track efficiency vs eta (Mtd);#eta_{RECO}", 100, -1.6, 1.6);
340  ibook.book1D("TrackBTLEffPhiMtd", "Track efficiency vs phi (Mtd);#phi_{RECO} [rad]", 100, -3.2, 3.2);
341  meBTLTrackEffPtMtd_ = ibook.book1D("TrackBTLEffPtMtd", "Track efficiency vs pt (Mtd);pt_{RECO} [GeV]", 50, 0, 10);
343  ibook.book1D("TrackBTLPtRes", "Track pT resolution ;pT_{Gentrack}-pT_{MTDtrack}/pT_{Gentrack} ", 100, -0.1, 0.1);
344  meETLTrackRPTime_ = ibook.book1D("TrackETLRPTime", "Track t0 with respect to R.P.;t0 [ns]", 100, -1, 3);
346  ibook.book1D("TrackETLEffEtaTotZneg", "Track efficiency vs eta (Tot) (-Z);#eta_{RECO}", 100, -3.2, -1.4);
348  ibook.book1D("TrackETLEffEtaTotZpos", "Track efficiency vs eta (Tot) (+Z);#eta_{RECO}", 100, 1.4, 3.2);
350  ibook.book1D("TrackETLEffPhiTotZneg", "Track efficiency vs phi (Tot) (-Z);#phi_{RECO} [rad]", 100, -3.2, 3.2);
352  ibook.book1D("TrackETLEffPhiTotZpos", "Track efficiency vs phi (Tot) (+Z);#phi_{RECO} [rad]", 100, -3.2, 3.2);
354  ibook.book1D("TrackETLEffPtTotZneg", "Track efficiency vs pt (Tot) (-Z);pt_{RECO} [GeV]", 50, 0, 10);
356  ibook.book1D("TrackETLEffPtTotZpos", "Track efficiency vs pt (Tot) (+Z);pt_{RECO} [GeV]", 50, 0, 10);
358  ibook.book1D("TrackETLEffEtaMtdZneg", "Track efficiency vs eta (Mtd) (-Z);#eta_{RECO}", 100, -3.2, -1.4);
360  ibook.book1D("TrackETLEffEtaMtdZpos", "Track efficiency vs eta (Mtd) (+Z);#eta_{RECO}", 100, 1.4, 3.2);
362  ibook.book1D("TrackETLEffPhiMtdZneg", "Track efficiency vs phi (Mtd) (-Z);#phi_{RECO} [rad]", 100, -3.2, 3.2);
364  ibook.book1D("TrackETLEffPhiMtdZpos", "Track efficiency vs phi (Mtd) (+Z);#phi_{RECO} [rad]", 100, -3.2, 3.2);
366  ibook.book1D("TrackETLEffPtMtdZneg", "Track efficiency vs pt (Mtd) (-Z);pt_{RECO} [GeV]", 50, 0, 10);
368  ibook.book1D("TrackETLEffPtMtdZpos", "Track efficiency vs pt (Mtd) (+Z);pt_{RECO} [GeV]", 50, 0, 10);
370  ibook.book1D("TrackETLPtRes", "Track pT resolution;pT_{Gentrack}-pT_{MTDtrack}/pT_{Gentrack} ", 100, -0.1, 0.1);
371 
372  meTracktmtd_ = ibook.book1D("Tracktmtd", "Track time from TrackExtenderWithMTD;tmtd [ns]", 150, 1, 16);
373  meTrackt0Src_ = ibook.book1D("Trackt0Src", "Track time from TrackExtenderWithMTD;t0Src [ns]", 100, -1.5, 1.5);
375  ibook.book1D("TrackSigmat0Src", "Time Error from TrackExtenderWithMTD; #sigma_{t0Src} [ns]", 100, 0, 0.1);
376 
377  meTrackt0Pid_ = ibook.book1D("Trackt0Pid", "Track t0 as stored in TofPid;t0 [ns]", 100, -1, 1);
378  meTrackSigmat0Pid_ = ibook.book1D("TrackSigmat0Pid", "Sigmat0 as stored in TofPid; #sigma_{t0} [ns]", 100, 0, 0.1);
379  meTrackt0SafePid_ = ibook.book1D("Trackt0SafePID", "Track t0 Safe as stored in TofPid;t0 [ns]", 100, -1, 1);
381  ibook.book1D("TrackSigmat0SafePID", "Sigmat0 Safe as stored in TofPid; #sigma_{t0} [ns]", 100, 0, 0.1);
382  meTrackNumHits_ = ibook.book1D("TrackNumHits", "Number of valid MTD hits per track ; Number of hits", 10, -5, 5);
383  meTrackMVAQual_ = ibook.book1D("TrackMVAQual", "Track MVA Quality as stored in Value Map ; MVAQual", 100, 0, 1);
385  "TrackPathLenghtvsEta", "MTD Track pathlength vs MTD track Eta;|#eta|;Pathlength", 100, 0, 3.2, 100.0, 400.0, "S");
386  meVerZ_ = ibook.book1D("VerZ", "RECO Vertex Z;Z_{RECO} [cm]", 180, -18, 18);
387  meVerTime_ = ibook.book1D("VerTime", "RECO Vertex Time;t0 [ns]", 100, -1, 1);
388  meVerNumber_ = ibook.book1D("VerNumber", "RECO Vertex Number: Number of vertices", 100, 0, 500);
389 }
390 
391 // ------------ method fills 'descriptions' with the allowed parameters for the module ------------
392 
395 
396  desc.add<std::string>("folder", "MTD/Tracks");
397  desc.add<edm::InputTag>("inputTagG", edm::InputTag("generalTracks"));
398  desc.add<edm::InputTag>("inputTagT", edm::InputTag("trackExtenderWithMTD"));
399  desc.add<edm::InputTag>("inputTagV", edm::InputTag("offlinePrimaryVertices4D"));
400  desc.add<edm::InputTag>("tmtd", edm::InputTag("trackExtenderWithMTD:generalTracktmtd"));
401  desc.add<edm::InputTag>("sigmatmtd", edm::InputTag("trackExtenderWithMTD:generalTracksigmatmtd"));
402  desc.add<edm::InputTag>("t0Src", edm::InputTag("trackExtenderWithMTD:generalTrackt0"));
403  desc.add<edm::InputTag>("sigmat0Src", edm::InputTag("trackExtenderWithMTD:generalTracksigmat0"));
404  desc.add<edm::InputTag>("trackAssocSrc", edm::InputTag("trackExtenderWithMTD:generalTrackassoc"))
405  ->setComment("Association between General and MTD Extended tracks");
406  desc.add<edm::InputTag>("pathLengthSrc", edm::InputTag("trackExtenderWithMTD:generalTrackPathLength"));
407  desc.add<edm::InputTag>("t0SafePID", edm::InputTag("tofPID:t0safe"));
408  desc.add<edm::InputTag>("sigmat0SafePID", edm::InputTag("tofPID:sigmat0safe"));
409  desc.add<edm::InputTag>("sigmat0PID", edm::InputTag("tofPID:sigmat0"));
410  desc.add<edm::InputTag>("t0PID", edm::InputTag("tofPID:t0"));
411  desc.add<edm::InputTag>("trackMVAQual", edm::InputTag("mtdTrackQualityMVA:mtdQualMVA"));
412  desc.add<double>("trackMinimumPt", 1.0); // [GeV]
413  desc.add<double>("trackMinimumEta", 1.5);
414  desc.add<double>("trackMaximumEta", 3.2);
415 
416  descriptions.add("mtdTracks", desc);
417 }
418 
MtdTracksValidation::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: MtdTracksValidation.cc:329
RefProd.h
Hit
Definition: HitCollection.h:12
dqm::impl::MonitorElement
Definition: MonitorElement.h:99
MtdTracksValidation::Sigmat0SrcToken_
edm::EDGetTokenT< edm::ValueMap< float > > Sigmat0SrcToken_
Definition: MtdTracksValidation.cc:64
BTLDetId.h
MtdTracksValidation::meETLTrackEffPtTot_
MonitorElement * meETLTrackEffPtTot_[2]
Definition: MtdTracksValidation.cc:85
MtdTracksValidation::meVerZ_
MonitorElement * meVerZ_
Definition: MtdTracksValidation.cc:103
MtdTracksValidation::~MtdTracksValidation
~MtdTracksValidation() override
Definition: MtdTracksValidation.cc:130
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
MtdTracksValidation::meBTLTrackEffEtaMtd_
MonitorElement * meBTLTrackEffEtaMtd_
Definition: MtdTracksValidation.cc:77
MtdTracksValidation::meBTLTrackRPTime_
MonitorElement * meBTLTrackRPTime_
Definition: MtdTracksValidation.cc:73
MtdTracksValidation::t0SrcToken_
edm::EDGetTokenT< edm::ValueMap< float > > t0SrcToken_
Definition: MtdTracksValidation.cc:63
MtdTracksValidation::meVerNumber_
MonitorElement * meVerNumber_
Definition: MtdTracksValidation.cc:102
MtdTracksValidation
Definition: MtdTracksValidation.cc:35
edm::Run
Definition: Run.h:45
edm::EDGetTokenT< reco::TrackCollection >
edm
HLT enums.
Definition: AlignableModifier.h:19
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
MtdTracksValidation::meBTLTrackEffPtTot_
MonitorElement * meBTLTrackEffPtTot_
Definition: MtdTracksValidation.cc:76
MTDGeometry.h
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
MtdTracksValidation::trackAssocToken_
edm::EDGetTokenT< edm::ValueMap< int > > trackAssocToken_
Definition: MtdTracksValidation.cc:58
MTDDigiGeometryRecord.h
DQMStore.h
MtdTracksValidation::meTrackNumHits_
MonitorElement * meTrackNumHits_
Definition: MtdTracksValidation.cc:98
MtdTracksValidation::meTrackt0Pid_
MonitorElement * meTrackt0Pid_
Definition: MtdTracksValidation.cc:94
MtdTracksValidation::tmtdToken_
edm::EDGetTokenT< edm::ValueMap< float > > tmtdToken_
Definition: MtdTracksValidation.cc:61
MTDTopologyMode::Mode::barphiflat
ETLDetId
Detector identifier class for the Endcap Timing Layer.
Definition: ETLDetId.h:15
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
geant_units::operators
Definition: GeantUnits.h:18
findQualityFiles.v
v
Definition: findQualityFiles.py:179
MTDTopologyMode.h
ETLDetId.h
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
MtdTracksValidation::mtdtopoToken_
edm::ESGetToken< MTDTopology, MTDTopologyRcd > mtdtopoToken_
Definition: MtdTracksValidation.cc:71
MTDTopology::getMTDTopologyMode
int getMTDTopologyMode() const
Definition: MTDTopology.h:27
edm::Ref< TrackCollection >
MtdTracksValidation::GenRecTrackToken_
edm::EDGetTokenT< reco::TrackCollection > GenRecTrackToken_
Definition: MtdTracksValidation.cc:54
MtdTracksValidation::Sigmat0PidToken_
edm::EDGetTokenT< edm::ValueMap< float > > Sigmat0PidToken_
Definition: MtdTracksValidation.cc:66
MakerMacros.h
Track.h
MtdTracksValidation::Sigmat0SafePidToken_
edm::EDGetTokenT< edm::ValueMap< float > > Sigmat0SafePidToken_
Definition: MtdTracksValidation.cc:68
TrackFwd.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
MtdTracksValidation::meVerTime_
MonitorElement * meVerTime_
Definition: MtdTracksValidation.cc:104
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
MtdTracksValidation::meTrackt0Src_
MonitorElement * meTrackt0Src_
Definition: MtdTracksValidation.cc:92
MtdTracksValidation::meETLTrackEffEtaMtd_
MonitorElement * meETLTrackEffEtaMtd_[2]
Definition: MtdTracksValidation.cc:86
PtrVector.h
MtdTracksValidation::meTracktmtd_
MonitorElement * meTracktmtd_
Definition: MtdTracksValidation.cc:91
MtdTracksValidation::meBTLTrackEffPhiMtd_
MonitorElement * meBTLTrackEffPhiMtd_
Definition: MtdTracksValidation.cc:78
MtdTracksValidation::RecVertexToken_
edm::EDGetTokenT< std::vector< reco::Vertex > > RecVertexToken_
Definition: MtdTracksValidation.cc:56
MtdTracksValidation::trackMVAQualToken_
edm::EDGetTokenT< edm::ValueMap< float > > trackMVAQualToken_
Definition: MtdTracksValidation.cc:69
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
reco::Track
Definition: Track.h:27
MtdTracksValidation::pathLengthToken_
edm::EDGetTokenT< edm::ValueMap< float > > pathLengthToken_
Definition: MtdTracksValidation.cc:59
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
MtdTracksValidation::meETLTrackRPTime_
MonitorElement * meETLTrackRPTime_
Definition: MtdTracksValidation.cc:82
RectangularMTDTopology.h
ETLDetId::nDisc
int nDisc() const
Definition: ETLDetId.h:122
MTDDetId::zside
int zside() const
Definition: MTDDetId.h:61
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
reco::TrackRef
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
ValidHandle.h
folder_
std::string folder_
Definition: DQMEDAnalyzer.cc:60
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
MTDTopology
Definition: MTDTopology.h:13
edm::ParameterSet
Definition: ParameterSet.h:47
MtdTracksValidation::meETLTrackEffPhiMtd_
MonitorElement * meETLTrackEffPhiMtd_[2]
Definition: MtdTracksValidation.cc:87
MtdTracksValidation::MtdTracksValidation
MtdTracksValidation(const edm::ParameterSet &)
Definition: MtdTracksValidation.cc:108
RefVector.h
Event.h
GeantUnits.h
MtdTracksValidation::meBTLTrackPtRes_
MonitorElement * meBTLTrackPtRes_
Definition: MtdTracksValidation.cc:80
MtdTracksValidation::meBTLTrackEffPtMtd_
MonitorElement * meBTLTrackEffPtMtd_
Definition: MtdTracksValidation.cc:79
Ptr.h
iEvent
int iEvent
Definition: GenABIO.cc:224
MtdTracksValidation::meETLTrackEffEtaTot_
MonitorElement * meETLTrackEffEtaTot_[2]
Definition: MtdTracksValidation.cc:83
MtdTracksValidation::meETLTrackPtRes_
MonitorElement * meETLTrackPtRes_
Definition: MtdTracksValidation.cc:89
edm::EventSetup
Definition: EventSetup.h:58
MtdTracksValidation::meETLTrackEffPtMtd_
MonitorElement * meETLTrackEffPtMtd_[2]
Definition: MtdTracksValidation.cc:88
MtdTracksValidation::meBTLTrackEffEtaTot_
MonitorElement * meBTLTrackEffEtaTot_
Definition: MtdTracksValidation.cc:74
edm::makeValid
auto makeValid(const U &iOtherHandleType) noexcept(false)
Definition: ValidHandle.h:52
edm::EventSetup::getTransientHandle
ESTransientHandle< T > getTransientHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:166
MtdTracksValidation::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: MtdTracksValidation.cc:133
edm::ESGetToken< MTDTopology, MTDTopologyRcd >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MtdTracksValidation::folder_
const std::string folder_
Definition: MtdTracksValidation.cc:49
ValueMap.h
MtdTracksValidation::meTrackSigmat0SafePid_
MonitorElement * meTrackSigmat0SafePid_
Definition: MtdTracksValidation.cc:97
MtdTracksValidation::t0SafePidToken_
edm::EDGetTokenT< edm::ValueMap< float > > t0SafePidToken_
Definition: MtdTracksValidation.cc:67
ProxyMTDTopology.h
MtdTracksValidation::meTrackSigmat0Src_
MonitorElement * meTrackSigmat0Src_
Definition: MtdTracksValidation.cc:93
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
MtdTracksValidation::meETLTrackEffPhiTot_
MonitorElement * meETLTrackEffPhiTot_[2]
Definition: MtdTracksValidation.cc:84
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
Ref.h
MtdTracksValidation::meTrackMVAQual_
MonitorElement * meTrackMVAQual_
Definition: MtdTracksValidation.cc:99
MTDTopologyRcd.h
MtdTracksValidation::meTrackPathLenghtvsEta_
MonitorElement * meTrackPathLenghtvsEta_
Definition: MtdTracksValidation.cc:100
Vertex.h
MtdTracksValidation::SigmatmtdToken_
edm::EDGetTokenT< edm::ValueMap< float > > SigmatmtdToken_
Definition: MtdTracksValidation.cc:62
Frameworkfwd.h
MTDDetId
Detector identifier base class for the MIP Timing Layer.
Definition: MTDDetId.h:21
MtdTracksValidation::trackMinEta_
const float trackMinEta_
Definition: MtdTracksValidation.cc:51
MtdTracksValidation::trackMinPt_
const float trackMinPt_
Definition: MtdTracksValidation.cc:50
MtdTracksValidation::meBTLTrackEffPhiTot_
MonitorElement * meBTLTrackEffPhiTot_
Definition: MtdTracksValidation.cc:75
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MtdTracksValidation::trackMaxEta_
const float trackMaxEta_
Definition: MtdTracksValidation.cc:52
dqm::implementation::IBooker
Definition: DQMStore.h:43
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MtdTracksValidation::meTrackt0SafePid_
MonitorElement * meTrackt0SafePid_
Definition: MtdTracksValidation.cc:96
ParameterSet.h
edm::Event
Definition: Event.h:73
MtdTracksValidation::t0PidToken_
edm::EDGetTokenT< edm::ValueMap< float > > t0PidToken_
Definition: MtdTracksValidation.cc:65
MtdTracksValidation::meTrackSigmat0Pid_
MonitorElement * meTrackSigmat0Pid_
Definition: MtdTracksValidation.cc:95
edm::InputTag
Definition: InputTag.h:15
MtdTracksValidation::RecTrackToken_
edm::EDGetTokenT< reco::TrackCollection > RecTrackToken_
Definition: MtdTracksValidation.cc:55
MTDTopology.h
hit
Definition: SiStripHitEffFromCalibTree.cc:88
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
MtdTracksValidation::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: MtdTracksValidation.cc:393