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