forked from AliceO2Group/O2Physics
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Barbara Chytla
committed
Jan 3, 2025
1 parent
0ae1a11
commit cadfae6
Showing
1 changed file
with
21 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ | |
// or submit itself to any jurisdiction. | ||
|
||
/// \file femtoUniversePairTaskTrackCascadeExtended.cxx | ||
/// \brief Task for cascade QA; in the future: for cascade correlations | ||
/// \brief Task for cascade correlations and QA | ||
/// \author Barbara Chytla, WUT Warsaw, [email protected] | ||
/// \author Shirajum Monira, WUT Warsaw, [email protected] | ||
// o2-linter: disable=name/workflow-file | ||
|
@@ -82,9 +82,10 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st | |
Configurable<int> confPhiBins{"ConfPhiBins", 29, "Number of phi bins in deta dphi"}; // o2-linter: disable=name/configurable | ||
Configurable<bool> confIsMC{"ConfIsMC", false, "Enable additional Histograms in the case of a MonteCarlo Run"}; // o2-linter: disable=name/configurable | ||
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 | ||
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 | ||
ConfigurableAxis confTrkTempFitVarpTBins{"ConfTrkTempFitVarpTBins", {20, 0.5, 4.05}, "pT binning of the pT vs. TempFitVar plot"}; // o2-linter: disable=name/configurable | ||
ConfigurableAxis confTrkTempFitVarBins{"ConfTrkDTempFitVarBins", {300, -0.15, 0.15}, "binning of the TempFitVar in the pT vs. TempFitVar plot"}; // o2-linter: disable=name/configurable | ||
Configurable<bool> confUseCent{"confUseCent", false, "Use centrality in place of multiplicity"}; | ||
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 | ||
ConfigurableAxis confTrkTempFitVarpTBins{"ConfTrkTempFitVarpTBins", {20, 0.5, 4.05}, "pT binning of the pT vs. TempFitVar plot"}; // o2-linter: disable=name/configurable | ||
ConfigurableAxis confTrkTempFitVarBins{"ConfTrkDTempFitVarBins", {300, -0.15, 0.15}, "binning of the TempFitVar in the pT vs. TempFitVar plot"}; // o2-linter: disable=name/configurable | ||
|
||
/// Partition for particle 1 (track) | ||
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 | |
FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kCascadeBachelor, 0> bachHistos; | ||
FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kCascade, 0> cascQAHistos; | ||
|
||
/// Histogramming for Event | ||
FemtoUniverseEventHisto eventHisto; | ||
|
||
FemtoUniverseContainer<femto_universe_container::EventType::same, femto_universe_container::Observable::kstar> sameEventCont; | ||
FemtoUniverseContainer<femto_universe_container::EventType::mixed, femto_universe_container::Observable::kstar> mixedEventCont; | ||
FemtoUniversePairCleaner<aod::femtouniverseparticle::ParticleType::kTrack, aod::femtouniverseparticle::ParticleType::kCascade> pairCleaner; | ||
|
@@ -189,6 +193,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st | |
rXiQA.add("hDcaBachtoPV", "hDcaBachtoPV", {HistType::kTH1F, {aDCAToPVAxis}}); | ||
rXiQA.add("hDcaV0toPV", "hDcaV0toPV", {HistType::kTH1F, {aDCAToPVAxis}}); | ||
|
||
eventHisto.init(&qaRegistry); | ||
qaRegistry.add("Tracks_pos/nSigmaTPC", "; #it{p} (GeV/#it{c}); n#sigma_{TPC}", kTH2F, {{100, 0, 10}, {200, -4.975, 5.025}}); | ||
qaRegistry.add("Tracks_pos/nSigmaTOF", "; #it{p} (GeV/#it{c}); n#sigma_{TOF}", kTH2F, {{100, 0, 10}, {200, -4.975, 5.025}}); | ||
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 | |
auto groupPartsOne = partsOne->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache); | ||
auto groupPartsTwo = partsTwo->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache); | ||
|
||
eventHisto.fillQA(col); | ||
|
||
const int multCol = confUseCent ? col.multV0M() : col.multNtr(); | ||
|
||
for (const auto& part : groupPartsTwo) { | ||
if (!invMCascade(part.mLambda(), part.mAntiLambda())) | ||
continue; | ||
|
@@ -328,7 +337,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st | |
if (!isParticleTPC(posChild, CascChildTable[confCascType1][0]) || !isParticleTPC(negChild, CascChildTable[confCascType1][1]) || !isParticleTPC(bachelor, CascChildTable[confCascType1][2])) | ||
continue; | ||
|
||
sameEventCont.setPair<false>(p1, p2, col.multNtr(), confUse3D, 1.0f); | ||
sameEventCont.setPair<false>(p1, p2, multCol, confUse3D, 1.0f); | ||
} | ||
} | ||
PROCESS_SWITCH(femtoUniversePairTaskTrackCascadeExtended, processSameEvent, "Enable processing same event for track - cascade", false); | ||
|
@@ -337,6 +346,10 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st | |
{ | ||
auto groupPartsTwo = partsTwo->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache); | ||
|
||
eventHisto.fillQA(col); | ||
|
||
const int multCol = confUseCent ? col.multV0M() : col.multNtr(); | ||
|
||
for (const auto& part : groupPartsTwo) { | ||
if (!invMCascade(part.mLambda(), part.mAntiLambda())) | ||
continue; | ||
|
@@ -382,7 +395,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st | |
if (!isParticleTPC(posChild2, CascChildTable[confCascType2][0]) || !isParticleTPC(negChild2, CascChildTable[confCascType2][1]) || !isParticleTPC(bachelor2, CascChildTable[confCascType2][2])) | ||
return; | ||
|
||
sameEventCont.setPair<false>(p1, p2, col.multNtr(), confUse3D, 1.0f); | ||
sameEventCont.setPair<false>(p1, p2, multCol, confUse3D, 1.0f); | ||
}; | ||
if (confCascType1 == confCascType2) { | ||
/// Now build the combinations for identical cascades | ||
|
@@ -403,6 +416,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st | |
ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultNtr> colBinning{{confVtxBins, confMultBins}, true}; | ||
|
||
for (const auto& [collision1, collision2] : soa::selfCombinations(colBinning, 5, -1, cols, cols)) { | ||
const int multCol = confUseCent ? collision1.multV0M() : collision1.multNtr(); | ||
|
||
auto groupPartsOne = partsOne->sliceByCached(aod::femtouniverseparticle::fdCollisionId, collision1.globalIndex(), cache); | ||
auto groupPartsTwo = partsTwo->sliceByCached(aod::femtouniverseparticle::fdCollisionId, collision2.globalIndex(), cache); | ||
|
@@ -432,7 +446,7 @@ struct femtoUniversePairTaskTrackCascadeExtended { // o2-linter: disable=name/st | |
continue; | ||
} | ||
|
||
mixedEventCont.setPair<false>(p1, p2, collision1.multNtr(), confUse3D, 1.0f); | ||
mixedEventCont.setPair<false>(p1, p2, multCol, confUse3D, 1.0f); | ||
} | ||
} | ||
} | ||
|