diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index 8d878d122c3..4b4bc5c33e2 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -28,8 +28,8 @@ #include "Common/CCDB/TriggerAliases.h" #include "Common/Core/CollisionTypeHelper.h" #include "Common/Core/EventPlaneHelper.h" -#include "Common/Core/trackUtilities.h" #include "Common/Core/fwdtrackUtilities.h" +#include "Common/Core/trackUtilities.h" #include "CommonConstants/LHCConstants.h" #include "CommonConstants/PhysicsConstants.h" @@ -1481,12 +1481,6 @@ void VarManager::FillGlobalMuonRefit(T1 const& muontrack, T2 const& mfttrack, co } } - - - - - - template void VarManager::FillGlobalMuonRefitCov(T1 const& muontrack, T2 const& mfttrack, const C& collision, C2 const& mftcov, float* values) { @@ -1498,12 +1492,12 @@ void VarManager::FillGlobalMuonRefitCov(T1 const& muontrack, T2 const& mfttrack, o2::dataformats::GlobalFwdTrack propmuon = PropagateMuon(muontrack, collision); SMatrix5 tpars(mfttrack.x(), mfttrack.y(), mfttrack.phi(), mfttrack.tgl(), mfttrack.signed1Pt()); std::vector v1{mftcov.cXX(), mftcov.cXY(), mftcov.cYY(), mftcov.cPhiX(), mftcov.cPhiY(), - mftcov.cPhiPhi(), mftcov.cTglX(), mftcov.cTglY(), mftcov.cTglPhi(), mftcov.cTglTgl(), - mftcov.c1PtX(), mftcov.c1PtY(), mftcov.c1PtPhi(), mftcov.c1PtTgl(), mftcov.c1Pt21Pt2()}; + mftcov.cPhiPhi(), mftcov.cTglX(), mftcov.cTglY(), mftcov.cTglPhi(), mftcov.cTglTgl(), + mftcov.c1PtX(), mftcov.c1PtY(), mftcov.c1PtPhi(), mftcov.c1PtTgl(), mftcov.c1Pt21Pt2()}; SMatrix55 tcovs(v1.begin(), v1.end()); o2::track::TrackParCovFwd mft{mfttrack.z(), tpars, tcovs, mfttrack.chi2()}; - o2::dataformats::GlobalFwdTrack globalRefit = o2::aod::fwdtrackutils::refitGlobalMuonCov(propmuon,mft); + o2::dataformats::GlobalFwdTrack globalRefit = o2::aod::fwdtrackutils::refitGlobalMuonCov(propmuon, mft); values[kX] = globalRefit.getX(); values[kY] = globalRefit.getY(); values[kZ] = globalRefit.getZ(); diff --git a/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx b/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx index 3731252ff56..18586b671eb 100644 --- a/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx +++ b/PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx @@ -238,14 +238,14 @@ struct TableMakerMC { std::map fMftIndexMap; // key: MFT tracklet global index, value: new MFT tracklet global index std::map fBestMatch; - std::unordered_map map_mfttrackcovs; + std::unordered_map map_mfttrackcovs; void init(o2::framework::InitContext& context) { // Check whether barrel or muon are enabled bool isProcessBCenabled = context.mOptions.get("processPP"); bool isBarrelEnabled = (context.mOptions.get("processPP") || context.mOptions.get("processPPBarrelOnly") || context.mOptions.get("processPbPbBarrelOnly") || context.mOptions.get("processPbPbWithFilterBarrelOnly")); - bool isMuonEnabled = (context.mOptions.get("processPP") || context.mOptions.get("processPPMuonOnlyBasic") || context.mOptions.get("processPPMuonOnly") || context.mOptions.get("processPPRealignedMuonOnly") || context.mOptions.get("processPbPbMuonOnly") || context.mOptions.get("processPbPbRealignedMuonOnly")) ||context.mOptions.get("processPPMuonRefit"); + bool isMuonEnabled = (context.mOptions.get("processPP") || context.mOptions.get("processPPMuonOnlyBasic") || context.mOptions.get("processPPMuonOnly") || context.mOptions.get("processPPRealignedMuonOnly") || context.mOptions.get("processPbPbMuonOnly") || context.mOptions.get("processPbPbRealignedMuonOnly")) || context.mOptions.get("processPPMuonRefit"); // Make sure at least one process function is enabled if (!(isProcessBCenabled || isBarrelEnabled || isMuonEnabled)) { LOG(fatal) << "No process function was enabled for TableMakerMC. Check it out!!!"; @@ -944,12 +944,12 @@ struct TableMakerMC { } auto mfttrack = muon.template matchMFTTrack_as(); VarManager::FillTrackCollision(muontrack, collision); - if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { - auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]); + if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { + auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]); VarManager::FillGlobalMuonRefitCov(muontrack, mfttrack, collision, mfttrackcov); - }else{ + } else { VarManager::FillGlobalMuonRefit(muontrack, mfttrack, collision); - } + } } else { VarManager::FillTrackCollision(muon, collision); } @@ -1072,12 +1072,12 @@ struct TableMakerMC { auto mfttrack = muon.template matchMFTTrack_as(); globalClusters += mfttrack.nClusters(); VarManager::FillTrackCollision(muontrack, collision); - if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { - auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]); + if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { + auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]); VarManager::FillGlobalMuonRefitCov(muontrack, mfttrack, collision, mfttrackcov); - }else{ + } else { VarManager::FillGlobalMuonRefit(muontrack, mfttrack, collision); - } + } } else { VarManager::FillTrackCollision(muon, collision); } @@ -1189,7 +1189,7 @@ struct TableMakerMC { } if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { - for (auto &mfttrackConv : mftCovs) { + for (auto& mfttrackConv : mftCovs) { map_mfttrackcovs[mfttrackConv.matchMFTTrackId()] = mfttrackConv.globalIndex(); } } @@ -1213,11 +1213,11 @@ struct TableMakerMC { if (fConfigVariousOptions.fKeepBestMatch) { skimBestMuonMatches(muons); } - if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { + if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { skimMuons(collision, muons, groupedMuonIndices, mcParticles, mftTracks, mftCovs); - }else{ + } else { skimMuons(collision, muons, groupedMuonIndices, mcParticles, mftTracks, nullptr); - } + } } else { auto groupedMuonIndices = fwdTrackAssocs.sliceBy(fwdtrackIndicesPerCollision, origIdx); skimMuons(collision, muons, groupedMuonIndices, mcParticles, nullptr, nullptr); @@ -1396,9 +1396,9 @@ struct TableMakerMC { } void processPPMuonRefit(MyEventsWithMults const& collisions, aod::BCsWithTimestamps const& bcs, - MyMuonsWithCov const& tracksMuon, MFTTrackLabeled const& mftTracks, - aod::FwdTrackAssoc const& fwdTrackAssocs, aod::MFTTrackAssoc const& mftAssocs, - aod::McCollisions const& mcCollisions, aod::McParticles const& mcParticles, aod::MFTTracksCov const& mftCovs) + MyMuonsWithCov const& tracksMuon, MFTTrackLabeled const& mftTracks, + aod::FwdTrackAssoc const& fwdTrackAssocs, aod::MFTTrackAssoc const& mftAssocs, + aod::McCollisions const& mcCollisions, aod::McParticles const& mcParticles, aod::MFTTracksCov const& mftCovs) { fullSkimming(collisions, bcs, nullptr, tracksMuon, mftTracks, nullptr, fwdTrackAssocs, mftAssocs, mcCollisions, mcParticles, mftCovs); } diff --git a/PWGDQ/TableProducer/tableMaker_withAssoc.cxx b/PWGDQ/TableProducer/tableMaker_withAssoc.cxx index f73d649541f..0bbb1f5aaac 100644 --- a/PWGDQ/TableProducer/tableMaker_withAssoc.cxx +++ b/PWGDQ/TableProducer/tableMaker_withAssoc.cxx @@ -288,7 +288,7 @@ struct TableMaker { std::map fMftIndexMap; // key: MFT tracklet global index, value: new MFT tracklet global index std::map fBestMatch; - std::unordered_map map_mfttrackcovs; + std::unordered_map map_mfttrackcovs; // FIXME: For now, the skimming is done using the Common track-collision association task, which does not allow to use // our own Filtered tracks. If the filter is very selective, then it may be worth to run the association in this workflow // using the Common/CollisionAssociation class @@ -1209,12 +1209,12 @@ struct TableMaker { VarManager::FillTrackCollision(muontrack, collision); // NOTE: the MFT track originally associated to the MUON track is currently used in the global muon refit // Should MUON - MFT time ambiguities be taken into account ? - if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { - auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]); + if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { + auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]); VarManager::FillGlobalMuonRefitCov(muontrack, mfttrack, collision, mfttrackcov); - }else{ + } else { VarManager::FillGlobalMuonRefit(muontrack, mfttrack, collision); - } + } } else { VarManager::FillTrackCollision(muon, collision); } @@ -1301,12 +1301,12 @@ struct TableMaker { auto mfttrack = muon.template matchMFTTrack_as(); globalClusters += mfttrack.nClusters(); VarManager::FillTrackCollision(muontrack, collision); - if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { - auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]); + if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { + auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]); VarManager::FillGlobalMuonRefitCov(muontrack, mfttrack, collision, mfttrackcov); - }else{ + } else { VarManager::FillGlobalMuonRefit(muontrack, mfttrack, collision); - } + } } else { VarManager::FillTrackCollision(muon, collision); } @@ -1422,7 +1422,7 @@ struct TableMaker { } if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { - for (auto &mfttrackConv : mftCovs) { + for (auto& mfttrackConv : mftCovs) { map_mfttrackcovs[mfttrackConv.matchMFTTrackId()] = mfttrackConv.globalIndex(); } } @@ -1444,14 +1444,14 @@ struct TableMaker { if constexpr (static_cast(TMuonFillMap)) { if constexpr (static_cast(TMFTFillMap)) { auto groupedMuonIndices = fwdTrackAssocs.sliceBy(fwdtrackIndicesPerCollision, origIdx); - if (fConfigVariousOptions.fKeepBestMatch) { - skimBestMuonMatches(muons); - } - if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { - skimMuons(collision, bcs, muons, groupedMuonIndices, mftTracks, mftCovs); - }else{ - skimMuons(collision, bcs, muons, groupedMuonIndices, mftTracks, nullptr); - } + if (fConfigVariousOptions.fKeepBestMatch) { + skimBestMuonMatches(muons); + } + if constexpr (static_cast(TMFTFillMap & VarManager::ObjTypes::MFTCov)) { + skimMuons(collision, bcs, muons, groupedMuonIndices, mftTracks, mftCovs); + } else { + skimMuons(collision, bcs, muons, groupedMuonIndices, mftTracks, nullptr); + } } else { auto groupedMuonIndices = fwdTrackAssocs.sliceBy(fwdtrackIndicesPerCollision, origIdx); skimMuons(collision, bcs, muons, groupedMuonIndices, nullptr, nullptr);