Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions PWGCF/Femto/FemtoNuclei/DataModel/PionNucleiTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ DECLARE_SOA_COLUMN(PtNu, ptNu, float);
DECLARE_SOA_COLUMN(EtaNu, etaNu, float);
DECLARE_SOA_COLUMN(PhiNu, phiNu, float);
DECLARE_SOA_COLUMN(PtHyp, ptHyp, float);
DECLARE_SOA_COLUMN(PtHe3, ptHe3, float);
DECLARE_SOA_COLUMN(EtaHyp, etaHyp, float);
DECLARE_SOA_COLUMN(EtaHe3, etaHe3, float);
DECLARE_SOA_COLUMN(PhiHyp, phiHyp, float);
DECLARE_SOA_COLUMN(PtPi, ptPi, float);
DECLARE_SOA_COLUMN(EtaPi, etaPi, float);
Expand Down Expand Up @@ -105,6 +107,8 @@ DECLARE_SOA_TABLE(PionNucleiTable, "AOD", "PINUCLEITABLE",
DECLARE_SOA_TABLE(PionHyperTable, "AOD", "PIHYPERTABLE",
pion_nuclei_tables::PtHyp,
pion_nuclei_tables::EtaHyp,
pion_nuclei_tables::PtHe3,
pion_nuclei_tables::EtaHe3,
pion_nuclei_tables::PhiHyp,
pion_nuclei_tables::PtPi,
pion_nuclei_tables::EtaPi,
Expand Down
38 changes: 21 additions & 17 deletions PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@
std::array<float, 3> momNu = {99.f, 99.f, 99.f};
std::array<float, 3> momPi = {99.f, 99.f, 99.f};

float ptHe3 = 1.f;
float etaHe3 = 1.f;
float signNu = 1.f;
float signPi = 1.f;
float invMass = -10.f;
Expand Down Expand Up @@ -159,6 +161,8 @@
Configurable<float> settingCutPtMinDePi{"settingCutPtMinDePi", 0.0f, "Minimum PT cut on DePi4"};
Configurable<float> settingCutClSizeItsDe{"settingCutClSizeItsDe", 4.0f, "Minimum ITS cluster size for De"};
Configurable<float> settingCutNCls{"settingCutNCls", 5.0f, "Minimum ITS Ncluster for tracks"};
Configurable<float> settingCutTPCChi2He{"settingCutTPCChi2He", 0.0f, "Minimum tpcChi2He for Hyper He3"};
Configurable<float> settingCutAverClsSizeHe{"settingCutAverClsSizeHe", 0.0f, "Minimum averClusSizeHe for Hyper He3"};
Configurable<float> settingCutChi2NClITS{"settingCutChi2NClITS", 999.f, "Maximum ITS Chi2 for tracks"};
Configurable<float> settingCutNsigmaTPCPi{"settingCutNsigmaTPCPi", 3.0f, "Value of the TPC Nsigma cut on Pi"};
Configurable<float> settingCutNsigmaTPCDe{"settingCutNsigmaTPCDe", 2.5f, "Value of the TPC Nsigma cut on De"};
Expand Down Expand Up @@ -231,7 +235,7 @@
"QA",
{{"hVtxZ", "Vertex distribution in Z;Z (cm)", {HistType::kTH1F, {{400, -20.0, 20.0}}}},
{"hNcontributor", "Number of primary vertex contributor", {HistType::kTH1F, {{2000, 0.0f, 2000.0f}}}},
{"hCentrality", "Centrality", {HistType::kTH1F, {{200, 0.0f, 100.0f}}}},
{"hCentrality", "Centrality", {HistType::kTH1F, {{100, 0.0f, 100.0f}}}},
{"hTrackSel", "Accepted tracks", {HistType::kTH1F, {{Selections::kAll, -0.5, static_cast<double>(Selections::kAll) - 0.5}}}},
{"hEvents", "; Events;", {HistType::kTH1F, {{3, -0.5, 2.5}}}},
{"hEmptyPool", "svPoolCreator did not find track pairs false/true", {HistType::kTH1F, {{2, -0.5, 1.5}}}},
Expand Down Expand Up @@ -276,9 +280,9 @@

int numOfCentBins = 40;
int numOfVertexZBins = 30;
float Vz_low = -10.0f;

Check failure on line 283 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[name/function-variable]

Use lowerCamelCase for names of functions and variables.
float Vz_high = 10.0f;

Check failure on line 284 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[name/function-variable]

Use lowerCamelCase for names of functions and variables.
float Vz_step = (Vz_high - Vz_low) / numOfVertexZBins;

Check failure on line 285 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[name/function-variable]

Use lowerCamelCase for names of functions and variables.

struct EventRef {
int64_t collisionId;
Expand Down Expand Up @@ -562,15 +566,15 @@
bool selectionPIDHyper(const aod::DataHypCandsWColl::iterator& V0Hyper)
{
mQaRegistry.fill(HIST("hHe3P_preselected"), V0Hyper.tpcMomHe());
/*float averClusSizeHe = averageClusterSizeCosl(V0Hyper.itsClusterSizesHe(), V0Hyper.etaHe3());
if (averClusSizeHe <= 4) {
float averClusSizeHe = averageClusterSizeCosl(V0Hyper.itsClusterSizesHe(), V0Hyper.etaHe3());
if (averClusSizeHe <= settingCutAverClsSizeHe) {
return false;
}
if (V0Hyper.tpcChi2He() <= 0.5) {
if (V0Hyper.tpcChi2He() <= settingCutTPCChi2He) {
return false;
}
mQaRegistry.fill(HIST("hHe3P"), V0Hyper.tpcMomHe());
mQaRegistry.fill(HIST("hHe3TPCnsigma"), V0Hyper.nSigmaHe());*/
mQaRegistry.fill(HIST("hHe3TPCnsigma"), V0Hyper.ptHe3(), V0Hyper.nSigmaHe());

return true;
}
Expand Down Expand Up @@ -720,18 +724,15 @@
if (settingCutInvMass > 0 && invMass > settingCutInvMass) {
return false;
}
float ptDePi = std::hypot(piHypercand.momNu[0] + piHypercand.momPi[0], piHypercand.momNu[1] + piHypercand.momPi[1]);
if (ptDePi < settingCutPtMinDePi) {
return false;
}

piHypercand.signPi = trackPi.sign();
if (V0Hyper.isMatter()) {
piHypercand.signNu = 1;
} else {
piHypercand.signNu = -1;
}

piHypercand.etaHe3 = V0Hyper.etaHe3();
piHypercand.ptHe3 = V0Hyper.ptHe3();
piHypercand.dcaxyPi = trackPi.dcaXY();
piHypercand.dcazPi = trackPi.dcaZ();
piHypercand.tpcSignalPi = trackPi.tpcSignal();
Expand Down Expand Up @@ -830,8 +831,8 @@
mQaRegistry.fill(HIST("hTrackSel"), Selections::kPID);

SVCand pair;
pair.tr0Idx = piTrack.globalIndex();
pair.tr1Idx = V0Hyper.globalIndex();
pair.tr0Idx = V0Hyper.globalIndex();
pair.tr1Idx = piTrack.globalIndex();
const int collIdx = V0Hyper.collisionId();
CollBracket collBracket{collIdx, collIdx};
pair.collBracket = collBracket;
Expand Down Expand Up @@ -935,6 +936,8 @@
mOutputHyperDataTable(
piNucand.recoPtNu(),
piNucand.recoEtaNu(),
piNucand.ptHe3,
piNucand.etaHe3,
piNucand.recoPhiNu(),
piNucand.recoPtPi(),
piNucand.recoEtaPi(),
Expand Down Expand Up @@ -976,7 +979,7 @@
mQaRegistry.fill(HIST("hNuPitInvMass"), piNucand.invMass);
mQaRegistry.fill(HIST("hdcaxyNu"), piNucand.dcaxyNu);
mQaRegistry.fill(HIST("hdcazNu"), piNucand.dcazNu);
mQaRegistry.fill(HIST("hdcazNu_min"), (abs(piNucand.dcazNu) - settingCutDeDCAzMin));

Check failure on line 982 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
mQaRegistry.fill(HIST("hNClsNuITS"), piNucand.nClsItsNu);
mQaRegistry.fill(HIST("hNClsPiITS"), piNucand.nClsItsPi);
mQaRegistry.fill(HIST("hisBkgEM"), piNucand.isBkgEM);
Expand All @@ -987,7 +990,7 @@
double m_BBparamsProton[6] = {-54.42066571222577, 0.2857381250239097, 1.247140602468868, 0.6297483918147729, 2.985438833884555, 0.09};

float TPCinnerParam = InnerParamTPCHad;
float expTPCSignal = o2::tpc::BetheBlochAleph((TPCinnerParam / 0.9382721), m_BBparamsProton[0], m_BBparamsProton[1], m_BBparamsProton[2], m_BBparamsProton[3], m_BBparamsProton[4]);

Check failure on line 993 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/explicit-mass]

Avoid hard-coded particle masses. Use o2::constants::physics::Mass... instead.
double resoTPC{expTPCSignal * m_BBparamsProton[5]};
return ((SignalTPCHad - expTPCSignal) / resoTPC);
}
Expand All @@ -998,7 +1001,7 @@
const float kp0 = 1.22204e-02;
const float kp1 = 7.48467e-01;

double fSigmaTOFMassHad = (kp0 * TMath::Exp(kp1 * TMath::Abs(ptHad))) * fExpTOFMassHad;

Check failure on line 1004 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/entity]

Replace ROOT entities with equivalents from standard C++ or from O2.
double fNSigmaTOFHad = (MassTOFHad - fExpTOFMassHad) / fSigmaTOFMassHad;
return fNSigmaTOFHad;
}
Expand Down Expand Up @@ -1032,12 +1035,12 @@
{
double PrTPCnsigma = computePrTPCnsig(piNucand.momPiTPC, piNucand.tpcSignalPi);
double PrTOFnsigma = tofNSigmaCalculation(piNucand.massTOFPi, piNucand.recoPtPi());
if (abs(PrTPCnsigma) < settingCutNsigTPCPrMin)

Check failure on line 1038 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
return;
if (abs(PrTOFnsigma) < settingCutNsigTOFPrMin)

Check failure on line 1040 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
return;
float DeDCAxyMin = 0.015 + 0.0305 / TMath::Power(piNucand.recoPtNu(), 1.1);

Check failure on line 1042 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[root/entity]

Replace ROOT entities with equivalents from standard C++ or from O2.
if (abs(piNucand.dcaxyNu) > DeDCAxyMin || abs(piNucand.dcazNu) > settingCutDeDCAzMin || abs(piNucand.dcaxyPi) > settingCutPiDCAxyMin || abs(piNucand.dcazPi) > settingCutPiDCAzMin)

Check failure on line 1043 in PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[std-prefix]

Use std:: prefix for names from the std namespace.
return;
fillHistograms(piNucand);

Expand Down Expand Up @@ -1089,14 +1092,15 @@
{
for (const auto& trackPair : mTrackHypPairs) {

auto v0hyper = V0Hypers.rawIteratorAt(trackPair.tr1Idx);
auto piTrack = piTracks.rawIteratorAt(trackPair.tr0Idx);
auto v0hyper = V0Hypers.rawIteratorAt(trackPair.tr0Idx);
auto piTrack = piTracks.rawIteratorAt(trackPair.tr1Idx);
// auto collBracket = trackPair.collBracket;

PiNucandidate piNucand;
if (!fillCandidateInfoHyper(v0hyper, piTrack, piNucand, isMixedEvent)) {
continue;
}

mQaRegistry.fill(HIST("hNuPt"), piNucand.recoPtNu());
mQaRegistry.fill(HIST("hPiPt"), piNucand.recoPtPi());
mQaRegistry.fill(HIST("hNuEta"), piNucand.recoEtaNu());
Expand Down Expand Up @@ -1220,14 +1224,15 @@

void processMixedEventHyperPool(const CollisionsFull& collisions, o2::aod::DataHypCandsWColl const& V0Hypers, const TrackCandidates& pitracks)
{
LOG(info) << "Processing mixed event for hypertriton";

mTrackHypPairs.clear();
if (!isInitialized) {
initializePools();
LOG(info) << "Initialized event pool with size = " << All_Event_pool.size();
}
for (auto const& collision : collisions) {
mQaRegistry.fill(HIST("hNcontributor"), collision.numContrib());
mQaRegistry.fill(HIST("hCentrality"), collision.centFT0C());
mQaRegistry.fill(HIST("hVtxZ"), collision.posZ());
int poolIndexPi = where_pool(collision.posZ(), collision.centFT0C());
auto& pool = All_Event_pool[poolIndexPi];

Expand All @@ -1247,7 +1252,6 @@
tracks1.push_back(t);
}
}

std::vector<o2::aod::DataHypCandsWColl::iterator> hypers2;
for (auto const& h : V0Hypers) {
if (h.collisionId() != c2.globalIndex())
Expand Down
Loading