@@ -934,29 +934,31 @@ struct TableMakerMC {
934934 VarManager::FillTrackCollision<TMuonFillMap>(muontrack, collision);
935935 VarManager::FillGlobalMuonRefit<TMuonFillMap>(muontrack, mfttrack, collision);
936936 } else {
937- if constexpr ((static_cast <bool >(TMuonRealignFillMap)) && static_cast <int >(muon.trackType ()) > 2 ) {
938- // refill kinematic info and recalculate propagation in case of using realigned muons
939- auto muonRealignSelected = muonsRealign.sliceBy (fwdtrackRealignPerMuon, assoc.fwdtrackId ());
940- int realignRemoveFlag = 0 ;
941- if (muonRealignSelected.size () == 1 ) {
942- for (const auto & muonRealign : muonRealignSelected) {
943- // refill muon information with realigned tracks
944- VarManager::FillTrack<TMuonRealignFillMap>(muonRealign);
945- realignRemoveFlag = muonRealign.isRemovable ();
946-
947- if (fConfigVariousOptions .fPropMuon ) {
948- VarManager::FillPropagateMuon<TMuonRealignFillMap>(muonRealign, collision);
937+ if constexpr ((static_cast <bool >(TMuonRealignFillMap))) {
938+ if (static_cast <int >(muon.trackType ()) > 2 ) {
939+ // refill kinematic info and recalculate propagation in case of using realigned muons
940+ auto muonRealignSelected = muonsRealign.sliceBy (fwdtrackRealignPerMuon, assoc.fwdtrackId ());
941+ int realignRemoveFlag = 0 ;
942+ if (muonRealignSelected.size () == 1 ) {
943+ for (const auto & muonRealign : muonRealignSelected) {
944+ // refill muon information with realigned tracks
945+ VarManager::FillTrack<TMuonRealignFillMap>(muonRealign);
946+ realignRemoveFlag = muonRealign.isRemovable ();
947+
948+ if (fConfigVariousOptions .fPropMuon ) {
949+ VarManager::FillPropagateMuon<TMuonRealignFillMap>(muonRealign, collision);
950+ }
951+
952+ VarManager::FillTrackCollision<TMuonRealignFillMap>(muonRealign, collision);
949953 }
950954
951- VarManager::FillTrackCollision<TMuonRealignFillMap>(muonRealign, collision);
952- }
955+ if (realignRemoveFlag) {
956+ continue ;
957+ }
953958
954- if (realignRemoveFlag) {
955- continue ;
959+ } else {
960+ LOGF (fatal, " Inconsistent size of realigned muon track candidates. " ) ;
956961 }
957-
958- } else {
959- LOGF (fatal, " Inconsistent size of realigned muon track candidates." );
960962 }
961963 } else {
962964 VarManager::FillTrackCollision<TMuonFillMap>(muon, collision);
@@ -1072,29 +1074,31 @@ struct TableMakerMC {
10721074 VarManager::FillTrackCollision<TMuonFillMap>(muontrack, collision);
10731075 VarManager::FillGlobalMuonRefit<TMuonFillMap>(muontrack, mfttrack, collision);
10741076 } else {
1075- if constexpr ((static_cast <bool >(TMuonRealignFillMap)) && static_cast <int >(muon.trackType ()) > 2 ) {
1076- // refill kinematic info and recalculate propagation in case of using realigned muons
1077- auto muonRealignSelected = muonsRealign.sliceBy (fwdtrackRealignPerMuon, muon.globalIndex ());
1078- int realignRemoveFlag = 0 ;
1079- if (muonRealignSelected.size () == 1 ) {
1080- for (const auto & muonRealign : muonRealignSelected) {
1081- // refill muon information with realigned tracks
1082- VarManager::FillTrack<TMuonRealignFillMap>(muonRealign);
1083- realignRemoveFlag = muonRealign.isRemovable ();
1084-
1085- if (fConfigVariousOptions .fPropMuon ) {
1086- VarManager::FillPropagateMuon<TMuonRealignFillMap>(muonRealign, collision);
1077+ if constexpr ((static_cast <bool >(TMuonRealignFillMap))) {
1078+ if (static_cast <int >(muon.trackType ()) > 2 ) {
1079+ // refill kinematic info and recalculate propagation in case of using realigned muons
1080+ auto muonRealignSelected = muonsRealign.sliceBy (fwdtrackRealignPerMuon, muon.globalIndex ());
1081+ int realignRemoveFlag = 0 ;
1082+ if (muonRealignSelected.size () == 1 ) {
1083+ for (const auto & muonRealign : muonRealignSelected) {
1084+ // refill muon information with realigned tracks
1085+ VarManager::FillTrack<TMuonRealignFillMap>(muonRealign);
1086+ realignRemoveFlag = muonRealign.isRemovable ();
1087+
1088+ if (fConfigVariousOptions .fPropMuon ) {
1089+ VarManager::FillPropagateMuon<TMuonRealignFillMap>(muonRealign, collision);
1090+ }
1091+
1092+ VarManager::FillTrackCollision<TMuonRealignFillMap>(muonRealign, collision);
10871093 }
10881094
1089- VarManager::FillTrackCollision<TMuonRealignFillMap>(muonRealign, collision);
1090- }
1095+ if (realignRemoveFlag) {
1096+ continue ;
1097+ }
10911098
1092- if (realignRemoveFlag) {
1093- continue ;
1099+ } else {
1100+ LOGF (fatal, " Inconsistent size of realigned muon track candidates. " ) ;
10941101 }
1095-
1096- } else {
1097- LOGF (fatal, " Inconsistent size of realigned muon track candidates." );
10981102 }
10991103 } else {
11001104 VarManager::FillTrackCollision<TMuonFillMap>(muon, collision);
@@ -1229,10 +1233,11 @@ struct TableMakerMC {
12291233 } else {
12301234 if constexpr (static_cast <bool >(TMuonRealignFillMap)) {
12311235 auto groupedMuonIndices = fwdTrackAssocs.sliceBy (fwdtrackIndicesPerCollision, origIdx);
1232- skimMuons<TMuonFillMap, 0u , 0u >(collision, muons, nullptr , groupedMuonIndices, mcParticles, nullptr );
1236+ auto muonsRealignThisCollision = muonsRealign.sliceBy (perCollisionMuonsRealign, origIdx);
1237+ skimMuons<TMuonFillMap, TMuonRealignFillMap, 0u >(collision, muons, muonsRealignThisCollision, groupedMuonIndices, mcParticles, mftTracks);
12331238 } else {
12341239 auto groupedMuonIndices = fwdTrackAssocs.sliceBy (fwdtrackIndicesPerCollision, origIdx);
1235- skimMuons<TMuonFillMap, TMuonRealignFillMap , 0u >(collision, muons, muonsRealign , groupedMuonIndices, mcParticles, nullptr );
1240+ skimMuons<TMuonFillMap, 0u , 0u >(collision, muons, nullptr , groupedMuonIndices, mcParticles, nullptr );
12361241 }
12371242 }
12381243 }
@@ -1410,10 +1415,10 @@ struct TableMakerMC {
14101415
14111416 void processPPRealignedMuonOnly (MyEventsWithMults const & collisions, aod::BCsWithTimestamps const & bcs,
14121417 MyMuonsWithCov const & tracksMuon, MyMuonsRealignWithCov const & muonsRealign, MFTTrackLabeled const & mftTracks,
1413- aod::FwdTrackAssoc const & fwdTrackAssocs, aod::MFTTrackAssoc const & mftAssocs,
1418+ aod::FwdTrackAssoc const & fwdTrackAssocs,
14141419 aod::McCollisions const & mcCollisions, aod::McParticles const & mcParticles)
14151420 {
1416- fullSkimming<gkEventFillMapWithMults, 0u , gkMuonFillMapWithCov, gkMuonRealignFillMapWithCov, gkMFTFillMap >(collisions, bcs, nullptr , tracksMuon, muonsRealign, mftTracks, nullptr , fwdTrackAssocs, mftAssocs , mcCollisions, mcParticles);
1421+ fullSkimming<gkEventFillMapWithMults, 0u , gkMuonFillMapWithCov, gkMuonRealignFillMapWithCov, 0u >(collisions, bcs, nullptr , tracksMuon, muonsRealign, mftTracks, nullptr , fwdTrackAssocs, nullptr , mcCollisions, mcParticles);
14171422 }
14181423
14191424 void processPbPb (MyEventsWithCentAndMults const & collisions, aod::BCsWithTimestamps const & bcs,
@@ -1448,10 +1453,10 @@ struct TableMakerMC {
14481453
14491454 void processPbPbRealignedMuonOnly (MyEventsWithCentAndMults const & collisions, aod::BCsWithTimestamps const & bcs,
14501455 MyMuonsWithCov const & tracksMuon, MyMuonsRealignWithCov const & muonsRealign, MFTTrackLabeled const & mftTracks,
1451- aod::FwdTrackAssoc const & fwdTrackAssocs, aod::MFTTrackAssoc const & mftAssocs,
1456+ aod::FwdTrackAssoc const & fwdTrackAssocs,
14521457 aod::McCollisions const & mcCollisions, aod::McParticles const & mcParticles)
14531458 {
1454- fullSkimming<gkEventFillMapWithCentAndMults, 0u , gkMuonFillMapWithCov, gkMuonRealignFillMapWithCov, gkMFTFillMap >(collisions, bcs, nullptr , tracksMuon, muonsRealign, mftTracks, nullptr , fwdTrackAssocs, mftAssocs , mcCollisions, mcParticles);
1459+ fullSkimming<gkEventFillMapWithCentAndMults, 0u , gkMuonFillMapWithCov, gkMuonRealignFillMapWithCov, 0u >(collisions, bcs, nullptr , tracksMuon, muonsRealign, mftTracks, nullptr , fwdTrackAssocs, nullptr , mcCollisions, mcParticles);
14551460 }
14561461
14571462 // Process the BCs and store stats for luminosity retrieval -----------------------------------------------------------------------------------
0 commit comments