@@ -920,15 +920,19 @@ struct HfTaskCharmHadronsTrackFemtoDream {
920920 }
921921 }
922922 if (mixSetting.doMixEvent ) {
923+ auto * partitionTrk1Selected = &partitionTrk1;
924+ if (trackSel.pdgCodeTrack1 .value == kKPlus ) {
925+ partitionTrk1Selected = &partitionTrk1Ka;
926+ }
923927 switch (mixSetting.mixingBinPolicy ) {
924928 case femtodreamcollision::kMult :
925- doMixedEvent<false , DecayChannel::LcToPKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, partitionTrk1 , parts, colBinningMult);
929+ doMixedEvent<false , DecayChannel::LcToPKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, *partitionTrk1Selected , parts, colBinningMult);
926930 break ;
927931 case femtodreamcollision::kMultPercentile :
928- doMixedEvent<false , DecayChannel::LcToPKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, partitionTrk1 , parts, colBinningMultPercentile);
932+ doMixedEvent<false , DecayChannel::LcToPKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, *partitionTrk1Selected , parts, colBinningMultPercentile);
929933 break ;
930934 case femtodreamcollision::kMultMultPercentile :
931- doMixedEvent<false , DecayChannel::LcToPKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, partitionTrk1 , parts, colBinningMultMultPercentile);
935+ doMixedEvent<false , DecayChannel::LcToPKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, *partitionTrk1Selected , parts, colBinningMultMultPercentile);
932936 break ;
933937 default :
934938 LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
@@ -962,15 +966,19 @@ struct HfTaskCharmHadronsTrackFemtoDream {
962966 }
963967 }
964968 if (mixSetting.doMixEvent ) {
969+ auto * partitionTrk1Selected = &partitionTrk1;
970+ if (trackSel.pdgCodeTrack1 .value == kKPlus ) {
971+ partitionTrk1Selected = &partitionTrk1Ka;
972+ }
965973 switch (mixSetting.mixingBinPolicy ) {
966974 case femtodreamcollision::kMult :
967- doMixedEvent<false , DecayChannel::DplusToPiKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, partitionTrk1 , parts, colBinningMult);
975+ doMixedEvent<false , DecayChannel::DplusToPiKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, *partitionTrk1Selected , parts, colBinningMult);
968976 break ;
969977 case femtodreamcollision::kMultPercentile :
970- doMixedEvent<false , DecayChannel::DplusToPiKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, partitionTrk1 , parts, colBinningMultPercentile);
978+ doMixedEvent<false , DecayChannel::DplusToPiKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, *partitionTrk1Selected , parts, colBinningMultPercentile);
971979 break ;
972980 case femtodreamcollision::kMultMultPercentile :
973- doMixedEvent<false , DecayChannel::DplusToPiKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, partitionTrk1 , parts, colBinningMultMultPercentile);
981+ doMixedEvent<false , DecayChannel::DplusToPiKPi, FilteredCollisions>(cols, partitionCharmHadron3Prong, *partitionTrk1Selected , parts, colBinningMultMultPercentile);
974982 break ;
975983 default :
976984 LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
@@ -1003,15 +1011,19 @@ struct HfTaskCharmHadronsTrackFemtoDream {
10031011 }
10041012 }
10051013 if (mixSetting.doMixEvent ) {
1014+ auto * partitionTrk1Selected = &partitionTrk1;
1015+ if (trackSel.pdgCodeTrack1 .value == kKPlus ) {
1016+ partitionTrk1Selected = &partitionTrk1Ka;
1017+ }
10061018 switch (mixSetting.mixingBinPolicy ) {
10071019 case femtodreamcollision::kMult :
1008- doMixedEvent<false , DecayChannel::D0ToPiK, FilteredCollisions>(cols, partitionCharmHadron2Prong, partitionTrk1 , parts, colBinningMult);
1020+ doMixedEvent<false , DecayChannel::D0ToPiK, FilteredCollisions>(cols, partitionCharmHadron2Prong, *partitionTrk1Selected , parts, colBinningMult);
10091021 break ;
10101022 case femtodreamcollision::kMultPercentile :
1011- doMixedEvent<false , DecayChannel::D0ToPiK, FilteredCollisions>(cols, partitionCharmHadron2Prong, partitionTrk1 , parts, colBinningMultPercentile);
1023+ doMixedEvent<false , DecayChannel::D0ToPiK, FilteredCollisions>(cols, partitionCharmHadron2Prong, *partitionTrk1Selected , parts, colBinningMultPercentile);
10121024 break ;
10131025 case femtodreamcollision::kMultMultPercentile :
1014- doMixedEvent<false , DecayChannel::D0ToPiK, FilteredCollisions>(cols, partitionCharmHadron2Prong, partitionTrk1 , parts, colBinningMultMultPercentile);
1026+ doMixedEvent<false , DecayChannel::D0ToPiK, FilteredCollisions>(cols, partitionCharmHadron2Prong, *partitionTrk1Selected , parts, colBinningMultMultPercentile);
10151027 break ;
10161028 default :
10171029 LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
@@ -1044,15 +1056,19 @@ struct HfTaskCharmHadronsTrackFemtoDream {
10441056 }
10451057 }
10461058 if (mixSetting.doMixEvent ) {
1059+ auto * partitionTrk1Selected = &partitionTrk1;
1060+ if (trackSel.pdgCodeTrack1 .value == kKPlus ) {
1061+ partitionTrk1Selected = &partitionTrk1Ka;
1062+ }
10471063 switch (mixSetting.mixingBinPolicy ) {
10481064 case femtodreamcollision::kMult :
1049- doMixedEvent<false , DecayChannel::DstarToD0Pi, FilteredCollisions>(cols, partitionCharmHadronDstar, partitionTrk1 , parts, colBinningMult);
1065+ doMixedEvent<false , DecayChannel::DstarToD0Pi, FilteredCollisions>(cols, partitionCharmHadronDstar, *partitionTrk1Selected , parts, colBinningMult);
10501066 break ;
10511067 case femtodreamcollision::kMultPercentile :
1052- doMixedEvent<false , DecayChannel::DstarToD0Pi, FilteredCollisions>(cols, partitionCharmHadronDstar, partitionTrk1 , parts, colBinningMultPercentile);
1068+ doMixedEvent<false , DecayChannel::DstarToD0Pi, FilteredCollisions>(cols, partitionCharmHadronDstar, *partitionTrk1Selected , parts, colBinningMultPercentile);
10531069 break ;
10541070 case femtodreamcollision::kMultMultPercentile :
1055- doMixedEvent<false , DecayChannel::DstarToD0Pi, FilteredCollisions>(cols, partitionCharmHadronDstar, partitionTrk1 , parts, colBinningMultMultPercentile);
1071+ doMixedEvent<false , DecayChannel::DstarToD0Pi, FilteredCollisions>(cols, partitionCharmHadronDstar, *partitionTrk1Selected , parts, colBinningMultMultPercentile);
10561072 break ;
10571073 default :
10581074 LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
@@ -1123,18 +1139,24 @@ struct HfTaskCharmHadronsTrackFemtoDream {
11231139 }
11241140 doSameEvent<true , DecayChannel::LcToPKPi, FilteredCharmMcCand3Prongs>(sliceMcCharmHad, sliceMcTrk1, parts, col);
11251141 }
1126- switch (mixSetting.mixingBinPolicy ) {
1127- case femtodreamcollision::kMult :
1128- doMixedEvent<true , DecayChannel::LcToPKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, partitionMcTrk1, parts, colBinningMult);
1129- break ;
1130- case femtodreamcollision::kMultPercentile :
1131- doMixedEvent<true , DecayChannel::LcToPKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, partitionMcTrk1, parts, colBinningMultPercentile);
1132- break ;
1133- case femtodreamcollision::kMultMultPercentile :
1134- doMixedEvent<true , DecayChannel::LcToPKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, partitionMcTrk1, parts, colBinningMultMultPercentile);
1135- break ;
1136- default :
1137- LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
1142+ if (mixSetting.doMixEvent ) {
1143+ auto * partitionTrk1Selected = &partitionMcTrk1;
1144+ if (trackSel.pdgCodeTrack1 .value == kKPlus ) {
1145+ partitionTrk1Selected = &partitionMcTrk1Ka;
1146+ }
1147+ switch (mixSetting.mixingBinPolicy ) {
1148+ case femtodreamcollision::kMult :
1149+ doMixedEvent<true , DecayChannel::LcToPKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, *partitionTrk1Selected, parts, colBinningMult);
1150+ break ;
1151+ case femtodreamcollision::kMultPercentile :
1152+ doMixedEvent<true , DecayChannel::LcToPKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, *partitionTrk1Selected, parts, colBinningMultPercentile);
1153+ break ;
1154+ case femtodreamcollision::kMultMultPercentile :
1155+ doMixedEvent<true , DecayChannel::LcToPKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, *partitionTrk1Selected, parts, colBinningMultMultPercentile);
1156+ break ;
1157+ default :
1158+ LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
1159+ }
11381160 }
11391161 }
11401162 PROCESS_SWITCH (HfTaskCharmHadronsTrackFemtoDream, processMcLcTrk, " Enable processing LcToPKPi and Tracks correlation for Monte Carlo" , false );
@@ -1158,18 +1180,24 @@ struct HfTaskCharmHadronsTrackFemtoDream {
11581180 }
11591181 doSameEvent<true , DecayChannel::DplusToPiKPi, FilteredCharmMcCand3Prongs>(sliceMcCharmHad, sliceMcTrk1, parts, col);
11601182 }
1161- switch (mixSetting.mixingBinPolicy ) {
1162- case femtodreamcollision::kMult :
1163- doMixedEvent<true , DecayChannel::DplusToPiKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, partitionMcTrk1, parts, colBinningMult);
1164- break ;
1165- case femtodreamcollision::kMultPercentile :
1166- doMixedEvent<true , DecayChannel::DplusToPiKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, partitionMcTrk1, parts, colBinningMultPercentile);
1167- break ;
1168- case femtodreamcollision::kMultMultPercentile :
1169- doMixedEvent<true , DecayChannel::DplusToPiKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, partitionMcTrk1, parts, colBinningMultMultPercentile);
1170- break ;
1171- default :
1172- LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
1183+ if (mixSetting.doMixEvent ) {
1184+ auto * partitionTrk1Selected = &partitionMcTrk1;
1185+ if (trackSel.pdgCodeTrack1 .value == kKPlus ) {
1186+ partitionTrk1Selected = &partitionMcTrk1Ka;
1187+ }
1188+ switch (mixSetting.mixingBinPolicy ) {
1189+ case femtodreamcollision::kMult :
1190+ doMixedEvent<true , DecayChannel::DplusToPiKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, *partitionTrk1Selected, parts, colBinningMult);
1191+ break ;
1192+ case femtodreamcollision::kMultPercentile :
1193+ doMixedEvent<true , DecayChannel::DplusToPiKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, *partitionTrk1Selected, parts, colBinningMultPercentile);
1194+ break ;
1195+ case femtodreamcollision::kMultMultPercentile :
1196+ doMixedEvent<true , DecayChannel::DplusToPiKPi, FilteredMcColisions>(cols, partitionMcCharmHadron3Prong, *partitionTrk1Selected, parts, colBinningMultMultPercentile);
1197+ break ;
1198+ default :
1199+ LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
1200+ }
11731201 }
11741202 }
11751203 PROCESS_SWITCH (HfTaskCharmHadronsTrackFemtoDream, processMcDplusTrk, " Enable processing DplusToPiKPi and Tracks correlation for Monte Carlo" , false );
@@ -1193,18 +1221,24 @@ struct HfTaskCharmHadronsTrackFemtoDream {
11931221 }
11941222 doSameEvent<true , DecayChannel::D0ToPiK, FilteredCharmMcCand2Prongs>(sliceMcCharmHad, sliceMcTrk1, parts, col);
11951223 }
1196- switch (mixSetting.mixingBinPolicy ) {
1197- case femtodreamcollision::kMult :
1198- doMixedEvent<true , DecayChannel::D0ToPiK, FilteredMcColisions>(cols, partitionMcCharmHadron2Prong, partitionMcTrk1, parts, colBinningMult);
1199- break ;
1200- case femtodreamcollision::kMultPercentile :
1201- doMixedEvent<true , DecayChannel::D0ToPiK, FilteredMcColisions>(cols, partitionMcCharmHadron2Prong, partitionMcTrk1, parts, colBinningMultPercentile);
1202- break ;
1203- case femtodreamcollision::kMultMultPercentile :
1204- doMixedEvent<true , DecayChannel::D0ToPiK, FilteredMcColisions>(cols, partitionMcCharmHadron2Prong, partitionMcTrk1, parts, colBinningMultMultPercentile);
1205- break ;
1206- default :
1207- LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
1224+ if (mixSetting.doMixEvent ) {
1225+ auto * partitionTrk1Selected = &partitionMcTrk1;
1226+ if (trackSel.pdgCodeTrack1 .value == kKPlus ) {
1227+ partitionTrk1Selected = &partitionMcTrk1Ka;
1228+ }
1229+ switch (mixSetting.mixingBinPolicy ) {
1230+ case femtodreamcollision::kMult :
1231+ doMixedEvent<true , DecayChannel::D0ToPiK, FilteredMcColisions>(cols, partitionMcCharmHadron2Prong, *partitionTrk1Selected, parts, colBinningMult);
1232+ break ;
1233+ case femtodreamcollision::kMultPercentile :
1234+ doMixedEvent<true , DecayChannel::D0ToPiK, FilteredMcColisions>(cols, partitionMcCharmHadron2Prong, *partitionTrk1Selected, parts, colBinningMultPercentile);
1235+ break ;
1236+ case femtodreamcollision::kMultMultPercentile :
1237+ doMixedEvent<true , DecayChannel::D0ToPiK, FilteredMcColisions>(cols, partitionMcCharmHadron2Prong, *partitionTrk1Selected, parts, colBinningMultMultPercentile);
1238+ break ;
1239+ default :
1240+ LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
1241+ }
12081242 }
12091243 }
12101244 PROCESS_SWITCH (HfTaskCharmHadronsTrackFemtoDream, processMcD0Trk, " Enable processing D0ToPiK and Tracks correlation for Monte Carlo" , false );
@@ -1228,18 +1262,24 @@ struct HfTaskCharmHadronsTrackFemtoDream {
12281262 }
12291263 doSameEvent<true , DecayChannel::DstarToD0Pi, FilteredCharmMcCandDstars>(sliceMcCharmHad, sliceMcTrk1, parts, col);
12301264 }
1231- switch (mixSetting.mixingBinPolicy ) {
1232- case femtodreamcollision::kMult :
1233- doMixedEvent<true , DecayChannel::DstarToD0Pi, FilteredMcColisions>(cols, partitionMcCharmHadronDstar, partitionMcTrk1, parts, colBinningMult);
1234- break ;
1235- case femtodreamcollision::kMultPercentile :
1236- doMixedEvent<true , DecayChannel::DstarToD0Pi, FilteredMcColisions>(cols, partitionMcCharmHadronDstar, partitionMcTrk1, parts, colBinningMultPercentile);
1237- break ;
1238- case femtodreamcollision::kMultMultPercentile :
1239- doMixedEvent<true , DecayChannel::DstarToD0Pi, FilteredMcColisions>(cols, partitionMcCharmHadronDstar, partitionMcTrk1, parts, colBinningMultMultPercentile);
1240- break ;
1241- default :
1242- LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
1265+ if (mixSetting.doMixEvent ) {
1266+ auto * partitionTrk1Selected = &partitionMcTrk1;
1267+ if (trackSel.pdgCodeTrack1 .value == kKPlus ) {
1268+ partitionTrk1Selected = &partitionMcTrk1Ka;
1269+ }
1270+ switch (mixSetting.mixingBinPolicy ) {
1271+ case femtodreamcollision::kMult :
1272+ doMixedEvent<true , DecayChannel::DstarToD0Pi, FilteredMcColisions>(cols, partitionMcCharmHadronDstar, *partitionTrk1Selected, parts, colBinningMult);
1273+ break ;
1274+ case femtodreamcollision::kMultPercentile :
1275+ doMixedEvent<true , DecayChannel::DstarToD0Pi, FilteredMcColisions>(cols, partitionMcCharmHadronDstar, *partitionTrk1Selected, parts, colBinningMultPercentile);
1276+ break ;
1277+ case femtodreamcollision::kMultMultPercentile :
1278+ doMixedEvent<true , DecayChannel::DstarToD0Pi, FilteredMcColisions>(cols, partitionMcCharmHadronDstar, *partitionTrk1Selected, parts, colBinningMultMultPercentile);
1279+ break ;
1280+ default :
1281+ LOG (fatal) << " Invalid binning policiy specifed. Breaking..." ;
1282+ }
12431283 }
12441284 }
12451285 PROCESS_SWITCH (HfTaskCharmHadronsTrackFemtoDream, processMcDstarTrk, " Enable processing DstarToD0Pi and Tracks correlation for Monte Carlo" , false );
0 commit comments