@@ -161,6 +161,31 @@ void TICLCandidateValidator::bookCandidatesHistos(DQMStore::IBooker& ibook,
161161 50 ,
162162 -3.14159 ,
163163 3.14159 ));
164+
165+ histograms.h_neut_energy_noTrackster .push_back (
166+ ibook.book1D (" noTrackster_cand_vs_energy_" + neutrals[i],
167+ neutrals[i] + " simCandidates without trackster energy;E (GeV)" ,
168+ 50 ,
169+ 0 ,
170+ 500 ));
171+ histograms.h_neut_pt_noTrackster .push_back (
172+ ibook.book1D (" noTrackster_cand_vs_pt_" + neutrals[i],
173+ neutrals[i] + " simCandidates without trackster pT;p_{T} (GeV)" ,
174+ 50 ,
175+ 0 ,
176+ 200 ));
177+ histograms.h_neut_eta_noTrackster .push_back (
178+ ibook.book1D (" noTrackster_cand_vs_eta_" + neutrals[i],
179+ neutrals[i] + " simCandidates without trackster eta;#eta (GeV)" ,
180+ 50 ,
181+ -3 ,
182+ 3 ));
183+ histograms.h_neut_phi_noTrackster .push_back (
184+ ibook.book1D (" noTrackster_cand_vs_phi_" + neutrals[i],
185+ neutrals[i] + " simCandidates without trackster phi;#phi (GeV)" ,
186+ 50 ,
187+ -3.14159 ,
188+ 3.14159 ));
164189 }
165190 // charged: electron, muon, hadron
166191 const std::vector<std::string> charged{" electrons" , " muons" , " charged_hadrons" };
@@ -313,6 +338,68 @@ void TICLCandidateValidator::bookCandidatesHistos(DQMStore::IBooker& ibook,
313338 50 ,
314339 -3.14159 ,
315340 3.14159 ));
341+
342+ histograms.h_chg_energy_noTrack .push_back (ibook.book1D (
343+ " noTrack_cand_vs_energy_" + charged[i], charged[i] + " simCandidates without track energy;E (GeV)" , 50 , 0 , 500 ));
344+ histograms.h_chg_pt_noTrack .push_back (ibook.book1D (
345+ " noTrack_cand_vs_pt_" + charged[i], charged[i] + " simCandidates without track pT;p_{T} (GeV)" , 50 , 0 , 200 ));
346+ histograms.h_chg_eta_noTrack .push_back (ibook.book1D (
347+ " noTrack_cand_vs_eta_" + charged[i], charged[i] + " simCandidates without track eta;#eta (GeV)" , 50 , -3 , 3 ));
348+ histograms.h_chg_phi_noTrack .push_back (ibook.book1D (" noTrack_cand_vs_phi_" + charged[i],
349+ charged[i] + " simCandidates without track phi;#phi (GeV)" ,
350+ 50 ,
351+ -3.14159 ,
352+ 3.14159 ));
353+
354+ histograms.h_chg_energy_noGoodTrack .push_back (
355+ ibook.book1D (" noGoodTrack_cand_vs_energy_" + charged[i],
356+ charged[i] + " simCandidates without good track energy;E (GeV)" ,
357+ 50 ,
358+ 0 ,
359+ 500 ));
360+ histograms.h_chg_pt_noGoodTrack .push_back (
361+ ibook.book1D (" noGoodTrack_cand_vs_pt_" + charged[i],
362+ charged[i] + " simCandidates without good track pT;p_{T} (GeV)" ,
363+ 50 ,
364+ 0 ,
365+ 200 ));
366+ histograms.h_chg_eta_noGoodTrack .push_back (
367+ ibook.book1D (" noGoodTrack_cand_vs_eta_" + charged[i],
368+ charged[i] + " simCandidates without good track eta;#eta (GeV)" ,
369+ 50 ,
370+ -3 ,
371+ 3 ));
372+ histograms.h_chg_phi_noGoodTrack .push_back (
373+ ibook.book1D (" noGoodTrack_cand_vs_phi_" + charged[i],
374+ charged[i] + " simCandidates without good track phi;#phi (GeV)" ,
375+ 50 ,
376+ -3.14159 ,
377+ 3.14159 ));
378+
379+ histograms.h_chg_energy_noTrackster .push_back (
380+ ibook.book1D (" noTrackster_cand_vs_energy_" + charged[i],
381+ charged[i] + " simCandidates without trackster energy;E (GeV)" ,
382+ 50 ,
383+ 0 ,
384+ 500 ));
385+ histograms.h_chg_pt_noTrackster .push_back (
386+ ibook.book1D (" noTrackster_cand_vs_pt_" + charged[i],
387+ charged[i] + " simCandidates without trackster pT;p_{T} (GeV)" ,
388+ 50 ,
389+ 0 ,
390+ 200 ));
391+ histograms.h_chg_eta_noTrackster .push_back (
392+ ibook.book1D (" noTrackster_cand_vs_eta_" + charged[i],
393+ charged[i] + " simCandidates without trackster eta;#eta (GeV)" ,
394+ 50 ,
395+ -3 ,
396+ 3 ));
397+ histograms.h_chg_phi_noTrackster .push_back (
398+ ibook.book1D (" noTrackster_cand_vs_phi_" + charged[i],
399+ charged[i] + " simCandidates without trackster phi;#phi (GeV)" ,
400+ 50 ,
401+ -3.14159 ,
402+ 3.14159 ));
316403 }
317404}
318405
@@ -392,13 +479,28 @@ void TICLCandidateValidator::fillCandidateHistos(const edm::Event& event,
392479 * 211 (type 4) becomes 2
393480 */
394481
482+ // no track
483+ if (simCand.trackPtrs ().empty ()) {
484+ histograms.h_chg_energy_noTrack [index]->Fill (simCand.rawEnergy ());
485+ histograms.h_chg_pt_noTrack [index]->Fill (simCand.pt ());
486+ histograms.h_chg_eta_noTrack [index]->Fill (simCand.eta ());
487+ histograms.h_chg_phi_noTrack [index]->Fill (simCand.phi ());
488+ continue ;
489+ }
490+
395491 std::vector<int32_t > simCandTrackIdx;
396492 for (const auto & track : simCand.trackPtrs ()) {
397493 if (cutTk (*(simCand.trackPtr ().get ())))
398494 simCandTrackIdx.push_back (track.get () - firstTrack);
399495 }
400- if (simCandTrackIdx.empty ())
496+ if (simCandTrackIdx.empty ()) {
497+ // no track passing cuts
498+ histograms.h_chg_energy_noGoodTrack [index]->Fill (simCand.rawEnergy ());
499+ histograms.h_chg_pt_noGoodTrack [index]->Fill (simCand.pt ());
500+ histograms.h_chg_eta_noGoodTrack [index]->Fill (simCand.eta ());
501+ histograms.h_chg_phi_noGoodTrack [index]->Fill (simCand.phi ());
401502 continue ;
503+ }
402504
403505 // +1 to all denominators
404506 histograms.h_den_chg_energy_candidate [index]->Fill (simCand.rawEnergy ());
@@ -418,8 +520,13 @@ void TICLCandidateValidator::fillCandidateHistos(const edm::Event& event,
418520 cand_idx = min_elem->index ();
419521 }
420522 // no reco associated to sim
421- if (cand_idx == -1 )
523+ if (cand_idx == -1 ) {
524+ histograms.h_chg_energy_noTrackster [index]->Fill (simCand.rawEnergy ());
525+ histograms.h_chg_pt_noTrackster [index]->Fill (simCand.pt ());
526+ histograms.h_chg_eta_noTrackster [index]->Fill (simCand.eta ());
527+ histograms.h_chg_phi_noTrackster [index]->Fill (simCand.phi ());
422528 continue ;
529+ }
423530
424531 auto & recoCand = TICLCandidates[cand_idx];
425532 if (isTICLv5_) {
@@ -498,8 +605,13 @@ void TICLCandidateValidator::fillCandidateHistos(const edm::Event& event,
498605 }
499606
500607 // no reco associated to sim
501- if (cand_idx == -1 )
608+ if (cand_idx == -1 ) {
609+ histograms.h_neut_energy_noTrackster [index]->Fill (simCand.rawEnergy ());
610+ histograms.h_neut_pt_noTrackster [index]->Fill (simCand.pt ());
611+ histograms.h_neut_eta_noTrackster [index]->Fill (simCand.eta ());
612+ histograms.h_neut_phi_noTrackster [index]->Fill (simCand.phi ());
502613 continue ;
614+ }
503615
504616 auto & recoCand = TICLCandidates[cand_idx];
505617 if (isTICLv5_) {
0 commit comments