@@ -64,7 +64,7 @@ struct sigmaminustask {
6464 {
6565 // Axes
6666 const AxisSpec ptAxis{100 , -10 , 10 , " #it{p}_{T} (GeV/#it{c})" };
67- const AxisSpec ptDaughterAxis{ 200 , 0 , 10 , " Daughter #it{p}_{T} (GeV/#it{c})" };
67+ const AxisSpec ptUnsignedAxis{ 100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" };
6868 const AxisSpec nSigmaPiAxis{60 , -30 , 30 , " n#sigma_{#pi}" };
6969 const AxisSpec nSigmaPrAxis{60 , -30 , 30 , " n#sigma_{p}" };
7070 const AxisSpec sigmaMassAxis{100 , 1.1 , 1.4 , " m (GeV/#it{c}^{2})" };
@@ -111,31 +111,29 @@ struct sigmaminustask {
111111 }
112112
113113 if (doprocessFindable) {
114+ std::vector<std::string> filterLabels = {" Initial" , " ITS/TPC present" , " Moth ITS" , " Moth p_{T}" , " Daug ITS+TPC" , " #eta" , " #Delta#phi" , " Radius" , " Collision" , " Daug TOF" };
115+
114116 // Add findable Sigma histograms
115117 rFindable.add (" hFilterIndex" , " hFilterIndex" , {HistType::kTH1F , {filtersAxis}});
116-
117- auto hFilterIndex = rFindable.get <TH1>(HIST (" hFilterIndex" ));
118- hFilterIndex->GetXaxis ()->SetBinLabel (1 , " Initial" ); // 0: all generated pairs with tracks
119- hFilterIndex->GetXaxis ()->SetBinLabel (2 , " Det. signals" ); // 1: correct ITS, TPC signals present
120- hFilterIndex->GetXaxis ()->SetBinLabel (3 , " Moth ITS" ); // 2: cuts on ITS mother signal
121- hFilterIndex->GetXaxis ()->SetBinLabel (4 , " Moth p_{T}" ); // 3: mother pT > KBminPtMoth
122- hFilterIndex->GetXaxis ()->SetBinLabel (5 , " Daug TPC" ); // 4: cuts on TPC daughter signal
123- hFilterIndex->GetXaxis ()->SetBinLabel (6 , " #eta cuts" ); // 5: eta < KBetaMax
124- hFilterIndex->GetXaxis ()->SetBinLabel (7 , " #Delta#phi" ); // 6: delta phi < KBmaxPhiDiff
125- hFilterIndex->GetXaxis ()->SetBinLabel (8 , " Radius" ); // 7: decay radius > KBradiusCut
126- hFilterIndex->GetXaxis ()->SetBinLabel (9 , " Collision" ); // 8: collision sel8 cut
127- hFilterIndex->GetXaxis ()->SetBinLabel (10 , " TOF daug" ); // 9: daughter has TOF
128-
129118 rFindable.add (" h2MCRadiusFilterIndex" , " h2MCRadiusFilterIndex" , {HistType::kTH2F , {filtersAxis, radiusAxis}});
130119 rFindable.add (" h2RecRadiusFilterIndex" , " h2RecRadiusFilterIndex" , {HistType::kTH2F , {filtersAxis, radiusAxis}});
131120
121+ auto hFilterIndex = rFindable.get <TH1>(HIST (" hFilterIndex" ));
122+ auto h2MCRadiusFilterIndex = rFindable.get <TH2>(HIST (" h2MCRadiusFilterIndex" ));
123+ auto h2RecRadiusFilterIndex = rFindable.get <TH2>(HIST (" h2RecRadiusFilterIndex" ));
124+ for (size_t i = 0 ; i < filterLabels.size (); ++i) {
125+ hFilterIndex->GetXaxis ()->SetBinLabel (i + 1 , filterLabels[i].c_str ());
126+ h2MCRadiusFilterIndex->GetXaxis ()->SetBinLabel (i + 1 , filterLabels[i].c_str ());
127+ h2RecRadiusFilterIndex->GetXaxis ()->SetBinLabel (i + 1 , filterLabels[i].c_str ());
128+ }
129+
132130 rFindable.add (" h2MCRadiusFilter_plus_protonkink" , " h2MCRadiusFilter_plus_protonkink" , {HistType::kTH2F , {filtersAxis, radiusAxis}});
133131 rFindable.add (" h2MCRadiusFilter_plus_pikink" , " h2MCRadiusFilter_plus_pikink" , {HistType::kTH2F , {filtersAxis, radiusAxis}});
134132 rFindable.add (" h2MCRadiusFilter_minus_pikink" , " h2MCRadiusFilter_minus_pikink" , {HistType::kTH2F , {filtersAxis, radiusAxis}});
135133
136- rFindable.add (" h2PtFilter_plus_protonkink" , " h2PtFilter_plus_protonkink" , {HistType::kTH2F , {filtersAxis, ptDaughterAxis }});
137- rFindable.add (" h2PtFilter_plus_pikink" , " h2PtFilter_plus_pikink" , {HistType::kTH2F , {filtersAxis, ptDaughterAxis }});
138- rFindable.add (" h2PtFilter_minus_pikink" , " h2PtFilter_minus_pikink" , {HistType::kTH2F , {filtersAxis, ptDaughterAxis }});
134+ rFindable.add (" h2PtFilter_plus_protonkink" , " h2PtFilter_plus_protonkink" , {HistType::kTH2F , {filtersAxis, ptUnsignedAxis }});
135+ rFindable.add (" h2PtFilter_plus_pikink" , " h2PtFilter_plus_pikink" , {HistType::kTH2F , {filtersAxis, ptUnsignedAxis }});
136+ rFindable.add (" h2PtFilter_minus_pikink" , " h2PtFilter_minus_pikink" , {HistType::kTH2F , {filtersAxis, ptUnsignedAxis }});
139137 }
140138 }
141139
@@ -318,23 +316,23 @@ struct sigmaminustask {
318316
319317 PROCESS_SWITCH (sigmaminustask, processMC, " MC processing" , false );
320318
321- void fillFindableHistograms (int filterIndex, float mcRadius, float recRadius, float ptDaughter , bool isSigmaMinus, bool isPiDaughter) {
319+ void fillFindableHistograms (int filterIndex, float mcRadius, float recRadius, float pt , bool isSigmaMinus, bool isPiDaughter) {
322320 rFindable.fill (HIST (" hFilterIndex" ), filterIndex);
323321 rFindable.fill (HIST (" h2MCRadiusFilterIndex" ), filterIndex, mcRadius);
324322 rFindable.fill (HIST (" h2RecRadiusFilterIndex" ), filterIndex, recRadius);
325323
326324 if (isPiDaughter) {
327325 if (isSigmaMinus) {
328326 rFindable.fill (HIST (" h2MCRadiusFilter_minus_pikink" ), filterIndex, mcRadius);
329- rFindable.fill (HIST (" h2PtFilter_minus_pikink" ), filterIndex, ptDaughter );
327+ rFindable.fill (HIST (" h2PtFilter_minus_pikink" ), filterIndex, pt );
330328 } else {
331329 rFindable.fill (HIST (" h2MCRadiusFilter_plus_pikink" ), filterIndex, mcRadius);
332- rFindable.fill (HIST (" h2PtFilter_plus_pikink" ), filterIndex, ptDaughter );
333- }
330+ rFindable.fill (HIST (" h2PtFilter_plus_pikink" ), filterIndex, pt );
331+ }
334332 } else {
335333 if (!isSigmaMinus) {
336334 rFindable.fill (HIST (" h2MCRadiusFilter_plus_protonkink" ), filterIndex, mcRadius);
337- rFindable.fill (HIST (" h2PtFilter_plus_protonkink" ), filterIndex, ptDaughter );
335+ rFindable.fill (HIST (" h2PtFilter_plus_protonkink" ), filterIndex, pt );
338336 }
339337 }
340338 }
@@ -434,17 +432,17 @@ struct sigmaminustask {
434432 recRadius = std::sqrt (kinkCand.xDecVtx () * kinkCand.xDecVtx () + kinkCand.yDecVtx () * kinkCand.yDecVtx ());
435433 }
436434 float recPtDaughter = daughterTrack.pt ();
435+ float recPtMother = motherTrack.pt ();
437436
438437 // Define filter index and progressively apply kinkbuilder cuts to track pairs
439438 int filterIndex = 0 ;
440- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter , isSigmaMinus, isPiDaughter);
439+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother , isSigmaMinus, isPiDaughter);
441440
442441 // 1 - tracks with right ITS, TPC, TOF signals
443442 if (motherTrack.has_collision () && motherTrack.hasITS () && !motherTrack.hasTPC () && !motherTrack.hasTOF () &&
444443 daughterTrack.hasITS () && daughterTrack.hasTPC ()) {
445444 filterIndex += 1 ;
446- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
447-
445+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
448446 } else {
449447 continue ;
450448 }
@@ -453,16 +451,14 @@ struct sigmaminustask {
453451 if (motherTrack.itsNCls () < 6 &&
454452 motherTrack.itsNClsInnerBarrel () == 3 && motherTrack.itsChi2NCl () < 36 ) {
455453 filterIndex += 1 ;
456- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
457-
454+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
458455 } else {
459456 continue ;
460457 }
461458
462459 if (motherTrack.pt () > KBminPtMoth) {
463460 filterIndex += 1 ;
464- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
465-
461+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
466462 } else {
467463 continue ;
468464 }
@@ -471,35 +467,31 @@ struct sigmaminustask {
471467 if (daughterTrack.itsNClsInnerBarrel () == 0 && daughterTrack.itsNCls () < 4 &&
472468 daughterTrack.tpcNClsCrossedRows () > 0.8 * daughterTrack.tpcNClsFindable () && daughterTrack.tpcNClsFound () > KBnTPCClusMinDaug) {
473469 filterIndex += 1 ;
474- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
475-
470+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
476471 } else {
477472 continue ;
478473 }
479474
480475 // 5 - geometric cuts: eta
481476 if (std::abs (motherTrack.eta ()) < KBetaMax && std::abs (daughterTrack.eta ()) < KBetaMax) {
482477 filterIndex += 1 ;
483- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
484-
478+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
485479 } else {
486480 continue ;
487481 }
488482
489483 // 6 - geometric cuts: phi difference
490484 if (std::abs (motherTrack.phi () - daughterTrack.phi ()) * radToDeg < KBmaxPhiDiff) {
491485 filterIndex += 1 ;
492- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
493-
486+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
494487 } else {
495488 continue ;
496489 }
497490
498491 // 7 - radius cut
499492 if (recRadius > KBradiusCut) {
500493 filterIndex += 1 ;
501- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
502-
494+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
503495 } else {
504496 continue ;
505497 }
@@ -508,15 +500,15 @@ struct sigmaminustask {
508500 auto collision = motherTrack.template collision_as <CollisionsFullMC>();
509501 if (!(std::abs (collision.posZ ()) > cutzvertex || !collision.sel8 ())) {
510502 filterIndex += 1 ;
511- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
512-
503+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
504+ } else {
505+ continue ;
513506 }
514507
515508 // 9 - TOF daughter presence
516509 if (daughterTrack.hasTOF ()) {
517510 filterIndex += 1 ;
518- fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtDaughter, isSigmaMinus, isPiDaughter);
519-
511+ fillFindableHistograms (filterIndex, mcRadius, recRadius, recPtMother, isSigmaMinus, isPiDaughter);
520512 }
521513 }
522514 }
0 commit comments