diff --git a/PWGCF/MultiparticleCorrelations/Tasks/multiparticleCumulants.cxx b/PWGCF/MultiparticleCorrelations/Tasks/multiparticleCumulants.cxx index ff637d76aa7..4ea562dd5b0 100644 --- a/PWGCF/MultiparticleCorrelations/Tasks/multiparticleCumulants.cxx +++ b/PWGCF/MultiparticleCorrelations/Tasks/multiparticleCumulants.cxx @@ -230,6 +230,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam Configurable cfCentCutSwitch{"cfCentCutSwitch", true, "centrality cut switch"}; Configurable cfNumContribCutSwitch{"cfNumContribCutSwitch", true, "NContribution cut switch"}; Configurable cfNumTrackCutSwitch{"cfNumTrackCutSwitch", true, "NTrack cut switch"}; + Configurable cfOccupancyCutSwitch{"cfOccupancyCutSwitch", true, "occupancy cut switch"}; Configurable cfCentCorrCutSwitch{"cfCentCorrCutSwitch", true, "centrality correlation outlier cut switch"}; Configurable cfMultCorrCutSwitch{"cfMultCorrCutSwitch", true, "multiplicity correlation outlier cut switch"}; Configurable cfNumContribMultCorrCutSwitch{"cfNumContribMultCorrCutSwitch", true, "NContribution vs. multiplicity correlation outlier cut switch"}; @@ -248,6 +249,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam Configurable> cfCentCut{"cfCentCut", {10., 20.}, "centrality range: {min, max}[%]"}; Configurable> cfNumContribCut{"cfNumContribCut", {0, 3000.}, "NContribution range: {min, max}"}; Configurable> cfNumTrackCut{"cfNumTrackCut", {0, 3000.}, "NTrack range: {min, max}"}; + Configurable> cfOccupancyCut{"cfOccupancyCut", {0, 6000.}, "Occupancy range: {min, max}"}; Configurable> cfCentABCorrCut{"cfCentABCorrCut", {1.4, 300., 1.4, 300.}, "parameters of limits in FT0C vs. FT0M centrality 2D histograms, cx+d < y < ax+b: {a,b,c,d}"}; Configurable> cfCentACCorrCut{"cfCentACCorrCut", {1.4, 300., 1.4, 300.}, "parameters of limits in FT0C vs. FT0M centrality 2D histograms, cx+d < y < ax+b: {a,b,c,d}"}; Configurable> cfCentBCCorrCut{"cfCentBCCorrCut", {1.4, 300., 1.4, 300.}, "parameters of limits in FT0C vs. FT0M centrality 2D histograms, cx+d < y < ax+b: {a,b,c,d}"}; @@ -302,6 +304,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam bool fCentCutSwitch = true; bool fNumContribCutSwitch = true; bool fNumTrackCutSwitch = true; + bool fOccupancyCutSwitch = true; bool fCentCorrCutSwitch = true; bool fMultCorrCutSwitch = true; bool fNumContribMultCorrCutSwitch = true; @@ -318,6 +321,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam std::vector fCentCut = {10., 20.}; std::vector fNumContribCut = {0, 3000.}; std::vector fNumTrackCut = {0, 350.}; + std::vector fOccupancyCut = {0, 6000.}; std::vector>> fCentAllCorrCut = {{{0., 0., 0., 0.}, {0., 0., 0., 0.}, {0., 0., 0., 0.}}, {{0., 0., 0., 0.}, {0., 0., 0., 0.}, {0., 0., 0., 0.}}, {{0., 0., 0., 0.}, {0., 0., 0., 0.}, {0., 0., 0., 0.}}}; std::vector>> fMultAllCorrCut = {{{0., 0., 0., 0.}, {0., 0., 0., 0.}, {0., 0., 0., 0.}}, {{0., 0., 0., 0.}, {0., 0., 0., 0.}, {0., 0., 0., 0.}}, {{0., 0., 0., 0.}, {0., 0., 0., 0.}, {0., 0., 0., 0.}}}; std::vector fNumContribMultCorrCut = {0.024, -600., 0.035, 100.}; @@ -455,6 +459,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam bool bSel8Cut = true; bool bCentCut = true; bool bNumContribCut = true; + bool bNumOccupancyCut = true; bool bCentCorrCut = true; bool bMultCorrCut = true; bool bNumContribMultCorrCut = true; @@ -481,6 +486,9 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam // *) NumContribCut bNumContribCut = ebye.fNumContrib < tc.fNumContribCut[1] && ebye.fNumContrib > tc.fNumContribCut[0]; + // *) NumOccupancyCut + bNumOccupancyCut = collision.trackOccupancyInTimeRange() < tc.fOccupancyCut[1] && + collision.trackOccupancyInTimeRange() > tc.fOccupancyCut[0]; // *) CentCorrCut float iCent = 0.; float jCent = 0.; @@ -538,6 +546,9 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam if (tc.fNumContribCutSwitch) { pass &= bNumContribCut; } + if (tc.fOccupancyCutSwitch) { + pass &= bNumOccupancyCut; + } if (tc.fCentCorrCutSwitch) { pass &= bCentCorrCut; } @@ -1405,11 +1416,13 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam double diffPtMax = (tc.fPtBins[2] - tc.fPtBins[1]) / tc.fPtBins[0]; if (diffPt < diffPtMax) { wt.fPtMCByRunMap.at(ebye.fRunNumber)->Fill(mcparticle.pt()); - } else { - if (tc.fPrintSwitch) { - LOGF(info, "|RecPt - SimPt| = %e > %e", diffPt, diffPtMax); - } } + // else { + // if (tc.fPrintSwitch) { + // LOGF(info, "|RecPt - SimPt| = %e > %e", diffPt, diffPtMax); + // } + // } + // Fill MC particle histograms after cut: pc.fParticleHistograms[ePt][eSim][eAfter]->Fill(mcparticle.pt()); pc.fParticleHistograms[ePhi][eSim][eAfter]->Fill(mcparticle.phi()); @@ -1423,6 +1436,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam ev.fEventHistograms[eNumTrack][eRec][eBefore]->Fill(nTracksBefore); ev.fEventHistograms[eNumTrack][eRec][eAfter]->Fill(nTracksAfter); bool bNumTrackCut = nTracksAfter > tc.fNumTrackCut[0] && nTracksAfter < tc.fNumTrackCut[1]; + // LOGF(info, "nTracksAfter = %d", nTracksAfter); // 2-p correlations: for (int i = 0; i < NumTwoPCorrBins; i++) { @@ -1560,7 +1574,6 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam double wFourRecursionAfter = mccRecursion(4, harmonicsFourDen, eAfter).Re(); ebye.fFourParticleCorrelationEbye[eAfter][i] = fourRecursionAfter.Re(); - // LOGF(info, "nTracksAfter = %d", nTracksAfter); if (nTracksAfter > k - 1 && wFourRecursionAfter > 0. && bNumTrackCut) { // Fill vn^2vm^2 profile and histogram: mc.fFourParticleCorrelationProfiles[eAfter]->Fill(mc.fFourParticleCorrelationProfiles[eAfter]->GetXaxis()->GetBinCenter(i + 1), ebye.fFourParticleCorrelationEbye[eAfter][i], wFourRecursionAfter); @@ -1971,6 +1984,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam tc.fCentCutSwitch = cfCentCutSwitch; tc.fNumContribCutSwitch = cfNumContribCutSwitch; tc.fNumTrackCutSwitch = cfNumTrackCutSwitch; + tc.fOccupancyCutSwitch = cfOccupancyCutSwitch; tc.fCentCorrCutSwitch = cfCentCorrCutSwitch; tc.fMultCorrCutSwitch = cfMultCorrCutSwitch; tc.fNumContribMultCorrCutSwitch = cfNumContribMultCorrCutSwitch; @@ -1987,6 +2001,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam tc.fCentCut = cfCentCut; tc.fNumContribCut = cfNumContribCut; tc.fNumTrackCut = cfNumTrackCut; + tc.fOccupancyCut = cfOccupancyCut; tc.fCentAllCorrCut[0][1] = cfCentABCorrCut; tc.fCentAllCorrCut[0][2] = cfCentACCorrCut; tc.fCentAllCorrCut[1][2] = cfCentBCCorrCut;