@@ -776,7 +776,23 @@ struct AnalysisEventMixing {
776776 }
777777
778778 uint32_t twoTrackFilter = 0 ;
779- uint32_t mult_dimuons = 0 ;
779+
780+ if (fConfigSingleMuCumulants ) {
781+ uint32_t mult_dimuons = 0 ;
782+ for (auto & track1 : tracks1) {
783+ for (auto & track2 : tracks2) {
784+ if constexpr (TPairType == VarManager::kDecayToMuMu ) {
785+ twoTrackFilter = static_cast <uint32_t >(track1.isMuonSelected ()) & static_cast <uint32_t >(track2.isMuonSelected ()) & fTwoMuonFilterMask ;
786+ }
787+ if (twoTrackFilter && track1.sign () * track2.sign () < 0 ) {
788+ mult_dimuons++;
789+ }
790+ } // end for (track2)
791+ } // end for (track1)
792+ VarManager::fgValues[VarManager::kMultDimuonsME ] = mult_dimuons;
793+ }
794+
795+ twoTrackFilter = 0 ;
780796 for (auto & track1 : tracks1) {
781797 for (auto & track2 : tracks2) {
782798 if constexpr (TPairType == VarManager::kDecayToEE ) {
@@ -800,7 +816,6 @@ struct AnalysisEventMixing {
800816 for (unsigned int icut = 0 ; icut < ncuts; icut++) {
801817 if (twoTrackFilter & (static_cast <uint32_t >(1 ) << icut)) {
802818 if (track1.sign () * track2.sign () < 0 ) {
803- mult_dimuons++;
804819 fHistMan ->FillHistClass (histNames[icut][0 ].Data (), VarManager::fgValues);
805820 if (fConfigAmbiguousHist && !(track1.isAmbiguous () || track2.isAmbiguous ())) {
806821 fHistMan ->FillHistClass (Form (" %s_unambiguous" , histNames[icut][0 ].Data ()), VarManager::fgValues);
@@ -822,7 +837,6 @@ struct AnalysisEventMixing {
822837 } // end for (cuts)
823838 } // end for (track2)
824839 } // end for (track1)
825- VarManager::fgValues[VarManager::kMultDimuonsME ] = mult_dimuons;
826840 }
827841
828842 // barrel-barrel and muon-muon event mixing
0 commit comments