Skip to content

Commit 910f192

Browse files
authored
[PWGLF] Update datamodel of hyphe4s analysis (#11811)
1 parent e861d50 commit 910f192

File tree

2 files changed

+67
-19
lines changed

2 files changed

+67
-19
lines changed

PWGLF/DataModel/LFHyperhelium4sigmaTables.h

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ DECLARE_SOA_COLUMN(ZPrimVtx, zPrimVtx, float); // Pri
3030
DECLARE_SOA_COLUMN(XDecVtx, xDecVtx, float); // Decay vertex of the candidate (x direction)
3131
DECLARE_SOA_COLUMN(YDecVtx, yDecVtx, float); // Decay vertex of the candidate (y direction)
3232
DECLARE_SOA_COLUMN(ZDecVtx, zDecVtx, float); // Decay vertex of the candidate (z direction)
33+
DECLARE_SOA_COLUMN(XMoth, xMoth, float); // X of the mother track at the radii of ITS layer which has the outermost update
34+
DECLARE_SOA_COLUMN(YMoth, yMoth, float); // Y of the mother track at the radii of ITS layer which has the outermost update
35+
DECLARE_SOA_COLUMN(ZMoth, zMoth, float); // Z of the mother track at the radii of ITS layer which has the outermost update
3336
DECLARE_SOA_COLUMN(PxMoth, pxMoth, float); //! Px of the mother track at the decay vertex
3437
DECLARE_SOA_COLUMN(PyMoth, pyMoth, float); //! Py of the mother track at the decay vertex
3538
DECLARE_SOA_COLUMN(PzMoth, pzMoth, float); //! Pz of the mother track at the decay vertex
@@ -56,6 +59,9 @@ DECLARE_SOA_COLUMN(TrueZDecVtx, trueZDecVtx, float); // true z decay
5659
DECLARE_SOA_COLUMN(GenPxMoth, genPxMoth, float); // Generated px of the mother track
5760
DECLARE_SOA_COLUMN(GenPyMoth, genPyMoth, float); // Generated py of the mother track
5861
DECLARE_SOA_COLUMN(GenPzMoth, genPzMoth, float); // Generated pz of the mother track
62+
DECLARE_SOA_COLUMN(TruePxMoth, truePxMoth, float); // true px of the mother track at the decay vertex
63+
DECLARE_SOA_COLUMN(TruePyMoth, truePyMoth, float); // true py of the mother track at the decay vertex
64+
DECLARE_SOA_COLUMN(TruePzMoth, truePzMoth, float); // true pz of the mother track at the decay vertex
5965
DECLARE_SOA_COLUMN(GenPxAlpha, genPxAlpha, float); // true px of the daughter alpha track
6066
DECLARE_SOA_COLUMN(GenPyAlpha, genPyAlpha, float); // true py of the daughter alpha track
6167
DECLARE_SOA_COLUMN(GenPzAlpha, genPzAlpha, float); // true pz of the daughter alpha track
@@ -68,7 +74,9 @@ DECLARE_SOA_TABLE(He4S2BCands, "AOD", "HE4S2BCANDS",
6874
o2::soa::Index<>,
6975
he4scand::XPrimVtx, he4scand::YPrimVtx, he4scand::ZPrimVtx,
7076
he4scand::XDecVtx, he4scand::YDecVtx, he4scand::ZDecVtx,
71-
he4scand::IsMatter, he4scand::PxMoth, he4scand::PyMoth, he4scand::PzMoth,
77+
he4scand::IsMatter,
78+
he4scand::XMoth, he4scand::YMoth, he4scand::ZMoth,
79+
he4scand::PxMoth, he4scand::PyMoth, he4scand::PzMoth,
7280
he4scand::PxAlpha, he4scand::PyAlpha, he4scand::PzAlpha,
7381
he4scand::DcaMothPv, he4scand::DcaAlphaPv, he4scand::DcaKinkTopo,
7482
he4scand::ItsChi2Moth, he4scand::ItsClusterSizesMoth, he4scand::ItsClusterSizesAlpha,
@@ -78,14 +86,17 @@ DECLARE_SOA_TABLE(MCHe4S2BCands, "AOD", "MCHE4S2BCANDS",
7886
o2::soa::Index<>,
7987
he4scand::XPrimVtx, he4scand::YPrimVtx, he4scand::ZPrimVtx,
8088
he4scand::XDecVtx, he4scand::YDecVtx, he4scand::ZDecVtx,
81-
he4scand::IsMatter, he4scand::PxMoth, he4scand::PyMoth, he4scand::PzMoth,
89+
he4scand::IsMatter,
90+
he4scand::XMoth, he4scand::YMoth, he4scand::ZMoth,
91+
he4scand::PxMoth, he4scand::PyMoth, he4scand::PzMoth,
8292
he4scand::PxAlpha, he4scand::PyAlpha, he4scand::PzAlpha,
8393
he4scand::DcaMothPv, he4scand::DcaAlphaPv, he4scand::DcaKinkTopo,
8494
he4scand::ItsChi2Moth, he4scand::ItsClusterSizesMoth, he4scand::ItsClusterSizesAlpha,
8595
he4scand::NSigmaTPCAlpha, he4scand::NSigmaITSAlpha,
8696
he4scand::IsSignal, he4scand::IsSignalReco, he4scand::IsCollReco, he4scand::IsSurvEvSelection,
8797
he4scand::TrueXDecVtx, he4scand::TrueYDecVtx, he4scand::TrueZDecVtx,
8898
he4scand::GenPxMoth, he4scand::GenPyMoth, he4scand::GenPzMoth,
99+
he4scand::TruePxMoth, he4scand::TruePyMoth, he4scand::TruePzMoth,
89100
he4scand::GenPxAlpha, he4scand::GenPyAlpha, he4scand::GenPzAlpha,
90101
he4scand::IsMothReco, he4scand::RecoPtMoth, he4scand::RecoPzMoth);
91102

PWGLF/TableProducer/Nuspex/hyperhelium4sigmaRecoTask.cxx

Lines changed: 54 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ enum DaughterType {
6868

6969
namespace
7070
{
71-
// constexpr std::array<float, 7> LayerRadii{2.33959f, 3.14076f, 3.91924f, 19.6213f, 24.5597f, 34.388f, 39.3329f};
71+
constexpr std::array<float, 7> LayerRadii{2.33959f, 3.14076f, 3.91924f, 19.6213f, 24.5597f, 34.388f, 39.3329f};
7272
constexpr int kITSLayers = 7;
7373
constexpr int kITSInnerBarrelLayers = 3;
7474
// constexpr int kITSOuterBarrelLayers = 4;
@@ -231,6 +231,7 @@ struct Hyphe4sCandidate {
231231

232232
std::array<float, 3> primVtx = {0.0f, 0.0f, 0.0f};
233233
std::array<float, 3> decVtx = {0.0f, 0.0f, 0.0f};
234+
std::array<float, 3> lastPosMoth = {0.0f, 0.0f, 0.0f}; // last position of mother track at the radii of ITS layer which has the outermost update
234235
std::array<float, 3> momMoth = {0.0f, 0.0f, 0.0f};
235236
std::array<float, 3> momDaug = {0.0f, 0.0f, 0.0f};
236237

@@ -251,7 +252,8 @@ struct Hyphe4sCandidate {
251252
bool isSurvEvSelection = false;
252253

253254
std::array<float, 3> trueDecVtx = {0.0f, 0.0f, 0.0f};
254-
std::array<float, 3> gMomMoth = {0.0f, 0.0f, 0.0f};
255+
std::array<float, 3> gMomMoth = {0.0f, 0.0f, 0.0f}; // generated mother momentum
256+
std::array<float, 3> trueMomMoth = {0.0f, 0.0f, 0.0f}; // true mother momentum at decay vertex
255257
std::array<float, 3> gMomDau = {0.0f, 0.0f, 0.0f};
256258

257259
bool isMothReco = false;
@@ -322,8 +324,8 @@ struct Hyperhelium4sigmaRecoTask {
322324
registry.add<TH2>("h2TrueMotherDiffPyVsRecSVR", ";Reconstruced SV R (cm);#Delta #it{p}_{T} (GeV/#it{c});", HistType::kTH2F, {radiusAxis, diffPyAxis});
323325
registry.add<TH2>("h2TrueMotherDiffPtVsRecSVR", ";Reconstruced SV R (cm);#Delta #it{p}_{T} (GeV/#it{c});", HistType::kTH2F, {radiusAxis, diffPtAxis});
324326
registry.add<TH2>("h2TrueMotherDiffPzVsRecSVR", ";Reconstruced SV R (cm);#Delta #it{p}_{z} (GeV/#it{c});", HistType::kTH2F, {radiusAxis, diffPzAxis});
325-
registry.add<TH2>("h2TrueMotherDiffTglVsRecSVR", ";Reconstruced SV R (cm);#Delta tan#lambda;", HistType::kTH2F, {radiusAxis, {200, -1.f, 1.f}});
326-
registry.add<TH2>("h2TrueMotherDiffEtaVsRecSVR", ";Reconstruced SV R (cm);#Delta #eta;", HistType::kTH2F, {radiusAxis, {200, -1.f, 1.f}});
327+
registry.add<TH2>("h2TrueMotherDiffTglVsRecSVR", ";Reconstruced SV R (cm);#Delta tan#lambda;", HistType::kTH2F, {radiusAxis, {200, -0.1, 0.1}});
328+
registry.add<TH2>("h2TrueMotherDiffEtaVsRecSVR", ";Reconstruced SV R (cm);#Delta #eta;", HistType::kTH2F, {radiusAxis, {200, -0.1, 0.1}});
327329
registry.add<TH1>("hDiffDauPx", ";#Delta p_{x} (GeV/#it{c}); ", HistType::kTH1D, {{200, -10, 10}});
328330
registry.add<TH1>("hDiffDauPy", ";#Delta p_{y} (GeV/#it{c}); ", HistType::kTH1D, {{200, -10, 10}});
329331
registry.add<TH1>("hDiffDauPz", ";#Delta p_{z} (GeV/#it{c}); ", HistType::kTH1D, {{200, -10, 10}});
@@ -394,6 +396,22 @@ struct Hyperhelium4sigmaRecoTask {
394396
hyphe4sCand.itsClusterSizeDau = trackDau.itsClusterSizes();
395397
hyphe4sCand.nSigmaTPCDau = trackDau.tpcNSigmaAl();
396398
hyphe4sCand.nSigmaITSDau = itsResponse.nSigmaITS<o2::track::PID::Alpha>(trackDau);
399+
400+
int lastLayerMoth = 0;
401+
for (int i = 6; i >= 0; i--) {
402+
if (trackMoth.itsClusterMap() & (1 << i)) {
403+
lastLayerMoth = i;
404+
break;
405+
}
406+
}
407+
auto trackparMother = getTrackParCov(trackMoth);
408+
o2::base::Propagator::Instance()->PropagateToXBxByBz(trackparMother, LayerRadii[lastLayerMoth]);
409+
std::array<float, 9> vecLab{0.f};
410+
if (trackparMother.getPosDirGlo(vecLab)) {
411+
hyphe4sCand.lastPosMoth[0] = vecLab[0];
412+
hyphe4sCand.lastPosMoth[1] = vecLab[1];
413+
hyphe4sCand.lastPosMoth[2] = vecLab[2];
414+
}
397415
}
398416

399417
template <typename TTrack>
@@ -407,20 +425,23 @@ struct Hyperhelium4sigmaRecoTask {
407425
}
408426

409427
template <typename TMCParticle>
410-
void fillCandidateMCInfo(Hyphe4sCandidate& hyphe4sCand, TMCParticle const& mcMothTrack, TMCParticle const& mcDauTrack)
428+
void fillCandidateMCInfo(Hyphe4sCandidate& hyphe4sCand, TMCParticle const& mcMothTrack, TMCParticle const& mcDauTrack, TMCParticle const& mcNeutDauTrack)
411429
{
412430
hyphe4sCand.trueDecVtx[0] = mcDauTrack.vx();
413431
hyphe4sCand.trueDecVtx[1] = mcDauTrack.vy();
414432
hyphe4sCand.trueDecVtx[2] = mcDauTrack.vz();
415433
hyphe4sCand.gMomMoth[0] = mcMothTrack.px();
416434
hyphe4sCand.gMomMoth[1] = mcMothTrack.py();
417435
hyphe4sCand.gMomMoth[2] = mcMothTrack.pz();
436+
hyphe4sCand.trueMomMoth[0] = mcDauTrack.px() + mcNeutDauTrack.px();
437+
hyphe4sCand.trueMomMoth[1] = mcDauTrack.py() + mcNeutDauTrack.py();
438+
hyphe4sCand.trueMomMoth[2] = mcDauTrack.pz() + mcNeutDauTrack.pz();
418439
hyphe4sCand.gMomDau[0] = mcDauTrack.px();
419440
hyphe4sCand.gMomDau[1] = mcDauTrack.py();
420441
hyphe4sCand.gMomDau[2] = mcDauTrack.pz();
421442
}
422443

423-
void processData(CollisionsFull const& collisions, aod::KinkCands const& KinkCands, FullTracksExtIU const&)
444+
void processData(CollisionsFull const& collisions, aod::KinkCands const& KinkCands, FullTracksExtIU const&, aod::BCs const&)
424445
{
425446
for (const auto& collision : collisions) {
426447
registry.fill(HIST("hEventCounter"), 0);
@@ -448,14 +469,18 @@ struct Hyperhelium4sigmaRecoTask {
448469
registry.fill(HIST("h2MassHyperhelium4sigmaPt"), kinkCand.mothSign() * kinkCand.ptMoth(), invMass);
449470
registry.fill(HIST("h2NSigmaAlPt"), kinkCand.mothSign() * kinkCand.ptDaug(), dauTrack.tpcNSigmaAl());
450471

472+
auto bc = collision.bc_as<aod::BCs>();
473+
initCCDB(bc);
451474
auto motherTrack = kinkCand.trackMoth_as<FullTracksExtIU>();
452475
Hyphe4sCandidate hyphe4sCand;
453476
fillCandidate(hyphe4sCand, collision, kinkCand, motherTrack, dauTrack);
454477

455478
outputDataTable(
456479
hyphe4sCand.primVtx[0], hyphe4sCand.primVtx[1], hyphe4sCand.primVtx[2],
457480
hyphe4sCand.decVtx[0], hyphe4sCand.decVtx[1], hyphe4sCand.decVtx[2],
458-
hyphe4sCand.isMatter, hyphe4sCand.momMoth[0], hyphe4sCand.momMoth[1], hyphe4sCand.momMoth[2],
481+
hyphe4sCand.isMatter,
482+
hyphe4sCand.lastPosMoth[0], hyphe4sCand.lastPosMoth[1], hyphe4sCand.lastPosMoth[2],
483+
hyphe4sCand.momMoth[0], hyphe4sCand.momMoth[1], hyphe4sCand.momMoth[2],
459484
hyphe4sCand.momDaug[0], hyphe4sCand.momDaug[1], hyphe4sCand.momDaug[2],
460485
hyphe4sCand.dcaXYMothPv, hyphe4sCand.dcaXYDauPv, hyphe4sCand.dcaKinkTopo,
461486
hyphe4sCand.chi2ITSMoth, hyphe4sCand.itsClusterSizeMoth, hyphe4sCand.itsClusterSizeDau,
@@ -524,13 +549,16 @@ struct Hyperhelium4sigmaRecoTask {
524549
registry.fill(HIST("h2MassHyperhelium4sigmaPt"), kinkCand.mothSign() * kinkCand.ptMoth(), invMass);
525550
registry.fill(HIST("h2NSigmaAlPt"), kinkCand.mothSign() * kinkCand.ptDaug(), dauTrack.tpcNSigmaAl());
526551

552+
auto bc = collision.bc_as<aod::BCs>();
553+
initCCDB(bc);
527554
Hyphe4sCandidate hyphe4sCand;
528555
fillCandidate(hyphe4sCand, collision, kinkCand, motherTrack, dauTrack);
529556

530557
// qa for true signal
531558
if (isTrueSignal) {
532559
auto mcMotherTrack = motherTrack.mcParticle_as<aod::McParticles>();
533560
auto mcDauTrack = dauTrack.mcParticle_as<aod::McParticles>();
561+
auto mcNeutTrack = particlesMC.rawIteratorAt(dauIDList[2]);
534562
float posDecVtx[3] = {kinkCand.xDecVtx() + collision.posX(), kinkCand.yDecVtx() + collision.posY(), kinkCand.zDecVtx() + collision.posZ()};
535563
float recSVR = std::sqrt(posDecVtx[0] * posDecVtx[0] + posDecVtx[1] * posDecVtx[1]);
536564
registry.fill(HIST("hDiffSVx"), posDecVtx[0] - mcDauTrack.vx());
@@ -551,11 +579,9 @@ struct Hyperhelium4sigmaRecoTask {
551579
hyphe4sCand.isSignalReco = true;
552580
hyphe4sCand.isCollReco = true;
553581
hyphe4sCand.isSurvEvSelection = true;
554-
fillCandidateMCInfo(hyphe4sCand, mcMotherTrack, mcDauTrack);
582+
fillCandidateMCInfo(hyphe4sCand, mcMotherTrack, mcDauTrack, mcNeutTrack);
555583
mcHe4sIndices.push_back(mcMotherTrack.globalIndex());
556584

557-
auto bc = collision.bc_as<aod::BCs>();
558-
initCCDB(bc);
559585
std::array<float, 2> dcaInfo;
560586
auto mcMotherTrackPar = getTrackParFromMC(mcMotherTrack);
561587
o2::base::Propagator::Instance()->propagateToDCABxByBz({posDecVtx[0], posDecVtx[1], posDecVtx[2]}, mcMotherTrackPar, 2.f, matCorr, &dcaInfo);
@@ -591,14 +617,17 @@ struct Hyperhelium4sigmaRecoTask {
591617
outputMCTable(
592618
hyphe4sCand.primVtx[0], hyphe4sCand.primVtx[1], hyphe4sCand.primVtx[2],
593619
hyphe4sCand.decVtx[0], hyphe4sCand.decVtx[1], hyphe4sCand.decVtx[2],
594-
hyphe4sCand.isMatter, hyphe4sCand.momMoth[0], hyphe4sCand.momMoth[1], hyphe4sCand.momMoth[2],
620+
hyphe4sCand.isMatter,
621+
hyphe4sCand.lastPosMoth[0], hyphe4sCand.lastPosMoth[1], hyphe4sCand.lastPosMoth[2],
622+
hyphe4sCand.momMoth[0], hyphe4sCand.momMoth[1], hyphe4sCand.momMoth[2],
595623
hyphe4sCand.momDaug[0], hyphe4sCand.momDaug[1], hyphe4sCand.momDaug[2],
596624
hyphe4sCand.dcaXYMothPv, hyphe4sCand.dcaXYDauPv, hyphe4sCand.dcaKinkTopo,
597625
hyphe4sCand.chi2ITSMoth, hyphe4sCand.itsClusterSizeMoth, hyphe4sCand.itsClusterSizeDau,
598626
hyphe4sCand.nSigmaTPCDau, hyphe4sCand.nSigmaITSDau,
599627
hyphe4sCand.isSignal, hyphe4sCand.isSignalReco, hyphe4sCand.isCollReco, hyphe4sCand.isSurvEvSelection,
600628
hyphe4sCand.trueDecVtx[0], hyphe4sCand.trueDecVtx[1], hyphe4sCand.trueDecVtx[2],
601629
hyphe4sCand.gMomMoth[0], hyphe4sCand.gMomMoth[1], hyphe4sCand.gMomMoth[2],
630+
hyphe4sCand.trueMomMoth[0], hyphe4sCand.trueMomMoth[1], hyphe4sCand.trueMomMoth[2],
602631
hyphe4sCand.gMomDau[0], hyphe4sCand.gMomDau[1], hyphe4sCand.gMomDau[2],
603632
hyphe4sCand.isMothReco, hyphe4sCand.ptMoth, hyphe4sCand.pzMoth);
604633
}
@@ -615,7 +644,8 @@ struct Hyperhelium4sigmaRecoTask {
615644

616645
Hyphe4sCandidate hyphe4sCand;
617646
auto mcDauTrack = particlesMC.rawIteratorAt(dauIDList[0]);
618-
fillCandidateMCInfo(hyphe4sCand, mcparticle, mcDauTrack);
647+
auto mcNeutTrack = particlesMC.rawIteratorAt(dauIDList[2]);
648+
fillCandidateMCInfo(hyphe4sCand, mcparticle, mcDauTrack, mcNeutTrack);
619649

620650
if (mcPartIndices[mcparticle.globalIndex()] != -1) {
621651
auto mothTrack = tracks.rawIteratorAt(mcPartIndices[mcparticle.globalIndex()]);
@@ -625,14 +655,17 @@ struct Hyperhelium4sigmaRecoTask {
625655
outputMCTable(
626656
-1, -1, -1,
627657
-1, -1, -1,
628-
-1, -1, -1, -1,
658+
-1,
659+
-1, -1, -1,
660+
-1, -1, -1,
629661
-1, -1, -1,
630662
-1, -1, -1,
631663
-1, -1, -1,
632664
-1, -1,
633665
true, false, isReconstructedMCCollisions[mcparticle.mcCollisionId()], isSelectedMCCollisions[mcparticle.mcCollisionId()],
634666
hyphe4sCand.trueDecVtx[0], hyphe4sCand.trueDecVtx[1], hyphe4sCand.trueDecVtx[2],
635667
hyphe4sCand.gMomMoth[0], hyphe4sCand.gMomMoth[1], hyphe4sCand.gMomMoth[2],
668+
hyphe4sCand.trueMomMoth[0], hyphe4sCand.trueMomMoth[1], hyphe4sCand.trueMomMoth[2],
636669
hyphe4sCand.gMomDau[0], hyphe4sCand.gMomDau[1], hyphe4sCand.gMomDau[2],
637670
hyphe4sCand.isMothReco, hyphe4sCand.ptMoth, hyphe4sCand.pzMoth);
638671
}
@@ -731,6 +764,7 @@ struct Hyperhelium4sigmaQa {
731764
hDauTPCNSigma[kDauTriton] = recoQAHist.add<TH2>("hDauTritonTPCNSigma", "", HistType::kTH2F, {rigidityAxis, nsigmaAxis});
732765
hDauTPCNSigma[kDauProton] = recoQAHist.add<TH2>("hDauProtonTPCNSigma", "", HistType::kTH2F, {rigidityAxis, nsigmaAxis});
733766
hDauTPCNSigma[kDauChargedPion] = recoQAHist.add<TH2>("hDauPionTPCNSigma", "", HistType::kTH2F, {rigidityAxis, nsigmaAxis});
767+
recoQAHist.add<TH2>("hDauAlphaITSNSigmaCheck", "", HistType::kTH2F, {rigidityAxis, itsnsigmaAxis});
734768

735769
hRecoMotherCounter = recoQAHist.add<TH1>("hRecoMotherCounter", "", HistType::kTH1F, {{9, 0.f, 9.f}});
736770
hRecoDauAlphaCounter = recoQAHist.add<TH1>("hRecoDauAlphaCounter", "", HistType::kTH1F, {{9, 0.f, 9.f}});
@@ -750,8 +784,8 @@ struct Hyperhelium4sigmaQa {
750784
recoQAHist.add<TH1>("hMotherITSCls", "", HistType::kTH1F, {{8, 0.f, 8.f}});
751785
recoQAHist.add<TH1>("hDauAlphaIsPVContributer", "", HistType::kTH1F, {{2, 0.f, 2.f}});
752786
recoQAHist.add<TH1>("hDauAlphaITSCls", "", HistType::kTH1F, {{8, 0.f, 8.f}});
753-
recoQAHist.add<TH2>("hDauAlphaPVsITSNSigma", "", HistType::kTH2F, {rigidityAxis, itsnsigmaAxis});
754-
recoQAHist.add<TH2>("h2BCandDauAlphaPVsITSNSigma", "", HistType::kTH2F, {rigidityAxis, nsigmaAxis});
787+
recoQAHist.add<TH2>("hDauAlphaITSNSigma", "", HistType::kTH2F, {rigidityAxis, itsnsigmaAxis});
788+
recoQAHist.add<TH2>("hReco2BDauAlphaPVsITSNSigma", "", HistType::kTH2F, {rigidityAxis, itsnsigmaAxis});
755789
recoQAHist.add<TH1>("hReco2BCandidateCount", "", HistType::kTH1F, {{4, 0.f, 4.f}});
756790
}
757791
}
@@ -950,6 +984,9 @@ struct Hyperhelium4sigmaQa {
950984
if (track.hasTPC()) {
951985
hDauTPCNSigma[type]->Fill(track.p() * track.sign(), tpcNSigma);
952986
}
987+
if (type == kDauAlpha && track.itsNCls() > kITSLayers - 2) {
988+
recoQAHist.fill(HIST("hDauAlphaITSNSigmaCheck"), track.p() * track.sign(), itsResponse.nSigmaITS<o2::track::PID::Alpha>(track));
989+
}
953990
}
954991
}
955992
}
@@ -1000,7 +1037,7 @@ struct Hyperhelium4sigmaQa {
10001037

10011038
float itsNSigma = itsResponse.nSigmaITS<o2::track::PID::Alpha>(daughterTrack);
10021039
if (daughterTrack.hasITS()) {
1003-
recoQAHist.fill(HIST("hDauAlphaPVsITSNSigma"), daughterTrack.sign() * daughterTrack.p(), itsNSigma);
1040+
recoQAHist.fill(HIST("hDauAlphaITSNSigma"), daughterTrack.sign() * daughterTrack.p(), itsNSigma);
10041041
recoQAHist.fill(HIST("hDauAlphaITSCls"), daughterTrack.itsNCls());
10051042
}
10061043

@@ -1013,7 +1050,7 @@ struct Hyperhelium4sigmaQa {
10131050

10141051
if (isMoth && isDaug) {
10151052
recoQAHist.fill(HIST("hReco2BCandidateCount"), 3.5);
1016-
recoQAHist.fill(HIST("h2BCandDauAlphaPVsITSNSigma"), daughterTrack.sign() * daughterTrack.p(), itsNSigma);
1053+
recoQAHist.fill(HIST("hReco2BDauAlphaPVsITSNSigma"), daughterTrack.sign() * daughterTrack.p(), itsNSigma);
10171054
}
10181055
}
10191056
}

0 commit comments

Comments
 (0)