Skip to content

Commit aa4012a

Browse files
sarjeetagamisarjeeta gami
andauthored
[PWGLF] modification of occupancy cut and signal loss (#13316)
Co-authored-by: sarjeeta gami <sarjeetagami@sarjeetas-MacBook-Air.local>
1 parent e85859a commit aa4012a

File tree

1 file changed

+52
-22
lines changed

1 file changed

+52
-22
lines changed

PWGLF/Tasks/Resonances/phianalysisrun3_PbPb.cxx

Lines changed: 52 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,16 @@ struct phianalysisrun3_PbPb {
113113
Configurable<float> confMaxRot{"confMaxRot", 7.0f * 3.14159265f / 6.0f, "Maximum of rotation"};
114114
Configurable<bool> pdgcheck{"pdgcheck", true, "pdgcheck"};
115115
Configurable<bool> reco{"reco", true, "reco"};
116+
Configurable<bool> cfgDoSel8{"cfgDoSel8", true, "Apply sel8 selection"};
116117
ConfigurableAxis ptAxisphi{"ptAxisphi", {200, 0.0f, 20.0f}, "phi pT axis"};
117118
ConfigurableAxis centAxisphi{"centAxisphi", {200, 0.0, 200.0}, "phi centrality axis"};
118119
ConfigurableAxis massAxisphi{"massAxisphi", {200, 0.9, 1.1}, "phi mass axis"};
119120

120121
ConfigurableAxis binsImpactPar{"binsImpactPar", {VARIABLE_WIDTH, 0, 3.5, 5.67, 7.45, 8.85, 10.0, 11.21, 12.26, 13.28, 14.23, 15.27}, "Binning of the impact parameter axis"};
121122
ConfigurableAxis binsPt{"binsPt", {VARIABLE_WIDTH, 0.0, 0.1, 0.2, 0.3, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 10.0, 12.0}, "Binning of the pT axis"};
122123
ConfigurableAxis binsCent{"binsCent", {VARIABLE_WIDTH, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0}, "Binning of the centrality axis"};
123-
Configurable<int> cfgCutOccupancy{"cfgCutOccupancy", 3000, "Occupancy cut"};
124+
Configurable<int> cfgMinOccupancy{"cfgMinOccupancy", 0, "Minimum occupancy cut"};
125+
Configurable<int> cfgMaxOccupancy{"cfgMaxOccupancy", 3000, "Maximum occupancy cut"};
124126
Configurable<int> centestimator{"centestimator", 0, "Select multiplicity estimator: 0 - FT0C, 1 - FT0A, 2 - FT0M, 3 - FV0A, 4 - PVTracks"};
125127

126128
Configurable<bool> genacceptancecut{"genacceptancecut", true, "use acceptance cut for generated"};
@@ -346,7 +348,7 @@ struct phianalysisrun3_PbPb {
346348
if (additionalEvSel6 && !collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV))
347349
return false;
348350
int occupancy = collision.trackOccupancyInTimeRange();
349-
if (fillOccupancy && (occupancy > cfgCutOccupancy))
351+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy))
350352
return false;
351353

352354
return true;
@@ -469,7 +471,7 @@ struct phianalysisrun3_PbPb {
469471
}
470472
histos.fill(HIST("hEvtSelInfo"), 8.5);
471473
int occupancy = collision.trackOccupancyInTimeRange();
472-
if (fillOccupancy && (occupancy > cfgCutOccupancy)) {
474+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy)) {
473475
return;
474476
}
475477
histos.fill(HIST("hEvtSelInfo"), 9.5);
@@ -626,7 +628,9 @@ struct phianalysisrun3_PbPb {
626628
int occupancy1 = c1.trackOccupancyInTimeRange();
627629
int occupancy2 = c2.trackOccupancyInTimeRange();
628630

629-
if (fillOccupancy && (occupancy1 > cfgCutOccupancy || occupancy2 > cfgCutOccupancy)) {
631+
if (fillOccupancy &&
632+
((occupancy1 < cfgMinOccupancy || occupancy1 > cfgMaxOccupancy) ||
633+
(occupancy2 < cfgMinOccupancy || occupancy2 > cfgMaxOccupancy))) {
630634
continue;
631635
}
632636
float multiplicity;
@@ -695,7 +699,9 @@ struct phianalysisrun3_PbPb {
695699
int occupancy1 = c1.trackOccupancyInTimeRange();
696700
int occupancy2 = c2.trackOccupancyInTimeRange();
697701

698-
if (fillOccupancy && (occupancy1 > cfgCutOccupancy || occupancy2 > cfgCutOccupancy)) {
702+
if (fillOccupancy &&
703+
((occupancy1 < cfgMinOccupancy || occupancy1 > cfgMaxOccupancy) ||
704+
(occupancy2 < cfgMinOccupancy || occupancy2 > cfgMaxOccupancy))) {
699705
continue;
700706
}
701707
float multiplicity;
@@ -765,7 +771,9 @@ struct phianalysisrun3_PbPb {
765771
int occupancy1 = c1.trackOccupancyInTimeRange();
766772
int occupancy2 = c2.trackOccupancyInTimeRange();
767773

768-
if (fillOccupancy && (occupancy1 > cfgCutOccupancy || occupancy2 > cfgCutOccupancy)) {
774+
if (fillOccupancy &&
775+
((occupancy1 < cfgMinOccupancy || occupancy1 > cfgMaxOccupancy) ||
776+
(occupancy2 < cfgMinOccupancy || occupancy2 > cfgMaxOccupancy))) {
769777
continue;
770778
}
771779
float multiplicity;
@@ -835,7 +843,9 @@ struct phianalysisrun3_PbPb {
835843
int occupancy1 = c1.trackOccupancyInTimeRange();
836844
int occupancy2 = c2.trackOccupancyInTimeRange();
837845

838-
if (fillOccupancy && (occupancy1 > cfgCutOccupancy || occupancy2 > cfgCutOccupancy)) {
846+
if (fillOccupancy &&
847+
((occupancy1 < cfgMinOccupancy || occupancy1 > cfgMaxOccupancy) ||
848+
(occupancy2 < cfgMinOccupancy || occupancy2 > cfgMaxOccupancy))) {
839849
continue;
840850
}
841851
float multiplicity;
@@ -877,7 +887,7 @@ struct phianalysisrun3_PbPb {
877887
return;
878888
}
879889
int occupancy = collision.trackOccupancyInTimeRange();
880-
if (fillOccupancy && (occupancy > cfgCutOccupancy)) {
890+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy)) {
881891
return;
882892
}
883893
float multiplicity{-1};
@@ -964,9 +974,13 @@ struct phianalysisrun3_PbPb {
964974
}
965975
for (const auto& RecCollision : RecCollisions) {
966976
histos.fill(HIST("hMC"), 3);
967-
if (!RecCollision.sel8() || std::abs(RecCollision.posZ()) > cfgCutVertex) {
977+
if (cfgDoSel8 && !RecCollision.sel8()) {
968978
continue;
969979
}
980+
if (std::abs(RecCollision.posZ()) > cfgCutVertex) {
981+
continue;
982+
}
983+
970984
histos.fill(HIST("hMC"), 4);
971985
if (additionalEvSel1 && !RecCollision.selection_bit(aod::evsel::kNoTimeFrameBorder)) {
972986
continue;
@@ -993,7 +1007,7 @@ struct phianalysisrun3_PbPb {
9931007
}
9941008
histos.fill(HIST("hMC"), 10);
9951009
int occupancy = RecCollision.trackOccupancyInTimeRange();
996-
if (fillOccupancy && (occupancy > cfgCutOccupancy)) {
1010+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy)) {
9971011
continue;
9981012
}
9991013
histos.fill(HIST("hMC"), 11);
@@ -1173,14 +1187,18 @@ struct phianalysisrun3_PbPb {
11731187
int nevts = 0;
11741188
auto multiplicity = 0;
11751189
for (const auto& collision : collisions) {
1176-
if (!collision.sel8() || std::abs(collision.mcCollision().posZ()) > cfgCutVertex) {
1190+
if (cfgDoSel8 && !collision.sel8()) {
1191+
continue;
1192+
}
1193+
if (std::abs(collision.mcCollision().posZ()) > cfgCutVertex) {
11771194
continue;
11781195
}
1196+
11791197
if (additionalEvSel2 && (!collision.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV))) {
11801198
continue;
11811199
}
11821200
int occupancy = collision.trackOccupancyInTimeRange();
1183-
if (fillOccupancy && (occupancy > cfgCutOccupancy)) {
1201+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy)) {
11841202
continue;
11851203
}
11861204
histos.fill(HIST("hOccupancy1"), occupancy);
@@ -1249,14 +1267,18 @@ struct phianalysisrun3_PbPb {
12491267
if (!collision.has_mcCollision()) {
12501268
return;
12511269
}
1252-
if (std::abs(collision.mcCollision().posZ()) > cfgCutVertex || !collision.sel8()) {
1270+
if (cfgDoSel8 && !collision.sel8()) {
1271+
return;
1272+
}
1273+
if (std::abs(collision.mcCollision().posZ()) > cfgCutVertex) {
12531274
return;
12541275
}
1276+
12551277
if (additionalEvSel2 && (!collision.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV))) {
12561278
return;
12571279
}
12581280
int occupancy = collision.trackOccupancyInTimeRange();
1259-
if (fillOccupancy && (occupancy > cfgCutOccupancy)) {
1281+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy)) {
12601282
return;
12611283
}
12621284
auto multiplicity = collision.centFT0C();
@@ -1393,7 +1415,7 @@ struct phianalysisrun3_PbPb {
13931415
return;
13941416
}
13951417
int occupancy = collision.trackOccupancyInTimeRange();
1396-
if (fillOccupancy && (occupancy > cfgCutOccupancy)) {
1418+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy)) {
13971419
return;
13981420
}
13991421
float multiplicity{-1};
@@ -1515,12 +1537,13 @@ struct phianalysisrun3_PbPb {
15151537
}
15161538
int occupancy1 = c1.trackOccupancyInTimeRange();
15171539
int occupancy2 = c2.trackOccupancyInTimeRange();
1518-
if (fillOccupancy && (occupancy1 > cfgCutOccupancy)) {
1540+
if (fillOccupancy && (occupancy1 < cfgMinOccupancy || occupancy1 > cfgMaxOccupancy)) {
15191541
continue;
15201542
}
1521-
if (fillOccupancy && (occupancy2 > cfgCutOccupancy)) {
1543+
if (fillOccupancy && (occupancy2 < cfgMinOccupancy || occupancy2 > cfgMaxOccupancy)) {
15221544
continue;
15231545
}
1546+
15241547
auto multiplicity = c1.centFT0C();
15251548
histos.fill(HIST("Centmix"), multiplicity);
15261549
for (const auto& [t1, t2] : o2::soa::combinations(o2::soa::CombinationsFullIndexPolicy(tracks1, tracks2))) {
@@ -1574,11 +1597,15 @@ struct phianalysisrun3_PbPb {
15741597
std::vector<int64_t> selectedEvents(collisions.size());
15751598
int nevts = 0;
15761599
auto multiplicity = -1.0;
1577-
histos.fill(HIST("hMC1"), 2.5);
15781600
for (const auto& collision : collisions) {
1579-
if (!collision.sel8() || std::abs(collision.mcCollision().posZ()) > cfgCutVertex) {
1601+
histos.fill(HIST("hMC1"), 2.5);
1602+
if (cfgDoSel8 && !collision.sel8()) {
1603+
continue;
1604+
}
1605+
if (std::abs(collision.mcCollision().posZ()) > cfgCutVertex) {
15801606
continue;
15811607
}
1608+
15821609
histos.fill(HIST("hMC1"), 3.5);
15831610
if (additionalEvSel1 && !collision.selection_bit(aod::evsel::kNoTimeFrameBorder)) {
15841611
continue;
@@ -1605,7 +1632,7 @@ struct phianalysisrun3_PbPb {
16051632
}
16061633
histos.fill(HIST("hMC1"), 9.5);
16071634
int occupancy = collision.trackOccupancyInTimeRange();
1608-
if (fillOccupancy && (occupancy > cfgCutOccupancy)) {
1635+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy)) {
16091636
continue;
16101637
}
16111638
histos.fill(HIST("hMC1"), 10.5);
@@ -1674,7 +1701,10 @@ struct phianalysisrun3_PbPb {
16741701
if (!collision.has_mcCollision()) {
16751702
return;
16761703
}
1677-
if (std::abs(collision.mcCollision().posZ()) > cfgCutVertex || !collision.sel8()) {
1704+
if (cfgDoSel8 && !collision.sel8()) {
1705+
return;
1706+
}
1707+
if (std::abs(collision.mcCollision().posZ()) > cfgCutVertex) {
16781708
return;
16791709
}
16801710
if (additionalEvSel1 && !collision.selection_bit(aod::evsel::kNoTimeFrameBorder)) {
@@ -1699,7 +1729,7 @@ struct phianalysisrun3_PbPb {
16991729
return;
17001730
}
17011731
int occupancy = collision.trackOccupancyInTimeRange();
1702-
if (fillOccupancy && (occupancy > cfgCutOccupancy)) {
1732+
if (fillOccupancy && (occupancy < cfgMinOccupancy || occupancy > cfgMaxOccupancy)) {
17031733
return;
17041734
}
17051735
const int kCentFT0C = 0;

0 commit comments

Comments
 (0)