Skip to content

Commit d4611ca

Browse files
authored
Add files via upload
1 parent 1ee4cc6 commit d4611ca

1 file changed

Lines changed: 31 additions & 33 deletions

File tree

PWGLF/Tasks/Strangeness/hStrangeCorrelation.cxx

Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ struct HStrangeCorrelation {
127127
Configurable<bool> doSeparateFT0Prediction{"doSeparateFT0Prediction", false, "separate FT0M to FT0A and FT0C in prediction process"};
128128
Configurable<bool> useCentralityinPrediction{"useCentralityinPrediction", false, "if true, use centrality instead of multiplisity"};
129129
Configurable<bool> doMirroringInDelataEta{"doMirroringInDelataEta", false, "if true, fill only positive delta eta and mirror the negative side in post processing, Adjust the delta axis!"};
130-
Configurable<bool> fillCorrelationHistWithMass{"fillCorrelationHistWithMass", false, "if true, fill correlation histograms with particle mass"};
131130
Configurable<bool> doMassSpectrumCheck{"doMassSpectrumCheck", false, "if true, add and fill invariant-mass spectrum"};
132131
} masterConfigurations;
133132

@@ -943,7 +942,7 @@ struct HStrangeCorrelation {
943942

944943
double binFillThn[6] = {deltaphi, deltaeta, ptassoc, pttrigger, pvz, mult};
945944
if (TESTBIT(doCorrelation, Index) && (!efficiencyFlags.applyEfficiencyCorrection || efficiency != 0) && (masterConfigurations.doPPAnalysis || (TESTBIT(selMap, Index) && TESTBIT(selMap, Index + 3)))) {
946-
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 && !masterConfigurations.fillCorrelationHistWithMass) {
945+
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) {
947946
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/LeftBg/") + HIST(V0names[Index])), binFillThn, etaWeight, efficiency * efficiencyTrigg, totalEffUncert, purityTrigg, purityTriggErr);
948947
if (doDeltaPhiStarCheck) {
949948
double deltaPhiStar = calculateAverageDeltaPhiStar(triggForDeltaPhiStar, assocForDeltaPhiStar, bField);
@@ -961,10 +960,7 @@ struct HStrangeCorrelation {
961960
}
962961
}
963962
}
964-
if (assocCandidate.compatible(Index, trackSelection.dEdxCompatibility) && (!masterConfigurations.doMCassociation || assocCandidate.mcTrue(Index)) && (!doAssocPhysicalPrimary || assocCandidate.mcPhysicalPrimary()) && !mixing && (masterConfigurations.fillCorrelationHistWithMass || (-massWindowConfigurations.maxPeakNSigma < assocCandidate.invMassNSigma(Index) && assocCandidate.invMassNSigma(Index) < +massWindowConfigurations.maxPeakNSigma))) {
965-
if (masterConfigurations.fillCorrelationHistWithMass) {
966-
binFillThn[1] = getV0InvariantMass<Index>(assoc);
967-
}
963+
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) {
968964
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/Signal/") + HIST(V0names[Index])), binFillThn, etaWeight, efficiency * efficiencyTrigg, totalEffUncert, purityTrigg, purityTriggErr);
969965
if (std::abs(deltaphi) < checks.towardDeltaEtaRange && doITSClustersQA) {
970966
histos.fill(HIST("hITSClusters") + HIST(V0names[Index]) + HIST("NegativeDaughterToward"), ptassoc, negtrack.itsNCls(), assoc.v0radius());
@@ -990,7 +986,7 @@ struct HStrangeCorrelation {
990986
}
991987
}
992988
}
993-
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 && !masterConfigurations.fillCorrelationHistWithMass) {
989+
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) {
994990
fillCorrelationHistogram(histos.get<THn>(HIST("sameEvent/RightBg/") + HIST(V0names[Index])), binFillThn, etaWeight, efficiency * efficiencyTrigg, totalEffUncert, purityTrigg, purityTriggErr);
995991
if (doDeltaPhiStarCheck) {
996992
double deltaPhiStar = calculateAverageDeltaPhiStar(triggForDeltaPhiStar, assocForDeltaPhiStar, bField);
@@ -1858,16 +1854,10 @@ struct HStrangeCorrelation {
18581854
histos.add("EventQA/hPvz", ";pvz;Entries", kTH1F, {{30, -15, 15}});
18591855
histos.add("EventQA/hMultFT0vsTPC", ";centFT0M;multNTracksPVeta1", kTH2F, {{100, 0, 100}, {300, 0, 300}});
18601856
}
1861-
if (masterConfigurations.doFullCorrelationStudy && masterConfigurations.fillCorrelationHistWithMass) {
1862-
histos.add("sameEvent/Signal/K0Short", "", kTHnF, {axisDeltaPhiNDim, axesConfigurations.axisK0ShortMass, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
1863-
histos.add("sameEvent/Signal/Lambda", "", kTHnF, {axisDeltaPhiNDim, axesConfigurations.axisLambdaMass, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
1864-
histos.add("sameEvent/Signal/AntiLambda", "", kTHnF, {axisDeltaPhiNDim, axesConfigurations.axisLambdaMass, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
1865-
}
1866-
18671857
bool hStrange = false;
18681858
for (int i = 0; i < AssocParticleTypes; i++) {
18691859
if (TESTBIT(doCorrelation, i)) {
1870-
if (masterConfigurations.doFullCorrelationStudy && !masterConfigurations.fillCorrelationHistWithMass)
1860+
if (masterConfigurations.doFullCorrelationStudy)
18711861
histos.add(fmt::format("sameEvent/Signal/{}", Particlenames[i]).c_str(), "", kTHnF, {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
18721862
if (doDeltaPhiStarCheck && masterConfigurations.doFullCorrelationStudy) {
18731863
histos.add(fmt::format("sameEvent/Signal/{}DeltaPhiStar", Particlenames[i]).c_str(), "", kTH3F, {{100, -0.3, 0.3}, {50, -0.05, 0.05}, {2, -1, 1}}); // -1 oposite charge, 1 same charge
@@ -1905,7 +1895,7 @@ struct HStrangeCorrelation {
19051895
histos.add("hAssocPtResolution", ";p_{T}^{reconstructed} (GeV/c); p_{T}^{generated} (GeV/c)", kTH2F, {axesConfigurations.axisPtQA, axesConfigurations.axisPtQA});
19061896
}
19071897

1908-
if (hStrange && masterConfigurations.doFullCorrelationStudy && !masterConfigurations.fillCorrelationHistWithMass) {
1898+
if (hStrange && masterConfigurations.doFullCorrelationStudy) {
19091899
histos.addClone("sameEvent/Signal/", "sameEvent/LeftBg/");
19101900
histos.addClone("sameEvent/Signal/", "sameEvent/RightBg/");
19111901
}
@@ -3052,7 +3042,7 @@ struct HStrangeCorrelation {
30523042
});
30533043
}
30543044
}
3055-
void processClosureTest(aod::McCollision const& /*mcCollision*/, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults>> const& recCollisions, aod::McParticles const& mcParticles)
3045+
void processClosureTest(aod::McCollision const& /*mcCollision*/, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::CentFT0Cs, aod::PVMults>> const& recCollisions, aod::McParticles const& mcParticles)
30563046
{
30573047

30583048
std::vector<uint32_t> triggerIndices;
@@ -3088,20 +3078,25 @@ struct HStrangeCorrelation {
30883078

30893079
histos.fill(HIST("hClosureTestEventCounter"), 0.5f);
30903080

3091-
int bestCollisionFT0Mpercentile = -1;
3081+
int bestCollisionCentpercentile = -1;
30923082
float bestCollisionVtxZ = 0.0f;
30933083
bool bestCollisionSel8 = false;
30943084
bool bestCollisionINELgtZERO = false;
3085+
bool isCollisionSelect = false;
30953086
int biggestNContribs = -1;
30963087
uint32_t bestCollisionTriggerPresenceMap = 0;
30973088

30983089
for (auto const& recCollision : recCollisions) {
30993090
if (biggestNContribs < recCollision.numContrib()) {
31003091
biggestNContribs = recCollision.numContrib();
3101-
bestCollisionFT0Mpercentile = recCollision.centFT0M();
3102-
bestCollisionSel8 = recCollision.sel8();
3103-
bestCollisionVtxZ = recCollision.posZ();
3104-
bestCollisionINELgtZERO = recCollision.isInelGt0();
3092+
bestCollisionCentpercentile = masterConfigurations.doPPAnalysis ? recCollision.centFT0M() : recCollision.centFT0C();
3093+
if (masterConfigurations.applyNewMCSelection) {
3094+
isCollisionSelect = ((masterConfigurations.doPPAnalysis && isCollisionSelected(recCollision)) || (!masterConfigurations.doPPAnalysis && isCollisionSelectedPbPb(recCollision, false)));
3095+
} else {
3096+
bestCollisionSel8 = recCollision.sel8();
3097+
bestCollisionVtxZ = recCollision.posZ();
3098+
bestCollisionINELgtZERO = recCollision.isInelGt0();
3099+
}
31053100
if (triggerPresenceMap.size() > 0)
31063101
bestCollisionTriggerPresenceMap = triggerPresenceMap[recCollision.globalIndex()];
31073102
}
@@ -3111,19 +3106,22 @@ struct HStrangeCorrelation {
31113106
if (triggerPresenceMap.size() > 0 && !TESTBIT(bestCollisionTriggerPresenceMap, triggerBinToSelect)) {
31123107
return;
31133108
}
3114-
3115-
if (masterConfigurations.doGenEventSelection) {
3116-
if (!bestCollisionSel8)
3117-
return;
3118-
if (std::abs(bestCollisionVtxZ) > masterConfigurations.zVertexCut)
3119-
return;
3120-
if (!bestCollisionINELgtZERO)
3121-
return;
3122-
if (bestCollisionFT0Mpercentile > axisRanges[5][1] || bestCollisionFT0Mpercentile < axisRanges[5][0]) {
3109+
if (masterConfigurations.applyNewMCSelection) {
3110+
if (!isCollisionSelect)
31233111
return;
3112+
} else {
3113+
if (masterConfigurations.doGenEventSelection) {
3114+
if (!bestCollisionSel8)
3115+
return;
3116+
if (std::abs(bestCollisionVtxZ) > masterConfigurations.zVertexCut)
3117+
return;
3118+
if (!bestCollisionINELgtZERO)
3119+
return;
3120+
if (bestCollisionCentpercentile > axisRanges[5][1] || bestCollisionCentpercentile < axisRanges[5][0]) {
3121+
return;
3122+
}
31243123
}
31253124
}
3126-
31273125
histos.fill(HIST("hClosureTestEventCounter"), 1.5f);
31283126

31293127
for (auto const& mcParticle : mcParticles) {
@@ -3157,7 +3155,7 @@ struct HStrangeCorrelation {
31573155
if (std::abs(mcParticle.pdgCode()) == PDG_t::kPiPlus || std::abs(mcParticle.pdgCode()) == PDG_t::kKPlus || std::abs(mcParticle.pdgCode()) == PDG_t::kProton || std::abs(mcParticle.pdgCode()) == PDG_t::kElectron || std::abs(mcParticle.pdgCode()) == PDG_t::kMuonMinus) {
31583156
if (!masterConfigurations.doTriggPhysicalPrimary || mcParticle.isPhysicalPrimary()) {
31593157
triggerIndices.emplace_back(iteratorNum);
3160-
histos.fill(HIST("ClosureTest/hTrigger"), gpt, geta, bestCollisionFT0Mpercentile);
3158+
histos.fill(HIST("ClosureTest/hTrigger"), gpt, geta, bestCollisionCentpercentile);
31613159
}
31623160
if (masterConfigurations.doCorrelationHadron) {
31633161
if (!doAssocPhysicalPrimary || mcParticle.isPhysicalPrimary()) {
@@ -3242,7 +3240,7 @@ struct HStrangeCorrelation {
32423240
if (ptassoc < axisRanges[2][0] || ptassoc > axisRanges[2][1])
32433241
continue;
32443242
if (TESTBIT(doCorrelation, i))
3245-
histos.fill(HIST("ClosureTest/sameEvent/") + HIST(Particlenames[Index]), computeDeltaPhi(gphitrigger, gphiassoc), deltaeta, ptassoc, pttrigger, bestCollisionVtxZ, bestCollisionFT0Mpercentile);
3243+
histos.fill(HIST("ClosureTest/sameEvent/") + HIST(Particlenames[Index]), computeDeltaPhi(gphitrigger, gphiassoc), deltaeta, ptassoc, pttrigger, bestCollisionVtxZ, bestCollisionCentpercentile);
32463244
}
32473245
}
32483246
});

0 commit comments

Comments
 (0)