Skip to content

Commit 2b3d63c

Browse files
hernasabSabrina Hernandez
andauthored
[PWGCF] adjusted event selection (#10235)
Co-authored-by: Sabrina Hernandez <sabrina.gabrielle.hernandez@cern.ch>
1 parent 560a702 commit 2b3d63c

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

PWGCF/Flow/Tasks/flowZdcTask.cxx

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ struct FlowZdcTask {
8383
Configurable<float> vtxRange{"vtxRange", 10.0f, "Vertex Z range to consider"};
8484
Configurable<float> etaRange{"etaRange", 1.0f, "Eta range to consider"};
8585
Configurable<float> npvTracksCut{"npvTracksCut", 1.0f, "Apply extra NPVtracks cut"};
86+
// event selection
8687
Configurable<bool> isApplySameBunchPileup{"isApplySameBunchPileup", true, "Enable SameBunchPileup cut"};
8788
Configurable<bool> isApplyGoodZvtxFT0vsPV{"isApplyGoodZvtxFT0vsPV", true, "Enable GoodZvtxFT0vsPV cut"};
8889
Configurable<bool> isApplyVertexITSTPC{"isApplyVertexITSTPC", false, "Enable VertexITSTPC cut"};
@@ -100,15 +101,19 @@ struct FlowZdcTask {
100101
Configurable<bool> isApplyCentNGlobal{"isApplyCentNGlobal", false, "Centrality based on global tracks"};
101102
Configurable<bool> isApplyCentMFT{"isApplyCentMFT", false, "Centrality based on MFT tracks"};
102103
Configurable<bool> isGoodITSLayersAll{"isGoodITSLayersAll", false, "Centrality based on no other collisions in this Readout Frame with per-collision multiplicity above threshold tracks"};
104+
Configurable<bool> isOccupancyCut{"isOccupancyCut", true, "Occupancy cut?"};
103105
Configurable<float> ft0cCut{"ft0cCut", 1.0f, "Apply extra FT0C cut"};
106+
Configurable<float> minOccCut{"minOccCut", 0, "min Occu cut"};
107+
Configurable<float> maxOccCut{"maxOccCut", 500, "max Occu cut"};
108+
Configurable<float> posZcut{"posZcut", +10.0, "z-vertex position cut"};
104109

105110
ConfigurableAxis axisVertex{"axisVertex", {20, -10, 10}, "vertex axis for histograms"};
106111
ConfigurableAxis axisPhi{"axisPhi", {60, 0.0, constants::math::TwoPI}, "phi axis for histograms"};
107112
ConfigurableAxis axisEta{"axisEta", {40, -1., 1.}, "eta axis for histograms"};
108113
ConfigurableAxis axisPt{"axisPt", {VARIABLE_WIDTH, 0.2, 0.25, 0.30, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 1.00, 1.10, 1.20, 1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90, 2.00, 2.20, 2.40, 2.60, 2.80, 3.00}, "pt axis for histograms"};
109114
ConfigurableAxis axisMultiplicity{"axisMultiplicity", {3500, 0, 3500}, "centrality axis for histograms"};
110115
ConfigurableAxis axisEnergy{"axisEnergy", {100, 0, 700}, "energy axis for zdc histos"};
111-
ConfigurableAxis axisMultTpc{"axisMultTpc", {1000, -0.5f, 1999.5f}, "TPCmultiplicity"};
116+
ConfigurableAxis axisMultTpc{"axisMultTpc", {2000, -0.5f, 2999.5f}, "TPCmultiplicity"};
112117
ConfigurableAxis axisZN{"axisZN", {5000, 0, 500}, "axisZN"};
113118
ConfigurableAxis axisZP{"axisZP", {5000, 0, 500}, "axisZP"};
114119
ConfigurableAxis axisFT0CAmp{"axisFT0CAmp", {5000, 0, 5000}, "axisFT0CAmp"};
@@ -224,11 +229,7 @@ struct FlowZdcTask {
224229
xAxis->SetBinLabel(3, "kNoSameBunchPileup"); // reject collisions in case of pileup with another collision in the same foundBC
225230
xAxis->SetBinLabel(4, "kIsGoodZvtxFT0vsPV"); // small difference between z-vertex from PV and from FT0
226231
xAxis->SetBinLabel(5, "kIsVertexITSTPC"); // at least one ITS-TPC track (reject vertices built from ITS-only tracks)
227-
xAxis->SetBinLabel(6, "kIsGoodITSLayersAll"); //"Centrality based on no other collisions in this Readout Frame with per-collision multiplicity above threshold tracks"
228-
xAxis->SetBinLabel(7, "kIsApplyVertexTOFmatched");
229-
xAxis->SetBinLabel(8, "kIsVertexTRDmatched");
230-
xAxis->SetBinLabel(9, "centrality selection");
231-
xAxis->SetBinLabel(10, "isApplyExtraCorrCut");
232+
xAxis->SetBinLabel(6, "kIsApplyVertexTOFmatched"); //"Centrality based on no other collisions in this Readout Frame with per-collision multiplicity above threshold tracks"
232233
histos.add("GlobalMult_vs_FT0C", "GlobalMult_vs_FT0C", kTH2F, {axisMult, axisFT0CMult});
233234
histos.add("VtxZHist", "VtxZHist", kTH1D, {axisVtxZ});
234235

@@ -299,29 +300,35 @@ struct FlowZdcTask {
299300
}
300301
histos.fill(HIST("eventSelectionSteps"), 5);
301302

302-
if (isGoodITSLayersAll && !col.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
303+
if (isApplyVertexTOFmatched && !col.selection_bit(o2::aod::evsel::kIsVertexTOFmatched)) {
303304
return false;
304305
}
305306
histos.fill(HIST("eventSelectionSteps"), 6);
306-
if (isApplyVertexTOFmatched && !col.selection_bit(o2::aod::evsel::kIsVertexTOFmatched)) {
307+
308+
if (isOccupancyCut) {
309+
auto occuValue{isApplyFT0CbasedOccupancy
310+
? col.ft0cOccupancyInTimeRange()
311+
: col.trackOccupancyInTimeRange()};
312+
313+
if (occuValue < minOccCut || occuValue > maxOccCut)
314+
return false;
315+
}
316+
if (isGoodITSLayersAll && !col.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
307317
return false;
308318
}
309-
histos.fill(HIST("eventSelectionSteps"), 7);
310-
311319
if (isApplyVertexTRDmatched && !col.selection_bit(o2::aod::evsel::kIsVertexTRDmatched)) {
312320
return false;
313321
}
314-
histos.fill(HIST("eventSelectionSteps"), 8);
315322
if (col.centFT0C() < 0. || col.centFT0C() > 100.) {
316323
return false;
317324
}
318-
histos.fill(HIST("eventSelectionSteps"), 9);
319325

326+
if (std::fabs(col.posZ()) > posZcut) {
327+
return false;
328+
}
320329
if (isApplyExtraCorrCut && col.multNTracksPV() > npvTracksCut && col.multFT0C() < (10 * col.multNTracksPV() - ft0cCut)) {
321330
return false;
322331
}
323-
histos.fill(HIST("eventSelectionSteps"), 10);
324-
histos.fill(HIST("eventSelectionSteps"), 11);
325332
return true;
326333
}
327334

0 commit comments

Comments
 (0)