Skip to content

Commit bee859d

Browse files
blacwoviealibuild
andauthored
[PWGCF] fix ME bug and add He3 column (#13112)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent b32abdc commit bee859d

File tree

2 files changed

+25
-17
lines changed

2 files changed

+25
-17
lines changed

PWGCF/Femto/FemtoNuclei/DataModel/PionNucleiTables.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ DECLARE_SOA_COLUMN(PtNu, ptNu, float);
3030
DECLARE_SOA_COLUMN(EtaNu, etaNu, float);
3131
DECLARE_SOA_COLUMN(PhiNu, phiNu, float);
3232
DECLARE_SOA_COLUMN(PtHyp, ptHyp, float);
33+
DECLARE_SOA_COLUMN(PtHe3, ptHe3, float);
3334
DECLARE_SOA_COLUMN(EtaHyp, etaHyp, float);
35+
DECLARE_SOA_COLUMN(EtaHe3, etaHe3, float);
3436
DECLARE_SOA_COLUMN(PhiHyp, phiHyp, float);
3537
DECLARE_SOA_COLUMN(PtPi, ptPi, float);
3638
DECLARE_SOA_COLUMN(EtaPi, etaPi, float);
@@ -105,6 +107,8 @@ DECLARE_SOA_TABLE(PionNucleiTable, "AOD", "PINUCLEITABLE",
105107
DECLARE_SOA_TABLE(PionHyperTable, "AOD", "PIHYPERTABLE",
106108
pion_nuclei_tables::PtHyp,
107109
pion_nuclei_tables::EtaHyp,
110+
pion_nuclei_tables::PtHe3,
111+
pion_nuclei_tables::EtaHe3,
108112
pion_nuclei_tables::PhiHyp,
109113
pion_nuclei_tables::PtPi,
110114
pion_nuclei_tables::EtaPi,

PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ struct PiNucandidate {
104104
std::array<float, 3> momNu = {99.f, 99.f, 99.f};
105105
std::array<float, 3> momPi = {99.f, 99.f, 99.f};
106106

107+
float ptHe3 = 1.f;
108+
float etaHe3 = 1.f;
107109
float signNu = 1.f;
108110
float signPi = 1.f;
109111
float invMass = -10.f;
@@ -159,6 +161,8 @@ struct PiNucleiFemto {
159161
Configurable<float> settingCutPtMinDePi{"settingCutPtMinDePi", 0.0f, "Minimum PT cut on DePi4"};
160162
Configurable<float> settingCutClSizeItsDe{"settingCutClSizeItsDe", 4.0f, "Minimum ITS cluster size for De"};
161163
Configurable<float> settingCutNCls{"settingCutNCls", 5.0f, "Minimum ITS Ncluster for tracks"};
164+
Configurable<float> settingCutTPCChi2He{"settingCutTPCChi2He", 0.0f, "Minimum tpcChi2He for Hyper He3"};
165+
Configurable<float> settingCutAverClsSizeHe{"settingCutAverClsSizeHe", 0.0f, "Minimum averClusSizeHe for Hyper He3"};
162166
Configurable<float> settingCutChi2NClITS{"settingCutChi2NClITS", 999.f, "Maximum ITS Chi2 for tracks"};
163167
Configurable<float> settingCutNsigmaTPCPi{"settingCutNsigmaTPCPi", 3.0f, "Value of the TPC Nsigma cut on Pi"};
164168
Configurable<float> settingCutNsigmaTPCDe{"settingCutNsigmaTPCDe", 2.5f, "Value of the TPC Nsigma cut on De"};
@@ -231,7 +235,7 @@ struct PiNucleiFemto {
231235
"QA",
232236
{{"hVtxZ", "Vertex distribution in Z;Z (cm)", {HistType::kTH1F, {{400, -20.0, 20.0}}}},
233237
{"hNcontributor", "Number of primary vertex contributor", {HistType::kTH1F, {{2000, 0.0f, 2000.0f}}}},
234-
{"hCentrality", "Centrality", {HistType::kTH1F, {{200, 0.0f, 100.0f}}}},
238+
{"hCentrality", "Centrality", {HistType::kTH1F, {{100, 0.0f, 100.0f}}}},
235239
{"hTrackSel", "Accepted tracks", {HistType::kTH1F, {{Selections::kAll, -0.5, static_cast<double>(Selections::kAll) - 0.5}}}},
236240
{"hEvents", "; Events;", {HistType::kTH1F, {{3, -0.5, 2.5}}}},
237241
{"hEmptyPool", "svPoolCreator did not find track pairs false/true", {HistType::kTH1F, {{2, -0.5, 1.5}}}},
@@ -562,15 +566,15 @@ struct PiNucleiFemto {
562566
bool selectionPIDHyper(const aod::DataHypCandsWColl::iterator& V0Hyper)
563567
{
564568
mQaRegistry.fill(HIST("hHe3P_preselected"), V0Hyper.tpcMomHe());
565-
/*float averClusSizeHe = averageClusterSizeCosl(V0Hyper.itsClusterSizesHe(), V0Hyper.etaHe3());
566-
if (averClusSizeHe <= 4) {
569+
float averClusSizeHe = averageClusterSizeCosl(V0Hyper.itsClusterSizesHe(), V0Hyper.etaHe3());
570+
if (averClusSizeHe <= settingCutAverClsSizeHe) {
567571
return false;
568572
}
569-
if (V0Hyper.tpcChi2He() <= 0.5) {
573+
if (V0Hyper.tpcChi2He() <= settingCutTPCChi2He) {
570574
return false;
571575
}
572576
mQaRegistry.fill(HIST("hHe3P"), V0Hyper.tpcMomHe());
573-
mQaRegistry.fill(HIST("hHe3TPCnsigma"), V0Hyper.nSigmaHe());*/
577+
mQaRegistry.fill(HIST("hHe3TPCnsigma"), V0Hyper.ptHe3(), V0Hyper.nSigmaHe());
574578

575579
return true;
576580
}
@@ -720,18 +724,15 @@ struct PiNucleiFemto {
720724
if (settingCutInvMass > 0 && invMass > settingCutInvMass) {
721725
return false;
722726
}
723-
float ptDePi = std::hypot(piHypercand.momNu[0] + piHypercand.momPi[0], piHypercand.momNu[1] + piHypercand.momPi[1]);
724-
if (ptDePi < settingCutPtMinDePi) {
725-
return false;
726-
}
727727

728728
piHypercand.signPi = trackPi.sign();
729729
if (V0Hyper.isMatter()) {
730730
piHypercand.signNu = 1;
731731
} else {
732732
piHypercand.signNu = -1;
733733
}
734-
734+
piHypercand.etaHe3 = V0Hyper.etaHe3();
735+
piHypercand.ptHe3 = V0Hyper.ptHe3();
735736
piHypercand.dcaxyPi = trackPi.dcaXY();
736737
piHypercand.dcazPi = trackPi.dcaZ();
737738
piHypercand.tpcSignalPi = trackPi.tpcSignal();
@@ -830,8 +831,8 @@ struct PiNucleiFemto {
830831
mQaRegistry.fill(HIST("hTrackSel"), Selections::kPID);
831832

832833
SVCand pair;
833-
pair.tr0Idx = piTrack.globalIndex();
834-
pair.tr1Idx = V0Hyper.globalIndex();
834+
pair.tr0Idx = V0Hyper.globalIndex();
835+
pair.tr1Idx = piTrack.globalIndex();
835836
const int collIdx = V0Hyper.collisionId();
836837
CollBracket collBracket{collIdx, collIdx};
837838
pair.collBracket = collBracket;
@@ -935,6 +936,8 @@ struct PiNucleiFemto {
935936
mOutputHyperDataTable(
936937
piNucand.recoPtNu(),
937938
piNucand.recoEtaNu(),
939+
piNucand.ptHe3,
940+
piNucand.etaHe3,
938941
piNucand.recoPhiNu(),
939942
piNucand.recoPtPi(),
940943
piNucand.recoEtaPi(),
@@ -1089,14 +1092,15 @@ struct PiNucleiFemto {
10891092
{
10901093
for (const auto& trackPair : mTrackHypPairs) {
10911094

1092-
auto v0hyper = V0Hypers.rawIteratorAt(trackPair.tr1Idx);
1093-
auto piTrack = piTracks.rawIteratorAt(trackPair.tr0Idx);
1095+
auto v0hyper = V0Hypers.rawIteratorAt(trackPair.tr0Idx);
1096+
auto piTrack = piTracks.rawIteratorAt(trackPair.tr1Idx);
10941097
// auto collBracket = trackPair.collBracket;
10951098

10961099
PiNucandidate piNucand;
10971100
if (!fillCandidateInfoHyper(v0hyper, piTrack, piNucand, isMixedEvent)) {
10981101
continue;
10991102
}
1103+
11001104
mQaRegistry.fill(HIST("hNuPt"), piNucand.recoPtNu());
11011105
mQaRegistry.fill(HIST("hPiPt"), piNucand.recoPtPi());
11021106
mQaRegistry.fill(HIST("hNuEta"), piNucand.recoEtaNu());
@@ -1220,14 +1224,15 @@ PROCESS_SWITCH(PiNucleiFemto, processMixedEventHyper, "Process Mixed event", fal
12201224

12211225
void processMixedEventHyperPool(const CollisionsFull& collisions, o2::aod::DataHypCandsWColl const& V0Hypers, const TrackCandidates& pitracks)
12221226
{
1223-
LOG(info) << "Processing mixed event for hypertriton";
1224-
12251227
mTrackHypPairs.clear();
12261228
if (!isInitialized) {
12271229
initializePools();
12281230
LOG(info) << "Initialized event pool with size = " << All_Event_pool.size();
12291231
}
12301232
for (auto const& collision : collisions) {
1233+
mQaRegistry.fill(HIST("hNcontributor"), collision.numContrib());
1234+
mQaRegistry.fill(HIST("hCentrality"), collision.centFT0C());
1235+
mQaRegistry.fill(HIST("hVtxZ"), collision.posZ());
12311236
int poolIndexPi = where_pool(collision.posZ(), collision.centFT0C());
12321237
auto& pool = All_Event_pool[poolIndexPi];
12331238

@@ -1247,7 +1252,6 @@ PROCESS_SWITCH(PiNucleiFemto, processMixedEventHyper, "Process Mixed event", fal
12471252
tracks1.push_back(t);
12481253
}
12491254
}
1250-
12511255
std::vector<o2::aod::DataHypCandsWColl::iterator> hypers2;
12521256
for (auto const& h : V0Hypers) {
12531257
if (h.collisionId() != c2.globalIndex())

0 commit comments

Comments
 (0)