@@ -99,6 +99,7 @@ struct femtoUniversePairTaskTrackCascadeExtended {
9999 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" };
100100 ConfigurableAxis confTrkTempFitVarpTBins{" confTrkTempFitVarpTBins" , {20 , 0.5 , 4.05 }, " pT binning of the pT vs. TempFitVar plot" };
101101 ConfigurableAxis confTrkTempFitVarBins{" confTrkTempFitVarBins" , {300 , -0.15 , 0.15 }, " binning of the TempFitVar in the pT vs. TempFitVar plot" };
102+ Configurable<int > confNEventsMix{" confNEventsMix" , 5 , " Number of events for mixing" };
102103
103104 Filter collisionFilter = (nabs(aod::collision::posZ) < confZVertexCut);
104105 using FilteredFDCollisions = soa::Filtered<o2::aod::FdCollisions>;
@@ -248,6 +249,7 @@ struct femtoUniversePairTaskTrackCascadeExtended {
248249 qaRegistry.add (" Tracks_pos/nSigmaTOF" , " ; #it{p} (GeV/#it{c}); n#sigma_{TOF}" , kTH2F , {{100 , 0 , 10 }, {200 , -4.975 , 5.025 }});
249250 qaRegistry.add (" Tracks_neg/nSigmaTPC" , " ; #it{p} (GeV/#it{c}); n#sigma_{TPC}" , kTH2F , {{100 , 0 , 10 }, {200 , -4.975 , 5.025 }});
250251 qaRegistry.add (" Tracks_neg/nSigmaTOF" , " ; #it{p} (GeV/#it{c}); n#sigma_{TOF}" , kTH2F , {{100 , 0 , 10 }, {200 , -4.975 , 5.025 }});
252+ qaRegistry.add (" MixingQA/hMECollisionBins" , " ;bin;Entries" , kTH1F , {{120 , -0.5 , 119.5 }});
251253
252254 // MC gen
253255 registryMCgen.add (" plus/MCgenCasc" , " MC gen cascades;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{500 , 0 , 5 }, {400 , -1.0 , 1.0 }}});
@@ -534,9 +536,10 @@ struct femtoUniversePairTaskTrackCascadeExtended {
534536 // / track - cascade correlations
535537 void processMixedEvent (const FilteredFDCollisions& cols, const FemtoFullParticles& parts)
536538 {
537- ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultNtr> colBinning{{confVtxBins, confMultBins}, true };
539+ ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultNtr> colBinningMult{{confVtxBins, confMultBins}, true };
540+ ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultV0M> colBinningCent{{confVtxBins, confMultBins}, true };
538541
539- for ( const auto & [ collision1, collision2] : soa::selfCombinations (colBinning, 5 , - 1 , cols, cols)) {
542+ auto mixedCollProcessFunc = [&]( auto & collision1, auto & collision2) -> void {
540543 const int multCol = confUseCent ? collision1.multV0M () : collision1.multNtr ();
541544
542545 auto groupPartsOne = partsOne->sliceByCached (aod::femtouniverseparticle::fdCollisionId, collision1.globalIndex (), cache);
@@ -546,7 +549,7 @@ struct femtoUniversePairTaskTrackCascadeExtended {
546549 const auto & magFieldTesla2 = collision2.magField ();
547550
548551 if (magFieldTesla1 != magFieldTesla2) {
549- continue ;
552+ return ;
550553 }
551554 for (const auto & [p1, p2] : combinations (CombinationsFullIndexPolicy (groupPartsOne, groupPartsTwo))) {
552555 // Cascade inv mass cut (mLambda stores Xi mass, mAntiLambda stores Omega mass)
@@ -572,6 +575,18 @@ struct femtoUniversePairTaskTrackCascadeExtended {
572575
573576 mixedEventCont.setPair <false >(p1, p2, multCol, confUse3D, 1 .0f );
574577 }
578+ };
579+
580+ if (confUseCent) {
581+ for (const auto & [collision1, collision2] : soa::selfCombinations (colBinningCent, confNEventsMix, -1 , cols, cols)) {
582+ mixedCollProcessFunc (collision1, collision2);
583+ qaRegistry.fill (HIST (" MixingQA/hMECollisionBins" ), colBinningCent.getBin ({collision1.posZ (), collision1.multV0M ()}));
584+ }
585+ } else {
586+ for (const auto & [collision1, collision2] : soa::selfCombinations (colBinningMult, confNEventsMix, -1 , cols, cols)) {
587+ mixedCollProcessFunc (collision1, collision2);
588+ qaRegistry.fill (HIST (" MixingQA/hMECollisionBins" ), colBinningMult.getBin ({collision1.posZ (), collision1.multNtr ()}));
589+ }
575590 }
576591 }
577592 PROCESS_SWITCH (femtoUniversePairTaskTrackCascadeExtended, processMixedEvent, " Enable processing mixed event for track - cascade" , false );
0 commit comments