Skip to content

Commit 42ab576

Browse files
pykuanPei-Ying Kuan
andauthored
[PWGCF] add occupancy cut for MC data (#18428)
Co-authored-by: Pei-Ying Kuan <pei-ying.kuan@cern.ch>
1 parent a2758f4 commit 42ab576

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

‎PWGCF/MultiparticleCorrelations/Tasks/multiparticleCumulants.cxx‎

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
230230
Configurable<bool> cfCentCutSwitch{"cfCentCutSwitch", true, "centrality cut switch"};
231231
Configurable<bool> cfNumContribCutSwitch{"cfNumContribCutSwitch", true, "NContribution cut switch"};
232232
Configurable<bool> cfNumTrackCutSwitch{"cfNumTrackCutSwitch", true, "NTrack cut switch"};
233+
Configurable<bool> cfOccupancyCutSwitch{"cfOccupancyCutSwitch", true, "occupancy cut switch"};
233234
Configurable<bool> cfCentCorrCutSwitch{"cfCentCorrCutSwitch", true, "centrality correlation outlier cut switch"};
234235
Configurable<bool> cfMultCorrCutSwitch{"cfMultCorrCutSwitch", true, "multiplicity correlation outlier cut switch"};
235236
Configurable<bool> 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
248249
Configurable<std::vector<float>> cfCentCut{"cfCentCut", {10., 20.}, "centrality range: {min, max}[%]"};
249250
Configurable<std::vector<float>> cfNumContribCut{"cfNumContribCut", {0, 3000.}, "NContribution range: {min, max}"};
250251
Configurable<std::vector<float>> cfNumTrackCut{"cfNumTrackCut", {0, 3000.}, "NTrack range: {min, max}"};
252+
Configurable<std::vector<float>> cfOccupancyCut{"cfOccupancyCut", {0, 6000.}, "Occupancy range: {min, max}"};
251253
Configurable<std::vector<float>> 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}"};
252254
Configurable<std::vector<float>> 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}"};
253255
Configurable<std::vector<float>> 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
302304
bool fCentCutSwitch = true;
303305
bool fNumContribCutSwitch = true;
304306
bool fNumTrackCutSwitch = true;
307+
bool fOccupancyCutSwitch = true;
305308
bool fCentCorrCutSwitch = true;
306309
bool fMultCorrCutSwitch = true;
307310
bool fNumContribMultCorrCutSwitch = true;
@@ -318,6 +321,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
318321
std::vector<float> fCentCut = {10., 20.};
319322
std::vector<float> fNumContribCut = {0, 3000.};
320323
std::vector<float> fNumTrackCut = {0, 350.};
324+
std::vector<float> fOccupancyCut = {0, 6000.};
321325
std::vector<std::vector<std::vector<float>>> 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.}}};
322326
std::vector<std::vector<std::vector<float>>> 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.}}};
323327
std::vector<float> fNumContribMultCorrCut = {0.024, -600., 0.035, 100.};
@@ -455,6 +459,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
455459
bool bSel8Cut = true;
456460
bool bCentCut = true;
457461
bool bNumContribCut = true;
462+
bool bNumOccupancyCut = true;
458463
bool bCentCorrCut = true;
459464
bool bMultCorrCut = true;
460465
bool bNumContribMultCorrCut = true;
@@ -481,6 +486,9 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
481486
// *) NumContribCut
482487
bNumContribCut = ebye.fNumContrib < tc.fNumContribCut[1] &&
483488
ebye.fNumContrib > tc.fNumContribCut[0];
489+
// *) NumOccupancyCut
490+
bNumOccupancyCut = collision.trackOccupancyInTimeRange() < tc.fOccupancyCut[1] &&
491+
collision.trackOccupancyInTimeRange() > tc.fOccupancyCut[0];
484492
// *) CentCorrCut
485493
float iCent = 0.;
486494
float jCent = 0.;
@@ -538,6 +546,9 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
538546
if (tc.fNumContribCutSwitch) {
539547
pass &= bNumContribCut;
540548
}
549+
if (tc.fOccupancyCutSwitch) {
550+
pass &= bNumOccupancyCut;
551+
}
541552
if (tc.fCentCorrCutSwitch) {
542553
pass &= bCentCorrCut;
543554
}
@@ -1405,11 +1416,13 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
14051416
double diffPtMax = (tc.fPtBins[2] - tc.fPtBins[1]) / tc.fPtBins[0];
14061417
if (diffPt < diffPtMax) {
14071418
wt.fPtMCByRunMap.at(ebye.fRunNumber)->Fill(mcparticle.pt());
1408-
} else {
1409-
if (tc.fPrintSwitch) {
1410-
LOGF(info, "|RecPt - SimPt| = %e > %e", diffPt, diffPtMax);
1411-
}
14121419
}
1420+
// else {
1421+
// if (tc.fPrintSwitch) {
1422+
// LOGF(info, "|RecPt - SimPt| = %e > %e", diffPt, diffPtMax);
1423+
// }
1424+
// }
1425+
14131426
// Fill MC particle histograms after cut:
14141427
pc.fParticleHistograms[ePt][eSim][eAfter]->Fill(mcparticle.pt());
14151428
pc.fParticleHistograms[ePhi][eSim][eAfter]->Fill(mcparticle.phi());
@@ -1423,6 +1436,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
14231436
ev.fEventHistograms[eNumTrack][eRec][eBefore]->Fill(nTracksBefore);
14241437
ev.fEventHistograms[eNumTrack][eRec][eAfter]->Fill(nTracksAfter);
14251438
bool bNumTrackCut = nTracksAfter > tc.fNumTrackCut[0] && nTracksAfter < tc.fNumTrackCut[1];
1439+
// LOGF(info, "nTracksAfter = %d", nTracksAfter);
14261440

14271441
// 2-p correlations:
14281442
for (int i = 0; i < NumTwoPCorrBins; i++) {
@@ -1560,7 +1574,6 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
15601574
double wFourRecursionAfter = mccRecursion(4, harmonicsFourDen, eAfter).Re();
15611575
ebye.fFourParticleCorrelationEbye[eAfter][i] = fourRecursionAfter.Re();
15621576

1563-
// LOGF(info, "nTracksAfter = %d", nTracksAfter);
15641577
if (nTracksAfter > k - 1 && wFourRecursionAfter > 0. && bNumTrackCut) {
15651578
// Fill vn^2vm^2 profile and histogram:
15661579
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
19711984
tc.fCentCutSwitch = cfCentCutSwitch;
19721985
tc.fNumContribCutSwitch = cfNumContribCutSwitch;
19731986
tc.fNumTrackCutSwitch = cfNumTrackCutSwitch;
1987+
tc.fOccupancyCutSwitch = cfOccupancyCutSwitch;
19741988
tc.fCentCorrCutSwitch = cfCentCorrCutSwitch;
19751989
tc.fMultCorrCutSwitch = cfMultCorrCutSwitch;
19761990
tc.fNumContribMultCorrCutSwitch = cfNumContribMultCorrCutSwitch;
@@ -1987,6 +2001,7 @@ struct MultiparticleCumulants { // this name is used in lower-case format to nam
19872001
tc.fCentCut = cfCentCut;
19882002
tc.fNumContribCut = cfNumContribCut;
19892003
tc.fNumTrackCut = cfNumTrackCut;
2004+
tc.fOccupancyCut = cfOccupancyCut;
19902005
tc.fCentAllCorrCut[0][1] = cfCentABCorrCut;
19912006
tc.fCentAllCorrCut[0][2] = cfCentACCorrCut;
19922007
tc.fCentAllCorrCut[1][2] = cfCentBCCorrCut;

0 commit comments

Comments
 (0)