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
9 changes: 6 additions & 3 deletions PWGCF/FemtoUniverse/Core/FemtoUniverseFemtoContainer.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#include <Framework/HistogramRegistry.h>
#include <Framework/HistogramSpec.h>

#include <TDatabasePDG.h>

Check failure on line 29 in PWGCF/FemtoUniverse/Core/FemtoUniverseFemtoContainer.h

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/database]

Do not use TDatabasePDG directly. Use o2::constants::physics::Mass... or Service<o2::framework::O2DatabasePDG> instead.

#include <string>
#include <string_view>
Expand Down Expand Up @@ -145,8 +145,8 @@
/// \param pdg2 PDG code of particle two
void setPDGCodes(const int pdg1, const int pdg2)
{
kMassOne = TDatabasePDG::Instance()->GetParticle(pdg1)->Mass();

Check failure on line 148 in PWGCF/FemtoUniverse/Core/FemtoUniverseFemtoContainer.h

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/database]

Do not use TDatabasePDG directly. Use o2::constants::physics::Mass... or Service<o2::framework::O2DatabasePDG> instead.
kMassTwo = TDatabasePDG::Instance()->GetParticle(pdg2)->Mass();

Check failure on line 149 in PWGCF/FemtoUniverse/Core/FemtoUniverseFemtoContainer.h

View workflow job for this annotation

GitHub Actions / O2 linter

[pdg/database]

Do not use TDatabasePDG directly. Use o2::constants::physics::Mass... or Service<o2::framework::O2DatabasePDG> instead.
kPDGOne = pdg1;
kPDGTwo = pdg2;
}
Expand Down Expand Up @@ -205,9 +205,10 @@
/// \param part2 Particle two
/// \param mult Multiplicity of the event
template <bool isMC, typename T>
void setPair(T const& part1, T const& part2, const int mult, bool use3dplots)
void setPair(T const& part1, T const& part2, const int mult, bool use3dplots, bool onlyPrimaryMC = false)
{
float femtoObs, femtoObsMC;

// Calculate femto observable and the mT with reconstructed information
if constexpr (kFemtoObs == femto_universe_femto_container::Observable::kstar) {
femtoObs = FemtoUniverseMath::getkstar(part1, kMassOne, part2, kMassTwo);
Expand All @@ -226,8 +227,10 @@
const float mTMC = FemtoUniverseMath::getmT(part1.fdMCParticle(), kMassOne, part2.fdMCParticle(), kMassTwo);

if (std::abs(part1.fdMCParticle().pdgMCTruth()) == std::abs(kPDGOne) && std::abs(part2.fdMCParticle().pdgMCTruth()) == std::abs(kPDGTwo)) { // Note: all pair-histogramms are filled with MC truth information ONLY in case of non-fake candidates
setPairBase<o2::aod::femtouniverse_mc_particle::MCType::kTruth>(femtoObsMC, mTMC, part1.fdMCParticle(), part2.fdMCParticle(), mult, use3dplots);
setPairMC(femtoObsMC, femtoObs, mT, mult);
if (!onlyPrimaryMC || (part1.fdMCParticle().partOriginMCTruth() == o2::aod::femtouniverse_mc_particle::kPrimary && part2.fdMCParticle().partOriginMCTruth() == o2::aod::femtouniverse_mc_particle::kPrimary)) {
setPairBase<o2::aod::femtouniverse_mc_particle::MCType::kTruth>(femtoObsMC, mTMC, part1.fdMCParticle(), part1.fdMCParticle(), mult, use3dplots);
setPairMC(femtoObsMC, femtoObs, mT, mult);
}
} else {
kHistogramRegistry->fill(HIST(kFolderSuffix[kEventType]) + HIST(o2::aod::femtouniverse_mc_particle::MCTypeName[o2::aod::femtouniverse_mc_particle::MCType::kTruth]) + HIST("/hFakePairsCounter"), 0);
}
Expand Down
11 changes: 4 additions & 7 deletions PWGCF/FemtoUniverse/Core/FemtoUniversePairSHCentMultKt.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ class PairSHCentMultKt
int em = 0;
int il = 0;
do {

fels[il] = el;
fems[il] = em;
felsi[il] = static_cast<int>(el);
Expand Down Expand Up @@ -245,10 +244,10 @@ class PairSHCentMultKt
/// Set the PDG codes of the two particles involved
/// \param pdg1 PDG code of particle one
/// \param pdg2 PDG code of particle two
void setPionPairMass()
void setPairMass(const float mass1, const float mass2)
{
mMassOne = o2::constants::physics::MassPiPlus; // FIXME: Get from the PDG service of the common header
mMassTwo = o2::constants::physics::MassPiPlus; // FIXME: Get from the PDG service of the common header
mMassOne = mass1;
mMassTwo = mass2;
}

/// To compute the bin value for cavariance matrix
Expand Down Expand Up @@ -278,10 +277,8 @@ class PairSHCentMultKt
int fKtBin = ktval;
std::vector<std::complex<double>> fYlmBuffer(kMaxJM);
std::vector<double> f3d;
setPionPairMass();

f3d = FemtoUniverseMath::newpairfunc(part1, mMassOne, part2, mMassTwo,
isIdenLCMS, isWeight, isIdenPRF);
f3d = FemtoUniverseMath::newpairfunc(part1, mMassOne, part2, mMassTwo, isIdenLCMS, isWeight, isIdenPRF);
double varout = 0.0;
double varside = 0.0;
double varlong = 0.0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@
Configurable<bool> confIsMC{"confIsMC", false, "Enable additional Histogramms in the case of a MonteCarlo Run"};
Configurable<std::vector<float>> confTrkPIDnSigmaMax{"confTrkPIDnSigmaMax", std::vector<float>{4.f, 3.f, 2.f}, "This configurable needs to be the same as the one used in the producer task"};
Configurable<bool> confUse3D{"confUse3D", false, "Enable three dimensional histogramms (to be used only for analysis with high statistics): k* vs mT vs multiplicity"};
Configurable<bool> confOnlyPrimaryMCPair{"confOnlyPrimaryMCPair", false, "Fill MC pair histograms only with primary particles"};

} twotracksconfigs;

using FemtoFullParticles = soa::Join<aod::FDParticles, aod::FDExtParticles>;
Expand Down Expand Up @@ -522,7 +524,7 @@
randgen = new TRandom2(0);
rand = randgen->Rndm();

if (rand > 0.5) {

Check failure on line 527 in PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
part1 = p2;
part2 = p1;
}
Expand All @@ -536,7 +538,7 @@
float kstar = FemtoUniverseMath::getkstar(p1, mass1, p2, mass2);
float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass2);

sameEventCont.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
sameEventCont.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
sameEventMultCont.fill<float>(kstar, multCol, kT);
}
Expand All @@ -561,7 +563,7 @@
randgen = new TRandom2(0);
rand = randgen->Rndm();

if (rand > 0.5) {

Check failure on line 566 in PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
part1 = p2;
part2 = p1;
}
Expand All @@ -583,14 +585,14 @@
float kstar = FemtoUniverseMath::getkstar(p1, mass1, p2, mass1);
float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass1);

sameEventContPP.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
sameEventContPP.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
sameEventMultContPP.fill<float>(kstar, multCol, kT);
} else {
float kstar = FemtoUniverseMath::getkstar(p1, mass1, p2, mass2);
float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass2);

sameEventContPP.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
sameEventContPP.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
sameEventMultContPP.fill<float>(kstar, multCol, kT);
}
Expand All @@ -603,14 +605,14 @@
float kstar = FemtoUniverseMath::getkstar(p1, mass2, p2, mass2);
float kT = FemtoUniverseMath::getkT(p1, mass2, p2, mass2);

sameEventContMM.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
sameEventContMM.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
sameEventMultContMM.fill<float>(kstar, multCol, kT);
} else {
float kstar = FemtoUniverseMath::getkstar(p1, mass1, p2, mass2);
float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass2);

sameEventContMM.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
sameEventContMM.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
sameEventMultContMM.fill<float>(kstar, multCol, kT);
}
Expand Down Expand Up @@ -714,7 +716,7 @@
randgen = new TRandom2(0);
rand = randgen->Rndm();

if (rand > 0.5) {

Check failure on line 719 in PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
part1 = p2;
part2 = p1;
}
Expand All @@ -730,7 +732,7 @@
float kstar = FemtoUniverseMath::getkstar(p1, mass1, p2, mass2);
float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass2);

mixedEventCont.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
mixedEventCont.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
mixedEventMultCont.fill<float>(kstar, multCol, kT);

Expand All @@ -741,14 +743,14 @@
float kstar = FemtoUniverseMath::getkstar(p1, mass1, p2, mass1);
float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass1);

mixedEventContPP.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
mixedEventContPP.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
mixedEventMultContPP.fill<float>(kstar, multCol, kT);
} else {
float kstar = FemtoUniverseMath::getkstar(p1, mass1, p2, mass2);
float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass2);

mixedEventContPP.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
mixedEventContPP.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
mixedEventMultContPP.fill<float>(kstar, multCol, kT);
}
Expand All @@ -761,14 +763,14 @@
float kstar = FemtoUniverseMath::getkstar(p1, mass2, p2, mass2);
float kT = FemtoUniverseMath::getkT(p1, mass2, p2, mass2);

mixedEventContMM.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
mixedEventContMM.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
mixedEventMultContMM.fill<float>(kstar, multCol, kT);
} else {
float kstar = FemtoUniverseMath::getkstar(p1, mass1, p2, mass2);
float kT = FemtoUniverseMath::getkT(p1, mass1, p2, mass2);

mixedEventContMM.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D);
mixedEventContMM.setPair<isMC>(p1, p2, multCol, twotracksconfigs.confUse3D, twotracksconfigs.confOnlyPrimaryMCPair);
if (cfgProcessMultBins)
mixedEventMultContMM.fill<float>(kstar, multCol, kT);
}
Expand Down Expand Up @@ -889,7 +891,7 @@
randgen = new TRandom2(0);
rand = randgen->Rndm();

if (rand > 0.5) {

Check failure on line 894 in PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
part1 = p2;
part2 = p1;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,8 @@ struct FemtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
} else {
sameEventMultCont.init(&sameMultRegistryPM, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
mixedEventMultCont.init(&mixedMultRegistryPM, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
sameEventMultCont.setPairMass(mass1, mass2);
mixedEventMultCont.setPairMass(mass1, mass2);
}
}

Expand All @@ -522,6 +524,8 @@ struct FemtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
} else {
sameEventMultContPP.init(&sameMultRegistryPP, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
mixedEventMultContPP.init(&mixedMultRegistryPP, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
sameEventMultContPP.setPairMass(mass1, mass2);
mixedEventMultContPP.setPairMass(mass1, mass2);
}
sameEventCont1dpp.init(&resultRegistry1D, confkstarBins, confMultBinsCent, confkTBins, confmTBins, confmultBins3D, confmTBins3D, twotracksconfigs.confEtaBins, twotracksconfigs.confPhiBins, twotracksconfigs.confIsMC, twotracksconfigs.confUse3D);
sameEventCont1dpp.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
Expand All @@ -538,6 +542,8 @@ struct FemtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
} else {
sameEventMultContMM.init(&sameMultRegistryMM, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
mixedEventMultContMM.init(&mixedMultRegistryMM, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
sameEventMultContMM.setPairMass(mass1, mass2);
mixedEventMultContMM.setPairMass(mass1, mass2);
}
sameEventCont1dmm.init(&resultRegistry1D, confkstarBins, confMultBinsCent, confkTBins, confmTBins, confmultBins3D, confmTBins3D, twotracksconfigs.confEtaBins, twotracksconfigs.confPhiBins, twotracksconfigs.confIsMC, twotracksconfigs.confUse3D);
sameEventCont1dmm.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,8 @@ struct FemtoUniversePairTaskTrackTrackSpherHarMultKtExtendedItsPid {
} else {
sameEventMultCont.init(&sameMultRegistryPM, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
mixedEventMultCont.init(&mixedMultRegistryPM, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
sameEventMultCont.setPairMass(mass1, mass2);
mixedEventMultCont.setPairMass(mass1, mass2);
}
}

Expand All @@ -512,6 +514,8 @@ struct FemtoUniversePairTaskTrackTrackSpherHarMultKtExtendedItsPid {
} else {
sameEventMultContPP.init(&sameMultRegistryPP, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
mixedEventMultContPP.init(&mixedMultRegistryPP, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
sameEventMultContPP.setPairMass(mass1, mass2);
mixedEventMultContPP.setPairMass(mass1, mass2);
}
sameEventCont1dpp.init(&resultRegistry1D, confkstarBins, confMultBinsCent, confkTBins, confmTBins, confmultBins3D, confmTBins3D, twotracksconfigs.confEtaBins, twotracksconfigs.confPhiBins, twotracksconfigs.confIsMC, twotracksconfigs.confUse3D);
sameEventCont1dpp.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
Expand All @@ -528,6 +532,8 @@ struct FemtoUniversePairTaskTrackTrackSpherHarMultKtExtendedItsPid {
} else {
sameEventMultContMM.init(&sameMultRegistryMM, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
mixedEventMultContMM.init(&mixedMultRegistryMM, confkstarBins, confMultKstarBins, confKtKstarBins, confLMax, twotracksconfigs.confIs1D);
sameEventMultContMM.setPairMass(mass1, mass2);
mixedEventMultContMM.setPairMass(mass1, mass2);
}
sameEventCont1dmm.init(&resultRegistry1D, confkstarBins, confMultBinsCent, confkTBins, confmTBins, confmultBins3D, confmTBins3D, twotracksconfigs.confEtaBins, twotracksconfigs.confPhiBins, twotracksconfigs.confIsMC, twotracksconfigs.confUse3D);
sameEventCont1dmm.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
Expand Down
Loading