@@ -125,21 +125,21 @@ struct StrangenessInJetsIons {
125125 Configurable<std::string> triggerName{" triggerName" , " fOmega" , " Software trigger name" };
126126
127127 // Event selection
128- Configurable<bool > isApplySameBunchPileup{ " isApplySameBunchPileup " , true , " Enable SameBunchPileup cut " };
129- Configurable<bool > isApplyGoodZvtxFT0vsPV{ " isApplyGoodZvtxFT0vsPV " , true , " Enable GoodZvtxFT0vsPV cut " };
128+ Configurable<bool > requireNoSameBunchPileup{ " requireNoSameBunchPileup " , true , " Require kNoSameBunchPileup selection " };
129+ Configurable<bool > requireGoodZvtxFT0vsPV{ " requireGoodZvtxFT0vsPV " , true , " Require kIsGoodZvtxFT0vsPV selection " };
130130
131131 // Track analysis parameters
132132 Configurable<int > minITSnCls{" minITSnCls" , 4 , " Minimum number of ITS clusters" };
133133 Configurable<int > minNCrossedRowsTPC{" minNCrossedRowsTPC" , 70 , " Minimum number of TPC crossed rows" };
134134 Configurable<double > maxChi2TPC{" maxChi2TPC" , 4 .0f , " Maximum chi2 per cluster TPC" };
135135 Configurable<double > etaMin{" etaMin" , -0 .8f , " Minimum eta" };
136136 Configurable<double > etaMax{" etaMax" , +0 .8f , " Maximum eta" };
137- Configurable<double > ptMinV0Proton{" ptMinV0Proton" , 0 .3f , " Minimum pt of protons from V0" };
138- Configurable<double > ptMaxV0Proton{" ptMaxV0Proton" , 10 .0f , " Maximum pt of protons from V0" };
139- Configurable<double > ptMinV0Pion{" ptMinV0Pion" , 0 .1f , " Minimum pt of pions from V0" };
140- Configurable<double > ptMaxV0Pion{" ptMaxV0Pion" , 1 . 5f , " Maximum pt of pions from V0" };
141- Configurable<double > ptMinK0Pion{" ptMinK0Pion" , 0 .3f , " Minimum pt of pions from K0" };
142- Configurable<double > ptMaxK0Pion{" ptMaxK0Pion" , 10 .0f , " Maximum pt of pions from K0" };
137+ Configurable<double > ptMinV0Proton{" ptMinV0Proton" , 0 .0f , " Minimum pt of protons from V0" };
138+ Configurable<double > ptMaxV0Proton{" ptMaxV0Proton" , 100 .0f , " Maximum pt of protons from V0" };
139+ Configurable<double > ptMinV0Pion{" ptMinV0Pion" , 0 .0f , " Minimum pt of pions from V0" };
140+ Configurable<double > ptMaxV0Pion{" ptMaxV0Pion" , 100 . 0f , " Maximum pt of pions from V0" };
141+ Configurable<double > ptMinK0Pion{" ptMinK0Pion" , 0 .0f , " Minimum pt of pions from K0" };
142+ Configurable<double > ptMaxK0Pion{" ptMaxK0Pion" , 100 .0f , " Maximum pt of pions from K0" };
143143 Configurable<double > nsigmaTPCmin{" nsigmaTPCmin" , -3 .0f , " Minimum nsigma TPC" };
144144 Configurable<double > nsigmaTPCmax{" nsigmaTPCmax" , +3 .0f , " Maximum nsigma TPC" };
145145 Configurable<double > nsigmaTOFmin{" nsigmaTOFmin" , -3 .0f , " Minimum nsigma TOF" };
@@ -158,7 +158,7 @@ struct StrangenessInJetsIons {
158158 Configurable<double > dcaNegToPVminK0s{" dcaNegToPVminK0s" , 0 .1f , " Minimum DCA of negative track to primary vertex in K0S decays (cm)" };
159159 Configurable<double > dcaPosToPVminK0s{" dcaPosToPVminK0s" , 0 .1f , " Minimum DCA of positive track to primary vertex in K0S decays (cm)" };
160160 Configurable<bool > requireArmenterosCut{" requireArmenterosCut" , true , " Require Armenteros Cut" };
161- Configurable<float > paramArmenterosCut{" paramArmenterosCut" , 2 . 0f , " Parameter Armenteros Cut (K0S only). This parameters multiplies qtarm" };
161+ Configurable<float > paramArmenterosCut{" paramArmenterosCut" , 0 . 2f , " Parameter Armenteros Cut (K0S only). This parameters multiplies alphaArm (Check if: qtarm >= this * |alphaArm|) " };
162162 Configurable<float > ctauK0s{" ctauK0s" , 20 .0f , " C tau K0S (cm)" };
163163 // Lambda/anti-Lambda paramaters
164164 Configurable<double > dcaProtonToPVmin{" dcaProtonToPVmin" , 0 .05f , " Minimum DCA of proton/anti-proton track to primary vertex in Lambda/anti-Lambda decays (cm)" };
@@ -214,6 +214,8 @@ struct StrangenessInJetsIons {
214214 const AxisSpec nsigmaTOFAxis{longLivedOptions.longLivedBinsNsigma , " n#sigma_{TOF}" };
215215 const AxisSpec nsigmaTPCAxis{longLivedOptions.longLivedBinsNsigma , " n#sigma_{TPC}" };
216216 const AxisSpec dcaAxis{longLivedOptions.longLivedBinsDca , " DCA_{xy} (cm)" };
217+ const AxisSpec alphaArmAxis{1000 , -1 .0f , 1 .0f , " #alpha^{arm}" };
218+ const AxisSpec qtarmAxis{1000 , 0 .0f , 0 .30f , " q_{T}^{arm}" };
217219
218220 // Join enum ParticleOfInterest and the configurable vector particlesOfInterest in a map particleOfInterestDict
219221 const std::vector<int >& particleOnOff = particleOfInterest;
@@ -250,6 +252,9 @@ struct StrangenessInJetsIons {
250252 registryData.get <TH1>(HIST (" number_of_events_data" ))->GetXaxis ()->SetBinLabel (7 , " No empty events" );
251253 registryData.get <TH1>(HIST (" number_of_events_data" ))->GetXaxis ()->SetBinLabel (8 , " At least one jet" );
252254
255+ // Armenteros-Podolanski plot
256+ registryQC.add (" ArmenterosPreSel_DATA" , " ArmenterosPreSel_DATA" , HistType::kTH2F , {alphaArmAxis, qtarmAxis});
257+
253258 // Histograms for analysis of strange hadrons
254259 if (particleOfInterestDict[ParticleOfInterest::kV0Particles ]) {
255260 registryData.add (" Lambda_in_jet" , " Lambda_in_jet" , HistType::kTH3F , {multAxis, ptAxis, invMassLambdaAxis});
@@ -347,6 +352,9 @@ struct StrangenessInJetsIons {
347352 // Add histogram to store multiplicity of the event
348353 registryMC.add (" number_of_events_vsmultiplicity_rec" , " number of events vs multiplicity" , HistType::kTH1D , {{101 , -0.5 , 100.5 , " Multiplicity percentile" }});
349354
355+ // Armenteros-Podolanski plot
356+ registryQC.add (" ArmenterosPreSel_REC" , " ArmenterosPreSel_REC" , HistType::kTH2F , {alphaArmAxis, qtarmAxis});
357+
350358 // Histograms for analysis
351359 if (particleOfInterestDict[ParticleOfInterest::kV0Particles ]) {
352360 registryMC.add (" K0s_reconstructed_jet" , " K0s_reconstructed_jet" , HistType::kTH2F , {multAxis, ptAxis});
@@ -710,10 +718,6 @@ struct StrangenessInJetsIons {
710718 if (pionNeg.Pt () < ptMinK0Pion || pionNeg.Pt () > ptMaxK0Pion)
711719 return false ;
712720
713- // Armenteros-Podolanski cut
714- if (std::abs (v0.alpha ()) >= (paramArmenterosCut * v0.qtarm ()) && (requireArmenterosCut))
715- return false ;
716-
717721 // V0 selections
718722 if (v0.v0cosPA () < v0cospaMin)
719723 return false ;
@@ -727,6 +731,11 @@ struct StrangenessInJetsIons {
727731 return false ;
728732 if (std::fabs (v0.dcanegtopv ()) < dcaNegToPVminK0s)
729733 return false ;
734+
735+ // Armenteros-Podolanski cut
736+ if (v0.qtarm () < (paramArmenterosCut * std::abs (v0.alpha ())) && (requireArmenterosCut))
737+ return false ;
738+
730739 if (v0.v0Type () != v0type && requireV0type) {
731740 registryQC.fill (HIST (" V0_type" ), v0.v0Type ());
732741 return false ;
@@ -1007,10 +1016,10 @@ struct StrangenessInJetsIons {
10071016 if (std::fabs (recoColl.posZ ()) > zVtx)
10081017 return false ;
10091018
1010- if (isApplySameBunchPileup && !recoColl.selection_bit (o2::aod::evsel::kNoSameBunchPileup ))
1019+ if (requireNoSameBunchPileup && !recoColl.selection_bit (o2::aod::evsel::kNoSameBunchPileup ))
10111020 return false ;
10121021
1013- if (isApplyGoodZvtxFT0vsPV && !recoColl.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV ))
1022+ if (requireGoodZvtxFT0vsPV && !recoColl.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV ))
10141023 return false ;
10151024
10161025 return true ;
@@ -1053,14 +1062,14 @@ struct StrangenessInJetsIons {
10531062 registryData.fill (HIST (" number_of_events_data" ), 3.5 );
10541063
10551064 // Reject collisions associated to the same found BC
1056- if (isApplySameBunchPileup && !collision.selection_bit (o2::aod::evsel::kNoSameBunchPileup ))
1065+ if (requireNoSameBunchPileup && !collision.selection_bit (o2::aod::evsel::kNoSameBunchPileup ))
10571066 return ;
10581067
10591068 // Fill event counter after selection kNoSameBunchPileup
10601069 registryData.fill (HIST (" number_of_events_data" ), 4.5 );
10611070
10621071 // Compatible z_vtx from FT0 and from PV
1063- if (isApplyGoodZvtxFT0vsPV && !collision.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV ))
1072+ if (requireGoodZvtxFT0vsPV && !collision.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV ))
10641073 return ;
10651074
10661075 // Fill event counter after selection kIsGoodZvtxFT0vsPV
@@ -1160,6 +1169,9 @@ struct StrangenessInJetsIons {
11601169 // Vertex position vector
11611170 TVector3 vtxPos (collision.posX (), collision.posY (), collision.posZ ());
11621171
1172+ // Fill Armenteros-Podolanski TH2
1173+ registryQC.fill (HIST (" ArmenterosPreSel_DATA" ), v0.alpha (), v0.qtarm ());
1174+
11631175 // K0s
11641176 if (passedK0ShortSelection (v0, pos, neg, vtxPos)) {
11651177 if (deltaRjet < rJet) {
@@ -1642,14 +1654,14 @@ struct StrangenessInJetsIons {
16421654 registryMC.fill (HIST (" number_of_events_mc_rec" ), 2.5 );
16431655
16441656 // Reject collisions associated to the same found BC
1645- if (isApplySameBunchPileup && !collision.selection_bit (o2::aod::evsel::kNoSameBunchPileup ))
1657+ if (requireNoSameBunchPileup && !collision.selection_bit (o2::aod::evsel::kNoSameBunchPileup ))
16461658 continue ;
16471659
16481660 // Fill event counter after selection kNoSameBunchPileup
16491661 registryMC.fill (HIST (" number_of_events_mc_rec" ), 3.5 );
16501662
16511663 // Compatible z_vtx from FT0 and from PV
1652- if (isApplyGoodZvtxFT0vsPV && !collision.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV ))
1664+ if (requireGoodZvtxFT0vsPV && !collision.selection_bit (o2::aod::evsel::kIsGoodZvtxFT0vsPV ))
16531665 continue ;
16541666
16551667 // Fill event counter after selection kIsGoodZvtxFT0vsPV
@@ -1766,6 +1778,9 @@ struct StrangenessInJetsIons {
17661778 // Vertex position vector
17671779 TVector3 vtxPos (collision.posX (), collision.posY (), collision.posZ ());
17681780
1781+ // Fill Armenteros-Podolanski TH2
1782+ registryQC.fill (HIST (" ArmenterosPreSel_REC" ), v0.alpha (), v0.qtarm ());
1783+
17691784 // K0s
17701785 if (passedK0ShortSelection (v0, pos, neg, vtxPos) && pdgParent == kK0Short && isPhysPrim) {
17711786 if (deltaRjet < rJet) {
0 commit comments