Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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 @@
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 @@
/// 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 setPDGCodes(const int pdg1, const int pdg2)
{
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 = TDatabasePDG::Instance()->GetParticle(pdg1)->Mass();

Check failure on line 249 in PWGCF/FemtoUniverse/Core/FemtoUniversePairSHCentMultKt.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.
mMassTwo = TDatabasePDG::Instance()->GetParticle(pdg2)->Mass();

Check failure on line 250 in PWGCF/FemtoUniverse/Core/FemtoUniversePairSHCentMultKt.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.
}
Comment thread
vkucera marked this conversation as resolved.

/// To compute the bin value for cavariance matrix
Expand Down Expand Up @@ -278,10 +277,8 @@
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.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
mixedEventMultCont.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
}
}

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.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
mixedEventMultContPP.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
}
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.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
mixedEventMultContMM.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
}
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.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
mixedEventMultCont.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
}
}

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.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
mixedEventMultContPP.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
}
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.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
mixedEventMultContMM.setPDGCodes(trackonefilter.confPDGCodePartOne, tracktwofilter.confPDGCodePartTwo);
}
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