Skip to content

Commit 5768ef2

Browse files
committed
Add TPC PID clusters and PID info to He3 and Lambda
The changes made in this commit include: 1. Updating the `LFHe3` and `LFLambda` data tables to include additional columns for TPC PID clusters (`tpcNClsPID`) and PID information (`nSigmaTPCProton`, `nSigmaTPCPion`) for the He3 and Lambda candidates, respectively. 2. Updating the `he3Candidate` and `lambdaCandidate` structs to include the new `tpcNClsPID` member. 3. Modifying the `he3LambdaAnalysis` class to populate the new columns in the output data tables. These changes will provide more detailed information about the He3 and Lambda candidates, which can be useful for further analysis and selection.
1 parent 6d1001c commit 5768ef2

File tree

3 files changed

+16
-15
lines changed

3 files changed

+16
-15
lines changed

PWGLF/DataModel/LFSlimHeLambda.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,22 @@ DECLARE_SOA_COLUMN(CosPA, cosPA, float);
4242
DECLARE_SOA_COLUMN(DCAxy, dcaXY, float);
4343
DECLARE_SOA_COLUMN(DCAz, dcaZ, float);
4444
DECLARE_SOA_COLUMN(TPCnCls, tpcNCls, int);
45+
DECLARE_SOA_COLUMN(TPCnClsPID, tpcNClsPID, int);
4546
DECLARE_SOA_COLUMN(ITSClusterSizes, itsClusterSizes, uint32_t);
47+
DECLARE_SOA_COLUMN(NsigmaTPCPion, nSigmaTPCPion, float);
48+
DECLARE_SOA_COLUMN(NsigmaTPCProton, nSigmaTPCProton, float);
4649
DECLARE_SOA_COLUMN(NsigmaTPC, nSigmaTPC, float);
47-
// DECLARE_SOA_COLUMN(NsigmaTPCproton, nSigmaTPCproton, float);
4850
DECLARE_SOA_COLUMN(DCAdaughters, dcaDaughters, float);
4951
DECLARE_SOA_COLUMN(DCAPVProton, dcaPVProton, float);
5052
DECLARE_SOA_COLUMN(DCAPVPion, dcaPVPion, float);
5153
DECLARE_SOA_COLUMN(V0Radius, v0Radius, float);
5254
DECLARE_SOA_COLUMN(Sign, sign, int8_t);
5355
} // namespace lfv0he3
54-
DECLARE_SOA_TABLE(LFHe3, "AOD", "LFHE3V0", lfv0he3::LFEventId, lfv0he3::Pt, lfv0he3::Eta, lfv0he3::Phi, lfv0he3::DCAxy, lfv0he3::DCAz, lfv0he3::TPCnCls, lfv0he3::ITSClusterSizes, lfv0he3::NsigmaTPC, lfv0he3::Sign);
55-
DECLARE_SOA_TABLE(LFLambda, "AOD", "LFLAMBDA", lfv0he3::LFEventId, lfv0he3::Pt, lfv0he3::Eta, lfv0he3::Phi, lfv0he3::Mass, lfv0he3::CosPA, lfv0he3::DCAdaughters, lfv0he3::DCAPVProton, lfv0he3::DCAPVPion, lfv0he3::V0Radius, lfv0he3::Sign);
56+
DECLARE_SOA_TABLE_VERSIONED(LFHe3_000, "AOD", "LFHE3V0", 0, lfv0he3::LFEventId, lfv0he3::Pt, lfv0he3::Eta, lfv0he3::Phi, lfv0he3::DCAxy, lfv0he3::DCAz, lfv0he3::TPCnCls, lfv0he3::ITSClusterSizes, lfv0he3::NsigmaTPC, lfv0he3::Sign);
57+
DECLARE_SOA_TABLE_VERSIONED(LFLambda_000, "AOD", "LFLAMBDA", 0, lfv0he3::LFEventId, lfv0he3::Pt, lfv0he3::Eta, lfv0he3::Phi, lfv0he3::Mass, lfv0he3::CosPA, lfv0he3::DCAdaughters, lfv0he3::DCAPVProton, lfv0he3::DCAPVPion, lfv0he3::V0Radius, lfv0he3::Sign);
58+
59+
DECLARE_SOA_TABLE_VERSIONED(LFHe3_001, "AOD", "LFHE3V0", 1, lfv0he3::LFEventId, lfv0he3::Pt, lfv0he3::Eta, lfv0he3::Phi, lfv0he3::DCAxy, lfv0he3::DCAz, lfv0he3::TPCnCls, lfv0he3::TPCnClsPID, lfv0he3::ITSClusterSizes, lfv0he3::NsigmaTPC, lfv0he3::Sign);
60+
DECLARE_SOA_TABLE_VERSIONED(LFLambda_001, "AOD", "LFLAMBDA", 1, lfv0he3::LFEventId, lfv0he3::Pt, lfv0he3::Eta, lfv0he3::Phi, lfv0he3::Mass, lfv0he3::CosPA, lfv0he3::DCAdaughters, lfv0he3::DCAPVProton, lfv0he3::DCAPVPion, lfv0he3::V0Radius, lfv0he3::NsigmaTPCProton, lfv0he3::NsigmaTPCPion, lfv0he3::Sign);
5661
} // namespace o2::aod
5762

5863
struct he3Candidate {
@@ -61,6 +66,7 @@ struct he3Candidate {
6166
float dcaXY = -999.f;
6267
float dcaZ = -999.f;
6368
int tpcNClsFound = 0; // Number of TPC clusters found
69+
int tpcNClsPID = 0; // Number of TPC clusters used for PID
6470
int itsNCls = 0; // Number of ITS clusters
6571
uint32_t itsClusterSizes = 0; // ITS cluster sizes
6672
int8_t sign = 0; // Charge sign of the He3 candidate
@@ -75,7 +81,7 @@ struct lambdaCandidate {
7581
float dcaPionToPV = -999.f; // DCA of the pion to primary vertex
7682
float v0Radius = -1.f; // V0 radius
7783
float protonNSigmaTPC = -999.f; // Proton TPC nSigma
78-
float pionNSigmaTPC = -999.f;
84+
float pionNSigmaTPC = -999.f; // Pion TPC nSigma
7985
int8_t sign = 0; // Charge sign of the Lambda candidate
8086
};
8187

PWGLF/TableProducer/Nuspex/he3LambdaAnalysis.cxx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ struct he3LambdaAnalysis {
9292
o2::vertexing::DCAFitterN<2> fitter;
9393

9494
Produces<o2::aod::LFEvents> lfHe3V0Collision;
95-
Produces<o2::aod::LFHe3> lfHe3;
96-
Produces<o2::aod::LFLambda> lfLambda;
95+
Produces<o2::aod::LFHe3_001> lfHe3;
96+
Produces<o2::aod::LFLambda_001> lfLambda;
9797

9898
// Configurables for event selection
9999
struct : ConfigurableGroup {
@@ -280,6 +280,7 @@ struct he3LambdaAnalysis {
280280
candidate.dcaXY = dcaInfo[0];
281281
candidate.dcaZ = dcaInfo[1];
282282
candidate.tpcNClsFound = track.tpcNClsFound();
283+
candidate.tpcNClsPID = track.tpcNClsPID();
283284
candidate.itsNCls = track.itsNCls();
284285
candidate.itsClusterSizes = track.itsClusterSizes();
285286
candidate.sign = track.sign() > 0 ? 1 : -1;
@@ -376,11 +377,11 @@ struct he3LambdaAnalysis {
376377
lfHe3V0Collision(collision.posZ(), collision.centFT0C());
377378
for (const auto& he3 : he3Candidates) {
378379
lfHe3(lfHe3V0Collision.lastIndex(), he3.momentum.Pt(), he3.momentum.Eta(), he3.momentum.Phi(),
379-
he3.dcaXY, he3.dcaZ, he3.tpcNClsFound, he3.itsClusterSizes, he3.nSigmaTPC, he3.sign);
380+
he3.dcaXY, he3.dcaZ, he3.tpcNClsFound, he3.tpcNClsPID, he3.itsClusterSizes, he3.nSigmaTPC, he3.sign);
380381
}
381382
for (const auto& lambda : lambdaCandidates) {
382383
lfLambda(lfHe3V0Collision.lastIndex(), lambda.momentum.Pt(), lambda.momentum.Eta(), lambda.momentum.Phi(),
383-
lambda.mass, lambda.cosPA, lambda.dcaV0Daughters, lambda.dcaProtonToPV, lambda.dcaPionToPV, lambda.v0Radius, lambda.sign);
384+
lambda.mass, lambda.cosPA, lambda.dcaV0Daughters, lambda.dcaProtonToPV, lambda.dcaPionToPV, lambda.v0Radius, lambda.protonNSigmaTPC, lambda.pionNSigmaTPC, lambda.sign);
384385
}
385386

386387
for (const auto& he3 : he3Candidates) {
@@ -391,12 +392,6 @@ struct he3LambdaAnalysis {
391392
}
392393
}
393394
PROCESS_SWITCH(he3LambdaAnalysis, processData, "Process data", true);
394-
395-
// void processDerived(o2::aod::LFEvents::iterator const& collision, o2::aod::LFHe3 const& he3s, o2::aod::LFLambda const& lambdas)
396-
// {
397-
//
398-
// }
399-
// PROCESS_SWITCH(he3LambdaAnalysis, processDerived, "Process derived", false);
400395
};
401396

402397
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

PWGLF/Tasks/Nuspex/he3LambdaDerivedAnalysis.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ struct he3LambdaDerivedAnalysis {
6464
hNsigmaProton = mRegistry.add<TH2>("hNsigmaProton", "nSigma TPC for Proton", {HistType::kTH2D, {{100, -10., 10.}, {200, -5, 5.}}});
6565
}
6666

67-
void processSameEvent(o2::aod::LFEvents::iterator const& collision, o2::aod::LFHe3 const& he3s, o2::aod::LFLambda const& lambdas)
67+
void processSameEvent(o2::aod::LFEvents::iterator const& collision, o2::aod::LFHe3_000 const& he3s, o2::aod::LFLambda_000 const& lambdas)
6868
{
6969
std::vector<he3Candidate> he3Candidates;
7070
he3Candidates.reserve(he3s.size());

0 commit comments

Comments
 (0)