@@ -56,6 +56,7 @@ struct sigmaminustask {
5656 Configurable<float > cutRapMotherMC{" cutRapMotherMC" , 1 .0f , " Rapidity cut for mother Sigma in MC" };
5757 Configurable<float > cutMinQtAP{" cutMinQtAP" , 0 .15f , " Minimum Qt for Armenteros-Podolanski cut" };
5858 Configurable<float > cutMaxQtAP{" cutMaxQtAP" , 0 .20f , " Maximum Qt for Armenteros-Podolanski cut" };
59+ Configurable<float > cutPtGen{" cutPtGen" , 0 .5f , " Minimum pT for generated sigma particles" };
5960
6061 Configurable<bool > fillOutputTree{" fillOutputTree" , true , " If true, fill the output tree with Kink candidates" };
6162
@@ -129,6 +130,7 @@ struct sigmaminustask {
129130 rSigmaMinus.add (" h2DCAMothPt" , " h2DCAMothPt" , {HistType::kTH2F , {ptAxis, dcaMothAxis}});
130131 rSigmaMinus.add (" h2DCADaugPt" , " h2DCADaugPt" , {HistType::kTH2F , {ptAxis, dcaDaugAxis}});
131132 rSigmaMinus.add (" h2ArmenterosPreCuts" , " h2ArmenterosPreCuts" , {HistType::kTH2F , {alphaAPAxis, qtAPAxis}});
133+ rSigmaMinus.add (" h2ArmenterosPostCuts" , " h2ArmenterosPostCuts" , {HistType::kTH2F , {alphaAPAxis, qtAPAxis}});
132134 rSigmaMinus.add (" h2CosPointingAnglePt" , " h2CosPointingAnglePt" , {HistType::kTH2F , {ptAxis, cosPointingAngleAxis}});
133135
134136 if (doprocessMC) {
@@ -179,10 +181,10 @@ struct sigmaminustask {
179181 rFindable.add (" h2PtDaugFilter_plus_pikink" , " h2PtDaugFilter_plus_pikink" , {HistType::kTH2F , {filtersAxis, ptUnsignedAxis}});
180182 rFindable.add (" h2PtDaugFilter_minus_pikink" , " h2PtDaugFilter_minus_pikink" , {HistType::kTH2F , {filtersAxis, ptUnsignedAxis}});
181183
182- rFindable.add (" h2DCAMothPt_protonkink" , " h2DCAMothPt_protonkink" , {HistType::kTH2F , {ptAxis , dcaMothAxis}});
183- rFindable.add (" h2DCADaugPt_protonkink" , " h2DCADaugPt_protonkink" , {HistType::kTH2F , {ptAxis , dcaDaugAxis}});
184- rFindable.add (" h2DCAMothPt_pikink" , " h2DCAMothPt_pikink" , {HistType::kTH2F , {ptAxis , dcaMothAxis}});
185- rFindable.add (" h2DCADaugPt_pikink" , " h2DCADaugPt_pikink" , {HistType::kTH2F , {ptAxis , dcaDaugAxis}});
184+ rFindable.add (" h2DCAMothPt_protonkink" , " h2DCAMothPt_protonkink" , {HistType::kTH2F , {ptUnsignedAxis , dcaMothAxis}});
185+ rFindable.add (" h2DCADaugPt_protonkink" , " h2DCADaugPt_protonkink" , {HistType::kTH2F , {ptUnsignedAxis , dcaDaugAxis}});
186+ rFindable.add (" h2DCAMothPt_pikink" , " h2DCAMothPt_pikink" , {HistType::kTH2F , {ptUnsignedAxis , dcaMothAxis}});
187+ rFindable.add (" h2DCADaugPt_pikink" , " h2DCADaugPt_pikink" , {HistType::kTH2F , {ptUnsignedAxis , dcaDaugAxis}});
186188 }
187189 }
188190
@@ -252,7 +254,7 @@ struct sigmaminustask {
252254 std::array{0 .0f , 0 .0f , 0 .0f },
253255 std::array{kinkCand.xDecVtx (), kinkCand.yDecVtx (), kinkCand.zDecVtx ()});
254256 rSigmaMinus.fill (HIST (" h2CosPointingAnglePt" ), kinkCand.mothSign () * kinkCand.ptMoth (), cosPointingAngleRec);
255-
257+ rSigmaMinus. fill ( HIST ( " h2ArmenterosPostCuts " ), alphaAPValue, qtValue);
256258 rSigmaMinus.fill (HIST (" h2MassSigmaMinusPt" ), kinkCand.mothSign () * kinkCand.ptMoth (), kinkCand.mSigmaMinus ());
257259 rSigmaMinus.fill (HIST (" h2SigmaMassVsXiMass" ), kinkCand.mXiMinus (), kinkCand.mSigmaMinus ());
258260 rSigmaMinus.fill (HIST (" h2NSigmaTPCPiPt" ), kinkCand.mothSign () * kinkCand.ptMoth (), dauTrack.tpcNSigmaPi ());
@@ -354,7 +356,7 @@ struct sigmaminustask {
354356 rSigmaMinus.fill (HIST (" h2DCAMothPt" ), kinkCand.mothSign () * kinkCand.ptMoth (), kinkCand.dcaMothPv ());
355357 rSigmaMinus.fill (HIST (" h2DCADaugPt" ), kinkCand.mothSign () * kinkCand.ptMoth (), kinkCand.dcaDaugPv ());
356358 rSigmaMinus.fill (HIST (" h2CosPointingAnglePt" ), kinkCand.mothSign () * kinkCand.ptMoth (), cosPointingAngleRec);
357-
359+ rSigmaMinus. fill ( HIST ( " h2ArmenterosPostCuts " ), alphaAPValue, qtValue);
358360 if (std::abs (mcTrackPiDau.pdgCode ()) == 211 ) {
359361 rSigmaMinus.fill (HIST (" h2NSigmaTOFPiPt" ), kinkCand.mothSign () * kinkCand.ptMoth (), dauTrack.tofNSigmaPi ());
360362 } else if (std::abs (mcTrackPiDau.pdgCode ()) == 2212 ) {
@@ -383,6 +385,11 @@ struct sigmaminustask {
383385 if ((std::abs (mcPart.pdgCode ()) != 3112 && std::abs (mcPart.pdgCode ()) != 3222 ) || std::abs (mcPart.y ()) > cutRapMotherMC) { // only sigma mothers and rapidity cut
384386 continue ;
385387 }
388+
389+ if (mcPart.pt () < cutPtGen) {
390+ continue ; // Skip if pT is below threshold
391+ }
392+
386393 if (!mcPart.has_daughters ()) {
387394 continue ; // Skip if no daughters
388395 }
@@ -531,7 +538,7 @@ struct sigmaminustask {
531538 // Compute useful quantities for histograms
532539 bool isSigmaMinus = (std::abs (mcMother.pdgCode ()) == 3112 );
533540 bool isPiDaughter = (std::abs (mcDaughter.pdgCode ()) == 211 );
534- int sigmaSign = mcMother. pdgCode () > 0 ? 1 : - 1 ;
541+
535542 float recPtDaughter = daughterTrack.pt ();
536543 float recPtMother = motherTrack.pt ();
537544 float mcRadius = std::sqrt ((mcMother.vx () - mcDaughter.vx ()) * (mcMother.vx () - mcDaughter.vx ()) + (mcMother.vy () - mcDaughter.vy ()) * (mcMother.vy () - mcDaughter.vy ()));
@@ -617,11 +624,11 @@ struct sigmaminustask {
617624 float dcaXYMother = std::abs (dcaInfoMoth[0 ]);
618625 float dcaXYDaughter = std::abs (dcaInfoDaug[0 ]);
619626 if (isPiDaughter) {
620- rFindable.fill (HIST (" h2DCAMothPt_pikink" ), sigmaSign * recPtMother, dcaXYMother);
621- rFindable.fill (HIST (" h2DCADaugPt_pikink" ), sigmaSign * recPtDaughter, dcaXYDaughter);
627+ rFindable.fill (HIST (" h2DCAMothPt_pikink" ), recPtMother, dcaXYMother);
628+ rFindable.fill (HIST (" h2DCADaugPt_pikink" ), recPtDaughter, dcaXYDaughter);
622629 } else {
623- rFindable.fill (HIST (" h2DCAMothPt_protonkink" ), sigmaSign * recPtMother, dcaXYMother);
624- rFindable.fill (HIST (" h2DCADaugPt_protonkink" ), sigmaSign * recPtDaughter, dcaXYDaughter);
630+ rFindable.fill (HIST (" h2DCAMothPt_protonkink" ), recPtMother, dcaXYMother);
631+ rFindable.fill (HIST (" h2DCADaugPt_protonkink" ), recPtDaughter, dcaXYDaughter);
625632 }
626633
627634 // 6 - max Z difference
0 commit comments