Skip to content

Commit 801c46c

Browse files
committed
added topological cuts
1 parent c39720a commit 801c46c

File tree

1 file changed

+46
-10
lines changed

1 file changed

+46
-10
lines changed

PWGHF/Tasks/taskPidStudies.cxx

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
/// \author Luca Aglietta <[email protected]>, Università and INFN Torino
1919

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
4950
DECLARE_SOA_COLUMN(Pt, pt, float); //! Transverse momentum of the candidate (GeV/c)
5051
DECLARE_SOA_COLUMN(PtPos, ptPos, float); //! Transverse momentum of positive track (GeV/c)
5152
DECLARE_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)
5455
DECLARE_SOA_COLUMN(Radius, radius, float); //! Radius
5556
DECLARE_SOA_COLUMN(Cpa, cpa, float); //! Cosine of pointing angle
5657
DECLARE_SOA_COLUMN(DcaV0Daughters, dcaV0Daughters, float); //! DCA between V0 daughters
@@ -70,7 +71,7 @@ DECLARE_SOA_COLUMN(QtArm, qtArm, float); //! Armenteros Qt
7071
DECLARE_SOA_COLUMN(MassOmega, massOmega, float); //! Candidate mass
7172
DECLARE_SOA_COLUMN(MassXi, massXi, float); //! Candidate mass
7273
DECLARE_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)
7475
DECLARE_SOA_COLUMN(MLambda, mLambda, float); //! Daughter lambda mass (GeV/c^2)
7576
DECLARE_SOA_COLUMN(V0cosPA, v0cosPA, float); //! V0 CPA
7677
DECLARE_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

138139
struct 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

Comments
 (0)