Skip to content

Commit a25a880

Browse files
basiachBarbara Chytla
andauthored
[PWGCF] FemtoUniverse: Adding centrality and event histograms to track-cascade task (#9184)
Co-authored-by: Barbara Chytla <barbara.chytla@cern.ch>
1 parent 46ac65a commit a25a880

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackCascadeExtended.cxx

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
// or submit itself to any jurisdiction.
1111

1212
/// \file femtoUniversePairTaskTrackCascadeExtended.cxx
13-
/// \brief Task for cascade QA; in the future: for cascade correlations
13+
/// \brief Task for cascade correlations and QA
1414
/// \author Barbara Chytla, WUT Warsaw, barbara.chytla@cern.ch
1515
/// \author Shirajum Monira, WUT Warsaw, shirajum.monira@cern.ch
1616
// o2-linter: disable=name/workflow-file
@@ -82,9 +82,10 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
8282
Configurable<int> confPhiBins{"ConfPhiBins", 29, "Number of phi bins in deta dphi"}; // o2-linter: disable=name/configurable
8383
Configurable<bool> confIsMC{"ConfIsMC", false, "Enable additional Histograms in the case of a MonteCarlo Run"}; // o2-linter: disable=name/configurable
8484
Configurable<bool> confUse3D{"ConfUse3D", false, "Enable three dimensional histogramms (to be used only for analysis with high statistics): k* vs mT vs multiplicity"}; // o2-linter: disable=name/configurable
85-
ConfigurableAxis confVtxBins{"ConfVtxBins", {VARIABLE_WIDTH, -10.0f, -8.f, -6.f, -4.f, -2.f, 0.f, 2.f, 4.f, 6.f, 8.f, 10.f}, "Mixing bins - z-vertex"}; // o2-linter: disable=name/configurable
86-
ConfigurableAxis confTrkTempFitVarpTBins{"ConfTrkTempFitVarpTBins", {20, 0.5, 4.05}, "pT binning of the pT vs. TempFitVar plot"}; // o2-linter: disable=name/configurable
87-
ConfigurableAxis confTrkTempFitVarBins{"ConfTrkDTempFitVarBins", {300, -0.15, 0.15}, "binning of the TempFitVar in the pT vs. TempFitVar plot"}; // o2-linter: disable=name/configurable
85+
Configurable<bool> confUseCent{"confUseCent", false, "Use centrality in place of multiplicity"};
86+
ConfigurableAxis confVtxBins{"ConfVtxBins", {VARIABLE_WIDTH, -10.0f, -8.f, -6.f, -4.f, -2.f, 0.f, 2.f, 4.f, 6.f, 8.f, 10.f}, "Mixing bins - z-vertex"}; // o2-linter: disable=name/configurable
87+
ConfigurableAxis confTrkTempFitVarpTBins{"ConfTrkTempFitVarpTBins", {20, 0.5, 4.05}, "pT binning of the pT vs. TempFitVar plot"}; // o2-linter: disable=name/configurable
88+
ConfigurableAxis confTrkTempFitVarBins{"ConfTrkDTempFitVarBins", {300, -0.15, 0.15}, "binning of the TempFitVar in the pT vs. TempFitVar plot"}; // o2-linter: disable=name/configurable
8889

8990
/// Partition for particle 1 (track)
9091
Partition<FemtoFullParticles> partsOne = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == confChargePart1) && (aod::femtouniverseparticle::pt < confHPtPart1) && (aod::femtouniverseparticle::pt > confLPtPart1);
@@ -105,6 +106,9 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
105106
FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kCascadeBachelor, 0> bachHistos;
106107
FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kCascade, 0> cascQAHistos;
107108

109+
/// Histogramming for Event
110+
FemtoUniverseEventHisto eventHisto;
111+
108112
FemtoUniverseContainer<femto_universe_container::EventType::same, femto_universe_container::Observable::kstar> sameEventCont;
109113
FemtoUniverseContainer<femto_universe_container::EventType::mixed, femto_universe_container::Observable::kstar> mixedEventCont;
110114
FemtoUniversePairCleaner<aod::femtouniverseparticle::ParticleType::kTrack, aod::femtouniverseparticle::ParticleType::kCascade> pairCleaner;
@@ -189,6 +193,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
189193
rXiQA.add("hDcaBachtoPV", "hDcaBachtoPV", {HistType::kTH1F, {aDCAToPVAxis}});
190194
rXiQA.add("hDcaV0toPV", "hDcaV0toPV", {HistType::kTH1F, {aDCAToPVAxis}});
191195

196+
eventHisto.init(&qaRegistry);
192197
qaRegistry.add("Tracks_pos/nSigmaTPC", "; #it{p} (GeV/#it{c}); n#sigma_{TPC}", kTH2F, {{100, 0, 10}, {200, -4.975, 5.025}});
193198
qaRegistry.add("Tracks_pos/nSigmaTOF", "; #it{p} (GeV/#it{c}); n#sigma_{TOF}", kTH2F, {{100, 0, 10}, {200, -4.975, 5.025}});
194199
qaRegistry.add("Tracks_neg/nSigmaTPC", "; #it{p} (GeV/#it{c}); n#sigma_{TPC}", kTH2F, {{100, 0, 10}, {200, -4.975, 5.025}});
@@ -273,6 +278,10 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
273278
auto groupPartsOne = partsOne->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
274279
auto groupPartsTwo = partsTwo->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
275280

281+
eventHisto.fillQA(col);
282+
283+
const int multCol = confUseCent ? col.multV0M() : col.multNtr();
284+
276285
for (const auto& part : groupPartsTwo) {
277286
if (!invMCascade(part.mLambda(), part.mAntiLambda()))
278287
continue;
@@ -328,7 +337,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
328337
if (!isParticleTPC(posChild, CascChildTable[confCascType1][0]) || !isParticleTPC(negChild, CascChildTable[confCascType1][1]) || !isParticleTPC(bachelor, CascChildTable[confCascType1][2]))
329338
continue;
330339

331-
sameEventCont.setPair<false>(p1, p2, col.multNtr(), confUse3D, 1.0f);
340+
sameEventCont.setPair<false>(p1, p2, multCol, confUse3D, 1.0f);
332341
}
333342
}
334343
PROCESS_SWITCH(femtoUniversePairTaskTrackCascadeExtended, processSameEvent, "Enable processing same event for track - cascade", false);
@@ -337,6 +346,10 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
337346
{
338347
auto groupPartsTwo = partsTwo->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
339348

349+
eventHisto.fillQA(col);
350+
351+
const int multCol = confUseCent ? col.multV0M() : col.multNtr();
352+
340353
for (const auto& part : groupPartsTwo) {
341354
if (!invMCascade(part.mLambda(), part.mAntiLambda()))
342355
continue;
@@ -382,7 +395,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
382395
if (!isParticleTPC(posChild2, CascChildTable[confCascType2][0]) || !isParticleTPC(negChild2, CascChildTable[confCascType2][1]) || !isParticleTPC(bachelor2, CascChildTable[confCascType2][2]))
383396
return;
384397

385-
sameEventCont.setPair<false>(p1, p2, col.multNtr(), confUse3D, 1.0f);
398+
sameEventCont.setPair<false>(p1, p2, multCol, confUse3D, 1.0f);
386399
};
387400
if (confCascType1 == confCascType2) {
388401
/// Now build the combinations for identical cascades
@@ -403,6 +416,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
403416
ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultNtr> colBinning{{confVtxBins, confMultBins}, true};
404417

405418
for (const auto& [collision1, collision2] : soa::selfCombinations(colBinning, 5, -1, cols, cols)) {
419+
const int multCol = confUseCent ? collision1.multV0M() : collision1.multNtr();
406420

407421
auto groupPartsOne = partsOne->sliceByCached(aod::femtouniverseparticle::fdCollisionId, collision1.globalIndex(), cache);
408422
auto groupPartsTwo = partsTwo->sliceByCached(aod::femtouniverseparticle::fdCollisionId, collision2.globalIndex(), cache);
@@ -432,7 +446,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st
432446
continue;
433447
}
434448

435-
mixedEventCont.setPair<false>(p1, p2, collision1.multNtr(), confUse3D, 1.0f);
449+
mixedEventCont.setPair<false>(p1, p2, multCol, confUse3D, 1.0f);
436450
}
437451
}
438452
}

0 commit comments

Comments
 (0)