Skip to content

Commit a9ea146

Browse files
authored
[PWGLF] Add BC table based centrality (#15657)
1 parent e09db65 commit a9ea146

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

PWGLF/Tasks/GlobalEventProperties/heavyionMultiplicity.cxx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,10 @@ struct HeavyionMultiplicity {
208208
Configurable<bool> isApplyTVX{"isApplyTVX", false, "Enable TVX trigger sel"};
209209
Configurable<bool> isApplyExtraPhiCut{"isApplyExtraPhiCut", false, "Enable extra phi cut"};
210210

211+
Configurable<bool> selectCollidingBCs{"selectCollidingBCs", true, "BC analysis: select colliding BCs"};
212+
Configurable<bool> selectTVX{"selectTVX", true, "BC analysis: select TVX"};
213+
Configurable<bool> selectFV0OrA{"selectFV0OrA", true, "BC analysis: select FV0OrA"};
214+
211215
void init(InitContext const&)
212216
{
213217
AxisSpec axisMult = {multHistBin, "Mult", "MultAxis"};
@@ -357,6 +361,18 @@ struct HeavyionMultiplicity {
357361
histos.add("hRecMCdndeta", "hRecMCdndeta", kTHnSparseD, {axisVtxZ, centAxis, axisOccupancy, axisEta, axisPhi, axisRecTrkType}, false);
358362
histos.add("etaResolution", "etaResolution", kTH2D, {axisEta, axisDeltaEta});
359363
}
364+
365+
if (doprocessBcData) {
366+
histos.add("BcHist", "BcHist", kTH1D, {axisEvent}, false);
367+
auto hstat = histos.get<TH1>(HIST("BcHist"));
368+
auto* x = hstat->GetXaxis();
369+
x->SetBinLabel(1, "All BCs");
370+
x->SetBinLabel(2, "Colliding BCs");
371+
x->SetBinLabel(3, "TVX");
372+
x->SetBinLabel(4, "FV0OrA");
373+
histos.add("BcCentFT0CHist", "BcCentFT0CHist", kTH1D, {axisCent}, false);
374+
histos.add("BcCentFT0MHist", "BcCentFT0MHist", kTH1D, {axisCent}, false);
375+
}
360376
}
361377

362378
template <typename CheckCol>
@@ -971,6 +987,22 @@ struct HeavyionMultiplicity {
971987
} // collision loop
972988
}
973989

990+
void processBcData(soa::Join<aod::BC2Mults, aod::MultBCs, aod::BCCentFT0Cs, aod::BCCentFT0Ms>::iterator const& multbc)
991+
{
992+
histos.fill(HIST("BcHist"), 1); // all BCs
993+
if (selectCollidingBCs && !multbc.multCollidingBC())
994+
return;
995+
histos.fill(HIST("BcHist"), 2); // colliding
996+
if (selectTVX && !multbc.multTVX())
997+
return;
998+
histos.fill(HIST("BcHist"), 3); // TVX
999+
if (selectFV0OrA && !multbc.multFV0OrA())
1000+
return;
1001+
histos.fill(HIST("BcHist"), 4); // FV0OrA
1002+
histos.fill(HIST("BcCentFT0CHist"), multbc.centFT0C());
1003+
histos.fill(HIST("BcCentFT0MHist"), multbc.centFT0M());
1004+
}
1005+
9741006
PROCESS_SWITCH(HeavyionMultiplicity, processData, "process data CentFT0C", false);
9751007
PROCESS_SWITCH(HeavyionMultiplicity, processCorrelation, "do correlation study in data", false);
9761008
PROCESS_SWITCH(HeavyionMultiplicity, processMonteCarlo, "process MC CentFT0C", false);
@@ -979,6 +1011,7 @@ struct HeavyionMultiplicity {
9791011
PROCESS_SWITCH(HeavyionMultiplicity, processGen, "process pure MC gen", false);
9801012
PROCESS_SWITCH(HeavyionMultiplicity, processEvtLossSigLossMC, "process Signal Loss, Event Loss", false);
9811013
PROCESS_SWITCH(HeavyionMultiplicity, processMCeff, "process extra efficiency function", false);
1014+
PROCESS_SWITCH(HeavyionMultiplicity, processBcData, "process BC Centrality", false);
9821015
};
9831016

9841017
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)