1818// / \author Luca Aglietta <[email protected] >, Università and INFN Torino1919
2020#include " TPDGCode.h"
21+ #include " TMath.h"
2122
2223#include " Framework/AnalysisTask.h"
2324#include " Framework/runDataProcessing.h"
@@ -49,8 +50,8 @@ DECLARE_SOA_COLUMN(MassAntiLambda, massAntiLambda, float); //! Candidate mass
4950DECLARE_SOA_COLUMN (Pt, pt, float ); // ! Transverse momentum of the candidate (GeV/c)
5051DECLARE_SOA_COLUMN (PtPos, ptPos, float ); // ! Transverse momentum of positive track (GeV/c)
5152DECLARE_SOA_COLUMN (PtNeg, ptNeg, float ); // ! Transverse momentum of negative track (GeV/c)
52- DECLARE_SOA_COLUMN (TpcInnerParPos, tpcInnerParPos , float ); // ! Momentum of positive track at inner wall of TPC (GeV/c)
53- DECLARE_SOA_COLUMN (TpcInnerParNeg, tpcInnerParNeg , float ); // ! Momentum of negative track at inner wall of TPC (GeV/c)
53+ DECLARE_SOA_COLUMN (TpcPtPos, tpcPtPos , float ); // ! Transverse Momentum of positive track at inner wall of TPC (GeV/c)
54+ DECLARE_SOA_COLUMN (TpcPtNeg, tpcPtNeg , float ); // ! Transverse Momentum of negative track at inner wall of TPC (GeV/c)
5455DECLARE_SOA_COLUMN (Radius, radius, float ); // ! Radius
5556DECLARE_SOA_COLUMN (Cpa, cpa, float ); // ! Cosine of pointing angle
5657DECLARE_SOA_COLUMN (DcaV0Daughters, dcaV0Daughters, float ); // ! DCA between V0 daughters
@@ -70,7 +71,7 @@ DECLARE_SOA_COLUMN(QtArm, qtArm, float); //! Armenteros Qt
7071DECLARE_SOA_COLUMN (MassOmega, massOmega, float ); // ! Candidate mass
7172DECLARE_SOA_COLUMN (MassXi, massXi, float ); // ! Candidate mass
7273DECLARE_SOA_COLUMN (BachPt, bachPt, float ); // ! Transverse momentum of the bachelor (GeV/c)
73- DECLARE_SOA_COLUMN (TpcInnerParBach, tpcInnerParBach , float ); // ! Transverse momentum of the bachelor (GeV/c)
74+ DECLARE_SOA_COLUMN (TpcPtBach, tpcPtBach , float ); // ! Transverse momentum of the bachelor at inner wall of TPC (GeV/c)
7475DECLARE_SOA_COLUMN (MLambda, mLambda , float ); // ! Daughter lambda mass (GeV/c^2)
7576DECLARE_SOA_COLUMN (V0cosPA, v0cosPA, float ); // ! V0 CPA
7677DECLARE_SOA_COLUMN (CascCosPa, cascCosPa, float ); // ! Cascade CPA
@@ -92,8 +93,8 @@ DECLARE_SOA_TABLE(PidV0s, "AOD", "PIDV0S", //! Table with PID information
9293 pid_studies::Pt,
9394 pid_studies::PtPos,
9495 pid_studies::PtNeg,
95- pid_studies::TpcInnerParPos ,
96- pid_studies::TpcInnerParNeg ,
96+ pid_studies::TpcPtPos ,
97+ pid_studies::TpcPtNeg ,
9798 pid_studies::Radius,
9899 pid_studies::Cpa,
99100 pid_studies::DcaV0Daughters,
@@ -118,7 +119,7 @@ DECLARE_SOA_TABLE(PidCascades, "AOD", "PIDCASCADES", //! Table with PID informat
118119 pid_studies::MassOmega,
119120 pid_studies::Pt,
120121 pid_studies::BachPt,
121- pid_studies::TpcInnerParBach ,
122+ pid_studies::TpcPtBach ,
122123 pid_studies::Radius,
123124 pid_studies::MLambda,
124125 pid_studies::V0cosPA,
@@ -133,7 +134,7 @@ DECLARE_SOA_TABLE(PidCascades, "AOD", "PIDCASCADES", //! Table with PID informat
133134 pid_studies::CentralityFT0C,
134135 pid_studies::CentralityFT0M,
135136 pid_studies::CandFlag);
136- } // namespace o2::aod
137+ } // namespace o2::aod
137138
138139struct HfTaskPidStudies {
139140 Produces<o2::aod::PidV0s> pidV0;
@@ -146,6 +147,10 @@ struct HfTaskPidStudies {
146147 Configurable<float > massOmegaMin{" massOmegaMin" , 1.5 , " Minimum mass for omega" };
147148 Configurable<float > massOmegaMax{" massOmegaMax" , 1.8 , " Maximum mass for omega" };
148149 Configurable<float > radiusMax{" radiusMax" , 2.3 , " Maximum decay radius (cm)" };
150+ Configurable<float > cosPaMin{" cosPaMin" , 0.98 , " Minimum cosine of pointing angle" };
151+ Configurable<float > dcaV0DaughtersMax{" dcaV0DaughtersMax" , 0.2 , " Maximum DCA among the V0 daughters (cm)" };
152+ Configurable<float > dcaV0ToPvMax{" dcaV0ToPvMax" , 0.2 , " Maximum DCA of the V0 from the primary vertex (cm)" };
153+ Configurable<float > cosPaV0Min{" cosPaV0Min" , 0.95 , " Minimum cosine of pointing angle for V0 stemming from cascade decays" };
149154 Configurable<float > qtArmenterosMinForK0{" qtArmenterosMinForK0" , 0.12 , " Minimum Armenteros' qt for K0" };
150155 Configurable<float > qtArmenterosMaxForLambda{" qtArmenterosMaxForLambda" , 0.12 , " Minimum Armenteros' qt for (anti)Lambda" };
151156 Configurable<float > downSampleBkgFactor{" downSampleBkgFactor" , 1 ., " Fraction of candidates to keep" };
@@ -184,8 +189,8 @@ struct HfTaskPidStudies {
184189 candidate.pt (),
185190 posTrack.pt (),
186191 negTrack.pt (),
187- posTrack.tpcInnerParam (),
188- negTrack.tpcInnerParam (),
192+ posTrack.tpcInnerParam () / TMath::CosH (candidate. positiveeta ()),
193+ negTrack.tpcInnerParam () / TMath::CosH (candidate. negativeeta ()) ,
189194 candidate.v0radius (),
190195 candidate.v0cosPA (),
191196 candidate.dcaV0daughters (),
@@ -211,7 +216,7 @@ struct HfTaskPidStudies {
211216 candidate.mOmega (),
212217 candidate.pt (),
213218 candidate.bachelorpt (),
214- bachTrack.tpcInnerParam (),
219+ bachTrack.tpcInnerParam () / TMath::CosH (candidate. bacheloreta ()) ,
215220 candidate.cascradius (),
216221 candidate.mLambda (),
217222 candidate.v0cosPA (coll.posX (), coll.posY (), coll.posZ ()),
@@ -282,6 +287,15 @@ struct HfTaskPidStudies {
282287 if (v0.v0radius () > radiusMax) {
283288 return false ;
284289 }
290+ if (v0.v0cosPA () < cosPaMin) {
291+ return false ;
292+ }
293+ if (v0.dcaV0daughters () > dcaV0DaughtersMax) {
294+ return false ;
295+ }
296+ if (v0.dcav0topv () > dcaV0ToPvMax) {
297+ return false ;
298+ }
285299 return true ;
286300 }
287301
@@ -298,6 +312,15 @@ struct HfTaskPidStudies {
298312 if (v0.v0radius () > radiusMax) {
299313 return false ;
300314 }
315+ if (v0.v0cosPA () < cosPaMin) {
316+ return false ;
317+ }
318+ if (v0.dcaV0daughters () > dcaV0DaughtersMax) {
319+ return false ;
320+ }
321+ if (v0.dcav0topv () > dcaV0ToPvMax) {
322+ return false ;
323+ }
301324 return true ;
302325 }
303326
@@ -313,6 +336,19 @@ struct HfTaskPidStudies {
313336 if (casc.cascradius () > radiusMax) {
314337 return false ;
315338 }
339+ const auto & coll = casc.template collision_as <CollSels>();
340+ if (casc.casccosPA (coll.posX (), coll.posY (), coll.posZ ()) < cosPaMin) {
341+ return false ;
342+ }
343+ if (casc.dcaV0daughters () > dcaV0DaughtersMax) {
344+ return false ;
345+ }
346+ if (casc.dcav0topv (coll.posX (), coll.posY (), coll.posZ ()) > dcaV0ToPvMax) {
347+ return false ;
348+ }
349+ if (casc.v0cosPA (coll.posX (), coll.posY (), coll.posZ ()) < cosPaV0Min) {
350+ return false ;
351+ }
316352 return true ;
317353 }
318354
0 commit comments