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
59 changes: 30 additions & 29 deletions PWGLF/TableProducer/Strangeness/hStrangeCorrelationFilter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@
Configurable<std::vector<float>> massParsK0Mean{"massParsK0Mean", {0.495967, 0.000095, 0.001120, 0.800000}, "pars in [0]+[1]*x+[2]*std::exp(-[3]*x)"};
Configurable<std::vector<float>> massParsK0Width{"massParsK0Width", {0.002324, 0.000600, 0.005076, 1.644687}, "pars in [0]+[1]*x+[2]*std::exp(-[3]*x)"};

Configurable<std::vector<float>> massParsLambdaMean{"massParsLambdaMean", {1.115554, 0.000002, -0.000311, 1.303969}, "pars in [0]+[1]*x+[2]*std::exp(-[3]*x)"};

Check failure on line 232 in PWGLF/TableProducer/Strangeness/hStrangeCorrelationFilter.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.
Configurable<std::vector<float>> massParsLambdaWidth{"massParsLambdaWidth", {0.001066, 0.000168, 0.001893, 1.407199}, "pars in [0]+[1]*x+[2]*std::exp(-[3]*x)"};

Configurable<std::vector<float>> massParsCascadeMean{"massParsCascadeMean", {1.322150, -0.000087, -0.000761, 0.316391}, "pars in [0]+[1]*x+[2]*std::exp(-[3]*x)"};
Expand All @@ -256,24 +256,23 @@
TH1F* hOmegaWidth = nullptr;
Zorro zorro;
OutputObj<ZorroSummary> zorroSummary{"zorroSummary"};
int mRunNumber;
int mRunNumberZorro = -1;
int mRunNumberParameters = -1;

struct TriggCandidate {
float pt;
int collisionId;
int trackId;
bool isPhysicalPrimary;
float origPt;
uint16_t mcMask;
float pt = 0.f;
int collisionId = -1;
int trackId = -1;
bool isPhysicalPrimary = false;
float origPt = 0.f;
uint16_t mcMask = 0;
};
TriggCandidate thisTrigg;

std::vector<TriggCandidate> triggerCandidates;

void init(InitContext const&)
{
zorroSummary.setObject(zorro.getZorroSummary());
mRunNumber = -1;
if (useParameterization) {
fK0Mean->SetParameters(parameters.massParsK0Mean->at(0), parameters.massParsK0Mean->at(1), parameters.massParsK0Mean->at(2), parameters.massParsK0Mean->at(3));
fK0Width->SetParameters(parameters.massParsK0Width->at(0), parameters.massParsK0Width->at(1), parameters.massParsK0Width->at(2), parameters.massParsK0Width->at(3));
Expand Down Expand Up @@ -308,23 +307,23 @@

void initCCDB(aod::BCsWithTimestamps::iterator const& bc)
{
if (mRunNumber == bc.runNumber()) {
if (mRunNumberZorro == bc.runNumber()) {
return;
}

zorro.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), zorroMask.value);
zorro.populateHistRegistry(histos, bc.runNumber());

mRunNumber = bc.runNumber();
mRunNumberZorro = bc.runNumber();
}

void initParametersFromCCDB(aod::BCsWithTimestamps::iterator const& bc)
{
if (mRunNumber == bc.runNumber()) {
if (mRunNumberParameters == bc.runNumber()) {
return;
}
mRunNumber = bc.runNumber();
LOG(info) << "Loading mean and sigma from CCDB for run " << mRunNumber << " now...";
mRunNumberParameters = bc.runNumber();
LOG(info) << "Loading mean and sigma from CCDB for run " << mRunNumberParameters << " now...";
auto timeStamp = bc.timestamp();

auto listParameters = ccdb->getForTimeStamp<TList>(parameterCCDBPath, timeStamp);
Expand All @@ -344,7 +343,7 @@
hOmegaMean = dynamic_cast<TH1F*>(listParameters->FindObject("hOmegaMean"));
hOmegaWidth = dynamic_cast<TH1F*>(listParameters->FindObject("hOmegaWidth"));
}
LOG(info) << "parameters now loaded for " << mRunNumber;
LOG(info) << "parameters now loaded for " << mRunNumberParameters;
}

// this function allows for all event selections to be done in a modular way
Expand Down Expand Up @@ -591,6 +590,7 @@
if (!isValidTrigger(track)) {
continue;
}
TriggCandidate thisTrigg{};
thisTrigg.pt = track.pt();
thisTrigg.trackId = track.globalIndex();
thisTrigg.collisionId = track.collisionId();
Expand Down Expand Up @@ -631,6 +631,7 @@
if (!isValidTrigger(track)) {
continue;
}
TriggCandidate thisTrigg{};
thisTrigg.pt = track.pt();
thisTrigg.trackId = track.globalIndex();
thisTrigg.collisionId = track.collisionId();
Expand Down Expand Up @@ -792,9 +793,9 @@
continue;
}
// check dE/dx compatibility
int compatibleK0Short = -1;
int compatibleLambda = -1;
int compatibleAntiLambda = -1;
int compatibleK0Short = 0;
int compatibleLambda = 0;
int compatibleAntiLambda = 0;

auto posdau = v0.posTrack_as<DauTracks>();
auto negdau = v0.negTrack_as<DauTracks>();
Expand Down Expand Up @@ -927,9 +928,9 @@
continue;
}
// check dE/dx compatibility
int compatibleK0Short = -1;
int compatibleLambda = -1;
int compatibleAntiLambda = -1;
int compatibleK0Short = 0;
int compatibleLambda = 0;
int compatibleAntiLambda = 0;

auto posdau = v0.posTrack_as<DauTracksMC>();
auto negdau = v0.negTrack_as<DauTracksMC>();
Expand Down Expand Up @@ -1109,10 +1110,10 @@
bool isGoodPosCascadePbPb = std::abs(casc.dcabachtopv()) > cascSelection.dcaBachToPV && std::abs(casc.dcapostopv()) > cascSelection.cascDcaMesonToPV &&
std::abs(casc.dcanegtopv()) > cascSelection.cascDcaBaryonToPV;
// check dE/dx compatibility
int compatibleXiMinus = -1;
int compatibleXiPlus = -1;
int compatibleOmegaMinus = -1;
int compatibleOmegaPlus = -1;
int compatibleXiMinus = 0;
int compatibleXiPlus = 0;
int compatibleOmegaMinus = 0;
int compatibleOmegaPlus = 0;
float cascpos = std::hypot(casc.x() - collision.posX(), casc.y() - collision.posY(), casc.z() - collision.posZ());
float cascptotmom = std::hypot(casc.px(), casc.py(), casc.pz());
float ctauXi = o2::constants::physics::MassXiMinus * cascpos / ((cascptotmom + 1e-13) * Xictau);
Expand Down Expand Up @@ -1277,10 +1278,10 @@
bool isGoodPosCascadePbPb = (std::abs(casc.dcabachtopv()) > cascSelection.dcaBachToPV && std::abs(casc.dcapostopv()) > cascSelection.cascDcaMesonToPV &&
std::abs(casc.dcanegtopv()) > cascSelection.cascDcaBaryonToPV);
// check dE/dx compatibility
int compatibleXiMinus = -1;
int compatibleXiPlus = -1;
int compatibleOmegaMinus = -1;
int compatibleOmegaPlus = -1;
int compatibleXiMinus = 0;
int compatibleXiPlus = 0;
int compatibleOmegaMinus = 0;
int compatibleOmegaPlus = 0;
float cascpos = std::hypot(casc.x() - collision.posX(), casc.y() - collision.posY(), casc.z() - collision.posZ());
float cascptotmom = std::hypot(casc.px(), casc.py(), casc.pz());
float ctauXi = o2::constants::physics::MassXiMinus * cascpos / ((cascptotmom + 1e-13) * Xictau);
Expand Down
74 changes: 41 additions & 33 deletions PWGLF/Tasks/Strangeness/hStrangeCorrelation.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
#include <memory>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>

Expand Down Expand Up @@ -398,9 +399,9 @@
}
}

uint16_t doCorrelation;
int mRunNumber;
int mRunNumberZorro;
uint16_t doCorrelation = 0;
int mRunNumber = -1;
int mRunNumberZorro = -1;

std::vector<std::vector<float>> axisRanges;

Expand Down Expand Up @@ -838,7 +839,7 @@
if (!isValidTrigger(trigg, triggerTrack.isLeading())) {
continue;
}
if (trackSelection.checkForITSTPCMissmatchMC && triggerTrack.mcMask() == 13) {

Check failure on line 842 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
continue;
}
float efficiencyTrigg = 1.0f;
Expand Down Expand Up @@ -1024,16 +1025,21 @@
}
std::array<double, 6> binFillThn = {deltaphi, deltaeta, ptassoc, pttrigger, pvz, mult};
if (TESTBIT(doCorrelation, Index) && (!efficiencyFlags.applyEfficiencyCorrection || efficiency != 0) && (masterConfigurations.doPPAnalysis || (TESTBIT(selMap, Index) && TESTBIT(selMap, Index + 3)))) {
if (assocCandidate.compatible(Index, trackSelection.dEdxCompatibility) && (!masterConfigurations.doMCassociation || assocCandidate.mcTrue(Index)) && (!doAssocPhysicalPrimary || assocCandidate.mcPhysicalPrimary()) && !mixing && -massWindowConfigurations.maxBgNSigma < assocCandidate.invMassNSigma(Index) && assocCandidate.invMassNSigma(Index) < -massWindowConfigurations.minBgNSigma) {
if (assocCandidate.compatible(Index, trackSelection.dEdxCompatibility) && (!masterConfigurations.doMCassociation || assocCandidate.mcTrue(Index)) && (!doAssocPhysicalPrimary || assocCandidate.mcPhysicalPrimary()) && !mixing &&
((-massWindowConfigurations.maxBgNSigma < assocCandidate.invMassNSigma(Index) && assocCandidate.invMassNSigma(Index) < -massWindowConfigurations.minBgNSigma) ||
(-massWindowConfigurations.maxPeakNSigma < assocCandidate.invMassNSigma(Index) && assocCandidate.invMassNSigma(Index) < +massWindowConfigurations.maxPeakNSigma) ||
(+massWindowConfigurations.minBgNSigma < assocCandidate.invMassNSigma(Index) && assocCandidate.invMassNSigma(Index) < +massWindowConfigurations.maxBgNSigma))) {
if (std::abs(deltaphi) < 0.5) {

Check failure on line 1032 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
histos.fill(HIST("sameEvent/") + HIST(V0names[Index]) + HIST("/hInvariantMassNearSide"), ptassoc, pttrigger, getV0InvariantMass<Index>(assoc));
histos.fill(HIST("sameEvent/InvariantMass/") + HIST(V0names[Index]) + HIST("/hNearSide"), ptassoc, pttrigger, getV0InvariantMass<Index>(assoc));
}
if (std::abs(PI - deltaphi) < 0.5) {

Check failure on line 1035 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
histos.fill(HIST("sameEvent/") + HIST(V0names[Index]) + HIST("/hInvariantMassAwaySide"), ptassoc, pttrigger, getV0InvariantMass<Index>(assoc));
histos.fill(HIST("sameEvent/InvariantMass/") + HIST(V0names[Index]) + HIST("/hAwaySide"), ptassoc, pttrigger, getV0InvariantMass<Index>(assoc));
}
if (deltaphi > 1.0 && deltaphi < 1.5) {

Check failure on line 1038 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
histos.fill(HIST("sameEvent/") + HIST(V0names[Index]) + HIST("/hInvariantMassUE"), ptassoc, pttrigger, getV0InvariantMass<Index>(assoc));
histos.fill(HIST("sameEvent/InvariantMass/") + HIST(V0names[Index]) + HIST("/hUnderlyingEvent"), ptassoc, pttrigger, getV0InvariantMass<Index>(assoc));
}
}
if (assocCandidate.compatible(Index, trackSelection.dEdxCompatibility) && (!masterConfigurations.doMCassociation || assocCandidate.mcTrue(Index)) && (!doAssocPhysicalPrimary || assocCandidate.mcPhysicalPrimary()) && !mixing && -massWindowConfigurations.maxBgNSigma < assocCandidate.invMassNSigma(Index) && assocCandidate.invMassNSigma(Index) < -massWindowConfigurations.minBgNSigma) {
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/LeftBg/") + HIST(V0names[Index])), binFillThn, etaWeight, efficiency * efficiencyTrigg, totalEffUncert, purityTrigg, purityTriggErr);
if (doDeltaPhiStarCheck) {
double deltaPhiStar = calculateAverageDeltaPhiStar(triggForDeltaPhiStar, assocForDeltaPhiStar, bField);
Expand All @@ -1053,8 +1059,8 @@
}
if (assocCandidate.compatible(Index, trackSelection.dEdxCompatibility) && (!masterConfigurations.doMCassociation || assocCandidate.mcTrue(Index)) && (!doAssocPhysicalPrimary || assocCandidate.mcPhysicalPrimary()) && !mixing && ((-massWindowConfigurations.maxPeakNSigma < assocCandidate.invMassNSigma(Index) && assocCandidate.invMassNSigma(Index) < +massWindowConfigurations.maxPeakNSigma))) {
if (masterConfigurations.doCorrelationsHadronV0daughter) {
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/Signal/") + HIST(V0names[Index]) + HIST("/hSameSign")), binFillThnSameSignDaugher, 1, 1, 1, 1, 1);
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/Signal/") + HIST(V0names[Index]) + HIST("/hOppositeSign")), binFillThnOppositeSignDaugher, 1, 1, 1, 1, 1);
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/Signal/") + HIST(V0names[Index]) + HIST("_hSameSign")), binFillThnSameSignDaugher, 1, 1, 1, 1, 1);
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/Signal/") + HIST(V0names[Index]) + HIST("_hOppositeSign")), binFillThnOppositeSignDaugher, 1, 1, 1, 1, 1);
}
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/Signal/") + HIST(V0names[Index])), binFillThn, etaWeight, efficiency * efficiencyTrigg, totalEffUncert, purityTrigg, purityTriggErr);
if (std::abs(deltaphi) < checks.towardDeltaEtaRange && doITSClustersQA) {
Expand Down Expand Up @@ -1113,8 +1119,8 @@
fillCorrelationHistogram(histos.get<THn>(HIST("mixedEvent/Signal/") + HIST(V0names[Index])), binFillThn, 1, efficiency * efficiencyTrigg, totalEffUncert, purityTrigg, purityTriggErr);
}
if (masterConfigurations.doCorrelationsHadronV0daughter) {
fillCorrelationHistogram(histos.get<THn>(HIST("mixedEvent/Signal/") + HIST(V0names[Index]) + HIST("/hSameSign")), binFillThnSameSignDaugher, 1, 1, 1, 1, 1);
fillCorrelationHistogram(histos.get<THn>(HIST("mixedEvent/Signal/") + HIST(V0names[Index]) + HIST("/hOppositeSign")), binFillThnOppositeSignDaugher, 1, 1, 1, 1, 1);
fillCorrelationHistogram(histos.get<THn>(HIST("mixedEvent/Signal/") + HIST(V0names[Index]) + HIST("_hSameSign")), binFillThnSameSignDaugher, 1, 1, 1, 1, 1);
fillCorrelationHistogram(histos.get<THn>(HIST("mixedEvent/Signal/") + HIST(V0names[Index]) + HIST("_hOppositeSign")), binFillThnOppositeSignDaugher, 1, 1, 1, 1, 1);
}
}
if (assocCandidate.compatible(Index, trackSelection.dEdxCompatibility) && (!masterConfigurations.doMCassociation || assocCandidate.mcTrue(Index)) && (!doAssocPhysicalPrimary || assocCandidate.mcPhysicalPrimary()) && mixing && +massWindowConfigurations.minBgNSigma < assocCandidate.invMassNSigma(Index) && assocCandidate.invMassNSigma(Index) < +massWindowConfigurations.maxBgNSigma) {
Expand All @@ -1134,9 +1140,9 @@
int binnumb = binMult * nBinsVtxZ + binVtxZ;
int hastirgorassoc = masterConfigurations.collisionHasTriggOrAssoc;
if ((hastirgorassoc == 1 && currentCollision.trigParticles.empty()) ||
(hastirgorassoc == 2 && currentCollision.assocParticles.empty()) ||

Check failure on line 1143 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
(hastirgorassoc == 3 && currentCollision.trigParticles.empty() && currentCollision.assocParticles.empty()) ||

Check failure on line 1144 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
(hastirgorassoc == 4 && (currentCollision.trigParticles.empty() || currentCollision.assocParticles.empty()))) {

Check failure on line 1145 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
return;
}
for (const auto& collision : validCollisions[binnumb]) {
Expand Down Expand Up @@ -1173,7 +1179,7 @@
if (Index == assoc.type && assoc.region == 1) {
fillCorrelationHistogram(histos.get<THn>(HIST("mixedEvent/Signal/") + HIST(V0names[Index])), binFillThn, 1, efficiencyTrigg * efficiencyAssoc, totalEffUncert, 1., 0.);
}
if (Index == assoc.type && assoc.region == 2) {

Check failure on line 1182 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
fillCorrelationHistogram(histos.get<THn>(HIST("mixedEvent/RightBg/") + HIST(V0names[Index])), binFillThn, 1, efficiencyTrigg * efficiencyAssoc, totalEffUncert, 1., 0.);
}
});
Expand Down Expand Up @@ -1469,7 +1475,7 @@
int binnumb = binMult * nBinsVtxZ + binVtxZ;
int hastirgorassoc = masterConfigurations.collisionHasTriggOrAssoc;
if ((hastirgorassoc == 1 && currentCollision.trigParticles.empty()) ||
(hastirgorassoc == 2 && currentCollision.assocParticles.empty()) ||

Check failure on line 1478 in PWGLF/Tasks/Strangeness/hStrangeCorrelation.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.
(hastirgorassoc == 3 && currentCollision.trigParticles.empty() && currentCollision.assocParticles.empty()) ||
(hastirgorassoc == 4 && (currentCollision.trigParticles.empty() || currentCollision.assocParticles.empty()))) {
return;
Expand Down Expand Up @@ -1706,8 +1712,6 @@
void init(InitContext const&)
{
zorroSummary.setObject(zorro.getZorroSummary());
mRunNumber = 0;
mRunNumberZorro = 0;
hEfficiencyPion = nullptr;
hEfficiencyK0Short = nullptr;
hEfficiencyLambda = nullptr;
Expand Down Expand Up @@ -2065,31 +2069,18 @@
histos.addClone("sameEvent/Signal/", "sameEvent/RightBg/");
}

if (masterConfigurations.doFullCorrelationStudy && doprocessSameEventHV0s) {
if (masterConfigurations.doFullCorrelationStudy && doprocessSameEventHV0s && masterConfigurations.doCorrelationsHadronV0daughter) {
if (TESTBIT(doCorrelation, 0)) {
histos.add("sameEvent/K0Short/hInvariantMassNearSide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisK0ShortMass});
histos.add("sameEvent/K0Short/hInvariantMassAwaySide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisK0ShortMass});
histos.add("sameEvent/K0Short/hInvariantMassUE", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisK0ShortMass});
if (masterConfigurations.doCorrelationsHadronV0daughter) {
histos.add("sameEvent/Signal/K0Short/hSameSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
histos.add("sameEvent/Signal/K0Short/hOppositeSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
}
histos.add("sameEvent/Signal/K0Short_hSameSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
histos.add("sameEvent/Signal/K0Short_hOppositeSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
}
if (TESTBIT(doCorrelation, 1)) {
histos.add("sameEvent/Lambda/hInvariantMassNearSide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
histos.add("sameEvent/Lambda/hInvariantMassAwaySide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
histos.add("sameEvent/Lambda/hInvariantMassUE", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
if (masterConfigurations.doCorrelationsHadronV0daughter) {
histos.add("sameEvent/Signal/Lambda/hSameSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
histos.add("sameEvent/Signal/Lambda/hOppositeSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
}
histos.add("sameEvent/Signal/Lambda_hSameSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
histos.add("sameEvent/Signal/Lambda_hOppositeSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
}
if (TESTBIT(doCorrelation, 2)) {
histos.addClone("sameEvent/Lambda/", "sameEvent/AntiLambda/");
if (masterConfigurations.doCorrelationsHadronV0daughter) {
histos.add("sameEvent/Signal/AntiLambda/hSameSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
histos.add("sameEvent/Signal/AntiLambda/hOppositeSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
}
histos.add("sameEvent/Signal/AntiLambda_hSameSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
histos.add("sameEvent/Signal/AntiLambda_hOppositeSign", "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
}
}
if (TESTBIT(doCorrelation, 0) && doprocessSameEventHV0s && masterConfigurations.doMassSpectrumCheck) {
Expand All @@ -2106,6 +2097,23 @@
if ((doprocessMixedEventHV0sInBuffer || doprocessMixedEventHCascadesInBuffer || doprocessMixedEventHV0s || doprocessMixedEventHCascades || doprocessMixedEventHPions || doprocessMixedEventHHadrons) && masterConfigurations.doFullCorrelationStudy) {
histos.addClone("sameEvent/", "mixedEvent/");
}
if (masterConfigurations.doFullCorrelationStudy && doprocessSameEventHV0s) {
if (TESTBIT(doCorrelation, 0)) {
histos.add("sameEvent/InvariantMass/K0Short/hNearSide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisK0ShortMass});
histos.add("sameEvent/InvariantMass/K0Short/hAwaySide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisK0ShortMass});
histos.add("sameEvent/InvariantMass/K0Short/hUnderlyingEvent", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisK0ShortMass});
}
if (TESTBIT(doCorrelation, 1)) {
histos.add("sameEvent/InvariantMass/Lambda/hNearSide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
histos.add("sameEvent/InvariantMass/Lambda/hAwaySide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
histos.add("sameEvent/InvariantMass/Lambda/hUnderlyingEvent", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
}
if (TESTBIT(doCorrelation, 2)) {
histos.add("sameEvent/InvariantMass/AntiLambda/hNearSide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
histos.add("sameEvent/InvariantMass/AntiLambda/hAwaySide", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
histos.add("sameEvent/InvariantMass/AntiLambda/hUnderlyingEvent", "", kTH3F, {axesConfigurations.axisPtAssoc, axesConfigurations.axisPtTrigger, axesConfigurations.axisLambdaMass});
}
}
if (doprocessSameEventHHadrons && masterConfigurations.doFullCorrelationStudy) {
histos.add("sameEvent/TriggerParticlesHadron", "TriggersHadron", kTH2F, {axesConfigurations.axisPtQA, axesConfigurations.axisMult});
}
Expand Down
Loading