Skip to content

Commit b0822a8

Browse files
JStaaalibuild
andauthored
[PWGCF] Changed the implementation of the occupancy cut (#13863)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 1aa4d97 commit b0822a8

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

PWGCF/MultiparticleCorrelations/Tasks/threeParticleCorrelations.cxx

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ struct ThreeParticleCorrelations {
5858
Configurable<float> zvtxMax{"zvtxMax", 10.0, "Maximum collision Z-vertex position (cm)"};
5959
Configurable<int> occupMin{"occupMin", 0, "Minimum collision occupancy"};
6060
Configurable<int> occupMax{"occupMax", 15000, "Maximum collision occupancy"};
61+
Configurable<bool> useOccupCut{"useOccupCut", true, "Use the kNoCollInTimeRangeStandard cut"};
6162
} evSelGroup;
6263

6364
// V0 filter parameters
@@ -96,7 +97,8 @@ struct ThreeParticleCorrelations {
9697
Filter collCent = aod::cent::centFT0C > centMin&& aod::cent::centFT0C < centMax;
9798
Filter collZvtx = nabs(aod::collision::posZ) < evSelGroup.zvtxMax;
9899
Filter mcCollZvtx = nabs(aod::mccollision::posZ) < evSelGroup.zvtxMax;
99-
Filter evSelect = aod::evsel::sel8 == true;
100+
Filter evSel8 = aod::evsel::sel8 == true;
101+
Filter evSelOccup = o2::aod::evsel::trackOccupancyInTimeRange >= evSelGroup.occupMin && o2::aod::evsel::trackOccupancyInTimeRange < evSelGroup.occupMax;
100102

101103
// Track filters
102104
Filter trackPt = aod::track::pt > trackPtMin&& aod::track::pt < trackPtMax;
@@ -204,7 +206,7 @@ struct ThreeParticleCorrelations {
204206
rQARegistry.get<TH1>(HIST("hNEvents"))->GetXaxis()->SetBinLabel(1, "All");
205207
rQARegistry.get<TH1>(HIST("hNEvents"))->GetXaxis()->SetBinLabel(2, "kIsGoodZvtxFT0vsPV");
206208
rQARegistry.get<TH1>(HIST("hNEvents"))->GetXaxis()->SetBinLabel(3, "kNoSameBunchPileup");
207-
rQARegistry.get<TH1>(HIST("hNEvents"))->GetXaxis()->SetBinLabel(4, Form("%i < Occupancy < %i", static_cast<int>(evSelGroup.occupMin), static_cast<int>(evSelGroup.occupMax)));
209+
rQARegistry.get<TH1>(HIST("hNEvents"))->GetXaxis()->SetBinLabel(4, Form("[%i < Occupancy < %i)", static_cast<int>(evSelGroup.occupMin), static_cast<int>(evSelGroup.occupMax)));
208210
rQARegistry.get<TH1>(HIST("hNEvents"))->GetXaxis()->SetBinLabel(5, "kNoCollInTimeRangeStandard");
209211

210212
rQARegistry.add("hEventCentrality", "hEventCentrality", {HistType::kTH1D, {{fineCentralityAxis}}});
@@ -377,7 +379,6 @@ struct ThreeParticleCorrelations {
377379
void processSame(MyFilteredCollision const& collision, aod::V0Datas const& v0s, MyFilteredTracks const& tracks, aod::BCsWithTimestamps const&)
378380
{
379381

380-
rQARegistry.fill(HIST("hEventOccupancy"), collision.trackOccupancyInTimeRange());
381382
if (!acceptEvent(collision, true)) {
382383
return;
383384
}
@@ -392,6 +393,7 @@ struct ThreeParticleCorrelations {
392393

393394
rQARegistry.fill(HIST("hEventCentrality"), collision.centFT0C());
394395
rQARegistry.fill(HIST("hEventZvtx"), collision.posZ());
396+
rQARegistry.fill(HIST("hEventOccupancy"), collision.trackOccupancyInTimeRange());
395397
rQARegistry.fill(HIST("hEventBfield"), bField);
396398

397399
// Start of the Track QA
@@ -514,15 +516,18 @@ struct ThreeParticleCorrelations {
514516

515517
// Start of the Mixed-Event correlations
516518
for (const auto& [coll_1, v0_1, coll_2, track_2] : pairData) {
517-
if (!acceptEvent(coll_1, false) || !acceptEvent(coll_2, false)) {
518-
return;
519+
if (!acceptEvent(coll_1, false)) {
520+
continue;
521+
}
522+
if (!acceptEvent(coll_2, false)) {
523+
continue;
519524
}
520525

521526
auto bc = coll_1.bc_as<aod::BCsWithTimestamps>();
522527
auto bField = getMagneticField(bc.timestamp());
523528
if (switchGroup.confBfieldSwitch != 0) {
524529
if (std::signbit(static_cast<double>(switchGroup.confBfieldSwitch)) != std::signbit(bField)) {
525-
return;
530+
continue;
526531
}
527532
}
528533

@@ -669,12 +674,12 @@ struct ThreeParticleCorrelations {
669674
if (recCollsA1.size() == 1 && recCollsA2.size() == 1) {
670675
for (const auto& recColl_1 : recCollsA1) {
671676
if (!acceptEvent(recColl_1, false)) {
672-
return;
677+
continue;
673678
}
674679
}
675680
for (const auto& recColl_2 : recCollsA2) {
676681
if (!acceptEvent(recColl_2, false)) {
677-
return;
682+
continue;
678683
}
679684
}
680685
}
@@ -1024,19 +1029,13 @@ struct ThreeParticleCorrelations {
10241029
rQARegistry.fill(HIST("hNEvents"), 2.5);
10251030
}
10261031

1027-
int occupEstim = col.trackOccupancyInTimeRange();
1028-
if (occupEstim <= evSelGroup.occupMin || occupEstim >= evSelGroup.occupMax) { // Occupancy window
1029-
return false;
1030-
}
1031-
if (FillHist) {
1032-
rQARegistry.fill(HIST("hNEvents"), 3.5);
1033-
}
1034-
1035-
if (!col.selection_bit(aod::evsel::kNoCollInTimeRangeStandard)) { // kNoCollInTimeRangeStandard
1036-
return false;
1037-
}
1038-
if (FillHist) {
1039-
rQARegistry.fill(HIST("hNEvents"), 4.5);
1032+
if (evSelGroup.useOccupCut) {
1033+
if (!col.selection_bit(aod::evsel::kNoCollInTimeRangeStandard)) { // kNoCollInTimeRangeStandard
1034+
return false;
1035+
}
1036+
if (FillHist) {
1037+
rQARegistry.fill(HIST("hNEvents"), 4.5);
1038+
}
10401039
}
10411040

10421041
return true;

0 commit comments

Comments
 (0)