@@ -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