Skip to content

Commit 94ea5af

Browse files
authored
PWGCF: add triton and He3 PID to femtodream data model (#8123)
1 parent 6b4c5d1 commit 94ea5af

File tree

5 files changed

+62
-19
lines changed

5 files changed

+62
-19
lines changed

PWGCF/DataModel/FemtoDerived.h

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,11 +166,15 @@ DECLARE_SOA_COLUMN(TPCNSigmaPi, tpcNSigmaPi, float); //! Nsigma separation with
166166
DECLARE_SOA_COLUMN(TPCNSigmaKa, tpcNSigmaKa, float); //! Nsigma separation with the TPC detector for kaon
167167
DECLARE_SOA_COLUMN(TPCNSigmaPr, tpcNSigmaPr, float); //! Nsigma separation with the TPC detector for proton
168168
DECLARE_SOA_COLUMN(TPCNSigmaDe, tpcNSigmaDe, float); //! Nsigma separation with the TPC detector for deuteron
169-
DECLARE_SOA_COLUMN(TOFNSigmaEl, tofNSigmaEl, float); //! Nsigma separation with the TPC detector for electron
170-
DECLARE_SOA_COLUMN(TOFNSigmaPi, tofNSigmaPi, float); //! Nsigma separation with the TPC detector for pion
171-
DECLARE_SOA_COLUMN(TOFNSigmaKa, tofNSigmaKa, float); //! Nsigma separation with the TPC detector for kaon
172-
DECLARE_SOA_COLUMN(TOFNSigmaPr, tofNSigmaPr, float); //! Nsigma separation with the TPC detector for proton
173-
DECLARE_SOA_COLUMN(TOFNSigmaDe, tofNSigmaDe, float); //! Nsigma separation with the TPC detector for deuteron
169+
DECLARE_SOA_COLUMN(TPCNSigmaTr, tpcNSigmaTr, float); //! Nsigma separation with the TPC detector for triton
170+
DECLARE_SOA_COLUMN(TPCNSigmaHe, tpcNSigmaHe, float); //! Nsigma separation with the TPC detector for helium3
171+
DECLARE_SOA_COLUMN(TOFNSigmaEl, tofNSigmaEl, float); //! Nsigma separation with the TOF detector for electron
172+
DECLARE_SOA_COLUMN(TOFNSigmaPi, tofNSigmaPi, float); //! Nsigma separation with the TOF detector for pion
173+
DECLARE_SOA_COLUMN(TOFNSigmaKa, tofNSigmaKa, float); //! Nsigma separation with the TOF detector for kaon
174+
DECLARE_SOA_COLUMN(TOFNSigmaPr, tofNSigmaPr, float); //! Nsigma separation with the TOF detector for proton
175+
DECLARE_SOA_COLUMN(TOFNSigmaDe, tofNSigmaDe, float); //! Nsigma separation with the TOF detector for deuteron
176+
DECLARE_SOA_COLUMN(TOFNSigmaTr, tofNSigmaTr, float); //! Nsigma separation with the TOF detector for triton
177+
DECLARE_SOA_COLUMN(TOFNSigmaHe, tofNSigmaHe, float); //! Nsigma separation with the TOF detector for helium3
174178
DECLARE_SOA_COLUMN(DaughDCA, daughDCA, float); //! DCA between daughters
175179
DECLARE_SOA_COLUMN(TransRadius, transRadius, float); //! Transverse radius of the decay vertex
176180
DECLARE_SOA_COLUMN(DecayVtxX, decayVtxX, float); //! X position of the decay vertex
@@ -346,11 +350,15 @@ DECLARE_SOA_TABLE(FDExtParticles, "AOD", "FDEXTPARTICLE",
346350
femtodreamparticle::TPCNSigmaKa,
347351
femtodreamparticle::TPCNSigmaPr,
348352
femtodreamparticle::TPCNSigmaDe,
353+
femtodreamparticle::TPCNSigmaTr,
354+
femtodreamparticle::TPCNSigmaHe,
349355
femtodreamparticle::TOFNSigmaEl,
350356
femtodreamparticle::TOFNSigmaPi,
351357
femtodreamparticle::TOFNSigmaKa,
352358
femtodreamparticle::TOFNSigmaPr,
353359
femtodreamparticle::TOFNSigmaDe,
360+
femtodreamparticle::TOFNSigmaTr,
361+
femtodreamparticle::TOFNSigmaHe,
354362
femtodreamparticle::DaughDCA,
355363
femtodreamparticle::TransRadius,
356364
femtodreamparticle::DecayVtxX,

PWGCF/FemtoDream/Core/femtoDreamParticleHisto.h

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <string>
2323
#include "PWGCF/DataModel/FemtoDerived.h"
2424
#include "Framework/HistogramRegistry.h"
25+
#include "CommonConstants/PhysicsConstants.h"
2526

2627
using namespace o2::framework;
2728

@@ -100,16 +101,22 @@ class FemtoDreamParticleHisto
100101
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTPC_K").c_str(), "n#sigma_{TPC}^{K}", kTH2F, {pTAxis, NsigmaTPCAxis});
101102
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTPC_p").c_str(), "n#sigma_{TPC}^{p}", kTH2F, {pTAxis, NsigmaTPCAxis});
102103
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTPC_d").c_str(), "n#sigma_{TPC}^{d}", kTH2F, {pTAxis, NsigmaTPCAxis});
104+
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTPC_tr").c_str(), "n#sigma_{TPC}^{tr}", kTH2F, {pTAxis, NsigmaTPCAxis});
105+
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTPC_he3").c_str(), "n#sigma_{TPC}^{he3}", kTH2F, {pTAxis, NsigmaTPCAxis});
103106
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTOF_el").c_str(), "n#sigma_{TOF}^{e}", kTH2F, {pTAxis, NsigmaTOFAxis});
104107
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTOF_pi").c_str(), "n#sigma_{TOF}^{#pi}", kTH2F, {pTAxis, NsigmaTOFAxis});
105108
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTOF_K").c_str(), "n#sigma_{TOF}^{K}", kTH2F, {pTAxis, NsigmaTOFAxis});
106109
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTOF_p").c_str(), "n#sigma_{TOF}^{p}", kTH2F, {pTAxis, NsigmaTOFAxis});
107110
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTOF_d").c_str(), "n#sigma_{TOF}^{d}", kTH2F, {pTAxis, NsigmaTOFAxis});
111+
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTOF_tr").c_str(), "n#sigma_{TOF}^{tr}", kTH2F, {pTAxis, NsigmaTOFAxis});
112+
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaTOF_he3").c_str(), "n#sigma_{TOF}^{he3}", kTH2F, {pTAxis, NsigmaTOFAxis});
108113
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaComb_el").c_str(), "n#sigma_{comb}^{e}", kTH2F, {pTAxis, NsigmaTPCTOFAxis});
109114
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaComb_pi").c_str(), "n#sigma_{comb}^{#pi}", kTH2F, {pTAxis, NsigmaTPCTOFAxis});
110115
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaComb_K").c_str(), "n#sigma_{comb}^{K}", kTH2F, {pTAxis, NsigmaTPCTOFAxis});
111116
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaComb_p").c_str(), "n#sigma_{comb}^{p}", kTH2F, {pTAxis, NsigmaTPCTOFAxis});
112117
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaComb_d").c_str(), "n#sigma_{comb}^{d}", kTH2F, {pTAxis, NsigmaTPCTOFAxis});
118+
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaComb_tr").c_str(), "n#sigma_{comb}^{tr}", kTH2F, {pTAxis, NsigmaTPCTOFAxis});
119+
mHistogramRegistry->add((folderName + folderSuffix + "/nSigmaComb_he3").c_str(), "n#sigma_{comb}^{he3}", kTH2F, {pTAxis, NsigmaTPCTOFAxis});
113120
if (correlatedPlots) {
114121
mHistogramRegistry->add((folderName + folderSuffix + "/HighDcorrelator").c_str(), "", kTHnSparseF, {multAxis, multPercentileAxis, pTAxis, etaAxis, phiAxis, tempFitVarAxis, dcazAxis, NsigmaTPCAxis, NsigmaTOFAxis});
115122
}
@@ -327,16 +334,22 @@ class FemtoDreamParticleHisto
327334
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTPC_K"), momentum, part.tpcNSigmaKa());
328335
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTPC_p"), momentum, part.tpcNSigmaPr());
329336
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTPC_d"), momentum, part.tpcNSigmaDe());
337+
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTPC_tr"), momentum, part.tpcNSigmaTr());
338+
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTPC_he3"), momentum, part.tpcNSigmaHe());
330339
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTOF_el"), momentum, part.tofNSigmaEl());
331340
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTOF_pi"), momentum, part.tofNSigmaPi());
332341
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTOF_K"), momentum, part.tofNSigmaKa());
333342
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTOF_p"), momentum, part.tofNSigmaPr());
334343
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTOF_d"), momentum, part.tofNSigmaDe());
344+
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTOF_tr"), momentum, part.tofNSigmaTr());
345+
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaTOF_he3"), momentum, part.tofNSigmaHe());
335346
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaComb_el"), momentum, std::sqrt(part.tpcNSigmaEl() * part.tpcNSigmaEl() + part.tofNSigmaEl() * part.tofNSigmaEl()));
336347
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaComb_pi"), momentum, std::sqrt(part.tpcNSigmaPi() * part.tpcNSigmaPi() + part.tofNSigmaPi() * part.tofNSigmaPi()));
337348
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaComb_K"), momentum, std::sqrt(part.tpcNSigmaKa() * part.tpcNSigmaKa() + part.tofNSigmaKa() * part.tofNSigmaKa()));
338349
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaComb_p"), momentum, std::sqrt(part.tpcNSigmaPr() * part.tpcNSigmaPr() + part.tofNSigmaPr() * part.tofNSigmaPr()));
339350
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaComb_d"), momentum, std::sqrt(part.tpcNSigmaDe() * part.tpcNSigmaDe() + part.tofNSigmaDe() * part.tofNSigmaDe()));
351+
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaComb_tr"), momentum, std::sqrt(part.tpcNSigmaTr() * part.tpcNSigmaTr() + part.tofNSigmaTr() * part.tofNSigmaTr()));
352+
mHistogramRegistry->fill(HIST(o2::aod::femtodreamparticle::ParticleTypeName[mParticleType]) + HIST(mFolderSuffix[mFolderSuffixType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/nSigmaComb_he3"), momentum, std::sqrt(part.tpcNSigmaHe() * part.tpcNSigmaHe() + part.tofNSigmaHe() * part.tofNSigmaHe()));
340353

341354
if (correlatedPlots) {
342355

@@ -360,10 +373,18 @@ class FemtoDreamParticleHisto
360373
pidTPC = part.tpcNSigmaPr();
361374
pidTOF = part.tofNSigmaPr();
362375
break;
363-
case 1000010020:
376+
case constants::physics::kDeuteron:
364377
pidTPC = part.tpcNSigmaDe();
365378
pidTOF = part.tofNSigmaDe();
366379
break;
380+
case constants::physics::kTriton:
381+
pidTPC = part.tpcNSigmaTr();
382+
pidTOF = part.tofNSigmaTr();
383+
break;
384+
case constants::physics::kHelium3:
385+
pidTPC = part.tpcNSigmaHe();
386+
pidTOF = part.tofNSigmaHe();
387+
break;
367388
default:
368389
LOG(warn) << "PDG code " << mPDG << " not supported. No PID information will be used.";
369390
}

PWGCF/FemtoDream/TableProducer/femtoDreamProducerReducedTask.cxx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ using FemtoFullCollisionMC = soa::Join<aod::Collisions, aod::EvSels, aod::Mults,
5050
using FemtoFullCollision_noCent_MC = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::McCollisionLabels>::iterator;
5151

5252
using FemtoFullTracks = soa::Join<aod::FullTracks, aod::TracksDCA,
53-
aod::pidTPCFullEl, aod::pidTPCFullMu, aod::pidTPCFullPi,
54-
aod::pidTPCFullKa, aod::pidTPCFullPr, aod::pidTPCFullDe,
55-
aod::pidTOFFullEl, aod::pidTOFFullMu, aod::pidTOFFullPi,
56-
aod::pidTOFFullKa, aod::pidTOFFullPr, aod::pidTOFFullDe>;
53+
aod::pidTPCFullEl, aod::pidTPCFullMu, aod::pidTPCFullPi, aod::pidTPCFullKa,
54+
aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullTr, aod::pidTPCFullHe,
55+
aod::pidTOFFullEl, aod::pidTOFFullMu, aod::pidTOFFullPi, aod::pidTOFFullKa,
56+
aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullTr, aod::pidTOFFullHe>;
5757
} // namespace o2::aod
5858

5959
struct femtoDreamProducerReducedTask {
@@ -298,11 +298,15 @@ struct femtoDreamProducerReducedTask {
298298
track.tpcNSigmaKa(),
299299
track.tpcNSigmaPr(),
300300
track.tpcNSigmaDe(),
301+
track.tpcNSigmaTr(),
302+
track.tpcNSigmaHe(),
301303
track.tofNSigmaEl(),
302304
track.tofNSigmaPi(),
303305
track.tofNSigmaKa(),
304306
track.tofNSigmaPr(),
305307
track.tofNSigmaDe(),
308+
track.tofNSigmaTr(),
309+
track.tofNSigmaHe(),
306310
-999., -999., -999., -999., -999., -999.);
307311
}
308312
}

PWGCF/FemtoDream/TableProducer/femtoDreamProducerTask.cxx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,10 @@ using FemtoFullMCgenCollision = FemtoFullMCgenCollisions::iterator;
5656

5757
using FemtoFullTracks =
5858
soa::Join<aod::FullTracks, aod::TracksDCA,
59-
aod::pidTPCFullEl, aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullPr, aod::pidTPCFullDe,
60-
aod::pidTOFFullEl, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr, aod::pidTOFFullDe>;
59+
aod::pidTPCFullEl, aod::pidTPCFullPi, aod::pidTPCFullKa,
60+
aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullTr, aod::pidTPCFullHe,
61+
aod::pidTOFFullEl, aod::pidTOFFullPi, aod::pidTOFFullKa,
62+
aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullTr, aod::pidTOFFullHe>;
6163
} // namespace o2::aod
6264

6365
namespace softwareTriggers
@@ -363,16 +365,21 @@ struct femtoDreamProducerTask {
363365
particle.tpcNSigmaKa(),
364366
particle.tpcNSigmaPr(),
365367
particle.tpcNSigmaDe(),
368+
particle.tpcNSigmaTr(),
369+
particle.tpcNSigmaHe(),
366370
particle.tofNSigmaEl(),
367371
particle.tofNSigmaPi(),
368372
particle.tofNSigmaKa(),
369373
particle.tofNSigmaPr(),
370374
particle.tofNSigmaDe(),
375+
particle.tofNSigmaTr(),
376+
particle.tofNSigmaHe(),
371377
-999., -999., -999., -999., -999., -999.);
372378
} else {
373-
outputDebugParts(-999., -999., -999., -999., -999., -999., -999., -999.,
374-
-999., -999., -999., -999., -999., -999., -999., -999.,
375-
-999., -999., -999., -999., -999.,
379+
outputDebugParts(-999., -999., -999., -999., -999., -999., -999.,
380+
-999., -999., -999., -999., -999., -999., -999.,
381+
-999., -999., -999., -999., -999., -999., -999.,
382+
-999., -999., -999., -999.,
376383
particle.dcaV0daughters(),
377384
particle.v0radius(),
378385
particle.x(),
@@ -647,8 +654,8 @@ struct femtoDreamProducerTask {
647654
}
648655

649656
if (ConfIsActivateReso.value) {
650-
for (auto iDaug1 = 0; iDaug1 < Daughter1.size(); ++iDaug1) {
651-
for (auto iDaug2 = 0; iDaug2 < Daughter2.size(); ++iDaug2) {
657+
for (std::size_t iDaug1 = 0; iDaug1 < Daughter1.size(); ++iDaug1) {
658+
for (std::size_t iDaug2 = 0; iDaug2 < Daughter2.size(); ++iDaug2) {
652659
// MC stuff is still missing, also V0 QA
653660
// ALSO: fix indices and other table entries which are now set to 0 as deflaut as not needed for p-p-phi cf ana
654661

@@ -703,7 +710,7 @@ struct femtoDreamProducerTask {
703710
outputDebugParts(-999., -999., -999., -999., -999., -999., -999., -999.,
704711
-999., -999., -999., -999., -999., -999., -999., -999.,
705712
-999., -999., -999., -999., -999., -999., -999., -999.,
706-
-999., -999., -999.); // QA for Reso
713+
-999., -999. - 999., -999., -999., -999., -999., -999.); // QA for Reso
707714
}
708715
}
709716
}

PWGHF/HFC/TableProducer/femtoDreamProducer.cxx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,10 @@ struct HfFemtoDreamProducer {
203203
particle.tofNSigmaPi(),
204204
particle.tofNSigmaKa(),
205205
particle.tofNSigmaPr(),
206-
-999., -999., -999., -999., -999., -999., -999., -999., -999., -999.);
206+
-999., -999., -999., -999.,
207+
-999., -999., -999., -999.,
208+
-999., -999., -999., -999.,
209+
-999., -999.);
207210
}
208211

209212
template <typename CollisionType, typename ParticleType>

0 commit comments

Comments
 (0)