Skip to content

Commit 3e935e8

Browse files
authored
[PWGLF] Inclusion of bestCollision to treat outliers (#15519)
1 parent 1c1aec1 commit 3e935e8

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

PWGLF/Tasks/GlobalEventProperties/studyPnch.cxx

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ struct StudyPnch {
129129
x->SetBinLabel(6, "INEL > 0");
130130
x->SetBinLabel(7, "|vz| < 10");
131131

132-
if (doprocessData || doprocessCorrelation || doprocessMonteCarlo) {
132+
if (doprocessData || doprocessCorrelation || doprocessMonteCarlo || doprocessModifiedMonteCarlo) {
133133
histos.add("PhiVsEtaHist", "PhiVsEtaHist", kTH2F, {axisPhi, axisEta}, false);
134134
}
135135
if (doprocessData) {
@@ -148,6 +148,12 @@ struct StudyPnch {
148148
histos.add("hResponseMatrix", "hResponseMatrix", kTH2F, {axisMult, axisMult}, true);
149149
histos.add("hCountNTracks", "hCountNTracks", kTH1F, {axisCountNumberTracks}, true);
150150
}
151+
if (doprocessModifiedMonteCarlo) {
152+
histos.add("hMultiplicityMCrecMod", "hMultiplicityMCrecMod", kTH1F, {axisMult}, true);
153+
histos.add("hMultiplicityMCgenMod", "hMultiplicityMCgenMod", kTH1F, {axisMult}, true);
154+
histos.add("hResponseMatrixMod", "hResponseMatrixMod", kTH2F, {axisMult, axisMult}, true);
155+
histos.add("hCountNTracksMod", "hCountNTracksMod", kTH1F, {axisCountNumberTracks}, true);
156+
}
151157
if (doprocessEvtLossSigLossMC) {
152158
histos.add("MCEventHist", "MCEventHist", kTH1F, {axisEvent}, false);
153159
auto hstat = histos.get<TH1>(HIST("MCEventHist"));
@@ -163,7 +169,7 @@ struct StudyPnch {
163169
bool isEventSelected(CheckCol const& col)
164170
{
165171
histos.fill(HIST("EventHist"), 1);
166-
if (isApplyTVX && !col.selection_bit(o2::aod::evsel::kIsTriggerTVX)) {
172+
if (!col.selection_bit(o2::aod::evsel::kIsTriggerTVX)) {
167173
return false;
168174
}
169175
histos.fill(HIST("EventHist"), 2);
@@ -343,6 +349,28 @@ struct StudyPnch {
343349
}
344350
}
345351

352+
void processModifiedMonteCarlo(soa::Join<aod::McCollisions, aod::McCollsExtra>::iterator const& mcCollision, ColMCRecTable const& RecCols, TrackMCTrueTable const& GenParticles, FilTrackMCRecTable const& RecTracks)
353+
{
354+
for (const auto& RecCol : RecCols) {
355+
if (!isEventSelected(RecCol)) {
356+
continue;
357+
}
358+
if (RecCol.globalIndex() != mcCollision.bestCollisionIndex()) {
359+
continue;
360+
}
361+
auto recTracksPart = RecTracks.sliceBy(perCollision, RecCol.globalIndex());
362+
auto multrec = countNTracksMcCol(recTracksPart, RecCol);
363+
if (multrec > 0) {
364+
histos.fill(HIST("hMultiplicityMCrec"), multrec);
365+
}
366+
auto multgen = countGenTracks(GenParticles, mcCollision);
367+
if (multgen > 0 && multrec > 0) {
368+
histos.fill(HIST("hMultiplicityMCgen"), multgen);
369+
histos.fill(HIST("hResponseMatrix"), multrec, multgen);
370+
}
371+
}
372+
}
373+
346374
void processEvtLossSigLossMC(soa::Join<ColMCTrueTable, aod::MultMCExtras>::iterator const& mcCollision, ColMCRecTable const& RecCols, TrackMCTrueTable const& GenParticles)
347375
{
348376
if (isApplyInelgt0 && !mcCollision.isInelGt0()) {
@@ -387,6 +415,7 @@ struct StudyPnch {
387415
PROCESS_SWITCH(StudyPnch, processData, "process data CentFT0C", false);
388416
PROCESS_SWITCH(StudyPnch, processCorrelation, "do correlation study in data", false);
389417
PROCESS_SWITCH(StudyPnch, processMonteCarlo, "process MC CentFT0C", false);
418+
PROCESS_SWITCH(StudyPnch, processModifiedMonteCarlo, "process MC CentFT0C", false);
390419
PROCESS_SWITCH(StudyPnch, processEvtLossSigLossMC, "process Signal Loss, Event Loss", false);
391420
};
392421

0 commit comments

Comments
 (0)