From e53aa1becf2360be21f75db59ebd580e9b4ac34d Mon Sep 17 00:00:00 2001 From: Rashi Gupta Date: Thu, 20 Feb 2025 05:16:59 +0530 Subject: [PATCH 01/61] add non Hfe selection and correlation --- PWGHF/HFC/DataModel/CorrelationTables.h | 25 +- .../TableProducer/correlatorHfeHadrons.cxx | 221 +++++++++++-- PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx | 47 ++- PWGHF/HFL/DataModel/ElectronSelectionTable.h | 64 +++- PWGHF/HFL/TableProducer/CMakeLists.txt | 2 +- .../electronSelectionWithTpcEmcal.cxx | 311 +++++++++++++++--- 6 files changed, 581 insertions(+), 89 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 797d693e176..fee6106abca 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -475,13 +475,36 @@ DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Electron DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron; DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity +DECLARE_SOA_COLUMN(IsLSEHCorr, isLSEHCorr, int); //! like sign Electron hadron coorelation +DECLARE_SOA_COLUMN(IsULSEHCorr, isULSEHCorr, int); //! unLike sign Electron hadron coorelation } // namespace hf_correlation_electron_hadron DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs Informations hf_correlation_electron_hadron::DeltaPhi, hf_correlation_electron_hadron::DeltaEta, hf_correlation_electron_hadron::PtElectron, hf_correlation_electron_hadron::PtHadron, - hf_correlation_electron_hadron::PoolBin); + hf_correlation_electron_hadron::PoolBin, + hf_correlation_electron_hadron::IsLSEHCorr, + hf_correlation_electron_hadron::IsULSEHCorr); + +// Note: definition of columns and tables for Electron Hadron correlation pairs for MC Gen +namespace hf_correlation_mcgenelectron_hadron +{ +DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons +DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Electron and Hadrons +DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron +DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron; +DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity +DECLARE_SOA_COLUMN(IsNonHfEHCorr, isNonHfEHCorr, int); //! nonHeavy Flavour Electron hadron coorelation + +} // namespace hf_correlation_mcgenelectron_hadron +DECLARE_SOA_TABLE(HfEHadronMcGenPair, "AOD", "HFEHADRONMCGENPAIR", //! Hfe-Hadrons pairs Informations + hf_correlation_mcgenelectron_hadron::DeltaPhi, + hf_correlation_mcgenelectron_hadron::DeltaEta, + hf_correlation_mcgenelectron_hadron::PtElectron, + hf_correlation_mcgenelectron_hadron::PtHadron, + hf_correlation_mcgenelectron_hadron::PoolBin, + hf_correlation_mcgenelectron_hadron::IsNonHfEHCorr); } // namespace o2::aod #endif // PWGHF_HFC_DATAMODEL_CORRELATIONTABLES_H_ diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index 51ebf817683..84d6e46f40e 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -37,17 +37,16 @@ using namespace o2::framework; using namespace o2::framework::expressions; using namespace o2::soa; using namespace o2::aod::hf_sel_electron; - -// definition of ME variables and new types std::vector zBins{VARIABLE_WIDTH, -10.0, -2.5, 2.5, 10.0}; std::vector multBins{VARIABLE_WIDTH, 0., 200., 500.0, 5000.}; std::vector multBinsMcGen{VARIABLE_WIDTH, 0., 20., 50.0, 500.}; // In MCGen multiplicity is defined by counting primaries using BinningType = ColumnBinningPolicy>; BinningType corrBinning{{zBins, multBins}, true}; - +using BinningTypeMcGen = ColumnBinningPolicy; struct HfCorrelatorHfeHadrons { SliceCache cache; Produces entryElectronHadronPair; + Produces entryElectronHadronPairmcGen; // Configurables // Event Selection Configurable zPvPosMax{"zPvPosMax", 10., "Maximum z of the primary vertex (cm)"}; @@ -66,7 +65,8 @@ struct HfCorrelatorHfeHadrons { using TableCollisions = o2::soa::Filtered>; using TableCollision = TableCollisions::iterator; using TableTracks = o2::soa::Join; - + using McGenTableCollisions = soa::Join; + using McGenTableCollision = McGenTableCollisions::iterator; using McTableCollisions = o2::soa::Filtered>; using McTableCollision = McTableCollisions::iterator; using McTableTracks = soa::Join; @@ -79,13 +79,30 @@ struct HfCorrelatorHfeHadrons { HistogramRegistry registry{ "registry", {{"hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hLSEHCorrel", "Sparse for Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hULSEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hMCgenNonHfEHCorrel", "Sparse for Delta phi and Delta eta Non Hf for McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hMCgenInclusiveEHCorrl", "Sparse for Delta phi and Delta eta for McGen Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, {"hptElectron", "hptElectron", {HistType::kTH1F, {{100, 0, 100}}}}, - {"hMixEventInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}}}; + + {"hMixEventInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hMixEventLSEHCorrel", "Sparse for mix event Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hMixEventULSEHCorrel", "Sparse for mix event Delta phi and Delta eta Unlike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hMixEventMcGenInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hMixEventMcGenNonHfEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}}}; void init(InitContext&) { registry.get(HIST("hInclusiveEHCorrel"))->Sumw2(); + registry.get(HIST("hLSEHCorrel"))->Sumw2(); + registry.get(HIST("hULSEHCorrel"))->Sumw2(); + registry.get(HIST("hMCgenInclusiveEHCorrl"))->Sumw2(); + registry.get(HIST("hMCgenNonHfEHCorrel"))->Sumw2(); registry.get(HIST("hMixEventInclusiveEHCorrl"))->Sumw2(); + registry.get(HIST("hMixEventLSEHCorrel"))->Sumw2(); + registry.get(HIST("hMixEventULSEHCorrel"))->Sumw2(); + registry.get(HIST("hMixEventMcGenInclusiveEHCorrl"))->Sumw2(); + registry.get(HIST("hMixEventMcGenNonHfEHCorrl"))->Sumw2(); } // Associated Hadron Selection Cut @@ -132,27 +149,49 @@ struct HfCorrelatorHfeHadrons { double ptHadron = -999; double etaHadron = -999; double phiHadron = -999; - - if (!eTrack.isEmcal()) + if (!eTrack.isEmcal()) { continue; - + } registry.fill(HIST("hptElectron"), ptElectron); + for (const auto& hTrack : tracks) { - if (hTrack.globalIndex() == eTrack.trackId()) + if (hTrack.globalIndex() == eTrack.trackId()) { continue; + } + // Apply Hadron cut - if (!selAssoHadron(hTrack)) + if (!selAssoHadron(hTrack)) { continue; + } + ptHadron = hTrack.pt(); phiHadron = hTrack.phi(); etaHadron = hTrack.eta(); - if (ptCondition && (ptElectron < ptHadron)) + if (ptCondition && (ptElectron < ptHadron)) { continue; + } + deltaPhi = RecoDecay::constrainAngle(phiElectron - phiHadron, -o2::constants::math::PIHalf); deltaEta = etaElectron - etaHadron; registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin); + int isLSElectroncorr = 0; + int isULSElectroncorr = 0; + if (eTrack.isLSElectron() > 0) { + for (int i = 0; i < eTrack.isLSElectron(); ++i) { + + registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + ++isLSElectroncorr; + } + } + if (eTrack.isULSElectron() > 0) { + for (int i = 0; i < eTrack.isULSElectron(); ++i) { + + registry.fill(HIST("hULSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + ++isULSElectroncorr; + } + } + entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin, isLSElectroncorr, isULSElectroncorr); } } } @@ -173,42 +212,64 @@ struct HfCorrelatorHfeHadrons { double etaHadronMix = -999; double phiHadronMix = -999; int poolBin = corrBinning.getBin(std::make_tuple(c2.posZ(), c2.multFV0M())); - for (auto& [t1, t2] : combinations(CombinationsFullIndexPolicy(tracks1, tracks2))) { - if (!t1.isEmcal()) + for (const auto& [t1, t2] : combinations(CombinationsFullIndexPolicy(tracks1, tracks2))) { + if (!t1.isEmcal()) { continue; + } + ptHadronMix = t2.pt(); ptElectronMix = t1.ptTrack(); phiElectronMix = t1.phiTrack(); phiHadronMix = t2.phi(); etaElectronMix = t1.etaTrack(); etaHadronMix = t2.eta(); - if (!selAssoHadron(t2)) + if (!selAssoHadron(t2)) { continue; - if (ptCondition && (ptElectronMix < ptHadronMix)) + } + + if (ptCondition && (ptElectronMix < ptHadronMix)) { continue; + } + deltaPhiMix = RecoDecay::constrainAngle(phiElectronMix - phiHadronMix, -o2::constants::math::PIHalf); deltaEtaMix = etaElectronMix - etaHadronMix; registry.fill(HIST("hMixEventInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - entryElectronHadronPair(deltaPhiMix, deltaEtaMix, ptElectronMix, ptHadronMix, poolBin); + int isLSElectroncorr = 0; + int isULSElectroncorr = 0; + if (t1.isLSElectron() > 0) { + for (int i = 0; i < t1.isLSElectron(); ++i) { + + registry.fill(HIST("hMixEventLSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); + ++isLSElectroncorr; + } + } + if (t1.isULSElectron() > 0) { + for (int i = 0; i < t1.isULSElectron(); ++i) { + + registry.fill(HIST("hMixEventULSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); + ++isULSElectroncorr; + } + } + entryElectronHadronPair(deltaPhiMix, deltaEtaMix, ptElectronMix, ptHadronMix, poolBin, isLSElectroncorr, isULSElectroncorr); } } // ======= Process starts for Data, Same event ============ void processData(TableCollision const& collision, - aod::HfSelEl const& electron, + aod::HfCorrSelEl const& electron, TableTracks const& tracks) { fillCorrelation(collision, electron, tracks); } - PROCESS_SWITCH(HfCorrelatorHfeHadrons, processData, "Process for Data", true); + PROCESS_SWITCH(HfCorrelatorHfeHadrons, processData, "Process for Data", false); // ======= Process starts for McRec, Same event ============ void processMcRec(McTableCollision const& mcCollision, - aod::HfSelEl const& mcElectron, + aod::HfCorrSelEl const& mcElectron, McTableTracks const& mcTracks) { fillCorrelation(mcCollision, mcElectron, mcTracks); @@ -216,12 +277,71 @@ struct HfCorrelatorHfeHadrons { PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcRec, "Process MC Reco mode", false); + void processMcGen(McGenTableCollision const& mcCollision, aod::McParticles const& mcParticles, aod::HfMcGenSelEl const& electron) + { + + BinningTypeMcGen corrBinningMcGen{{zBins, multBinsMcGen}, true}; + int poolBin = corrBinningMcGen.getBin(std::make_tuple(mcCollision.posZ(), mcCollision.multMCFT0A())); + + double ptElectron = 0; + double phiElectron = 0; + double etaElectron = 0; + for (const auto& electronMc : electron) { + double ptHadron = 0; + double phiHadron = 0; + double etaHadron = 0; + double deltaPhi = 0; + double deltaEta = 0; + ptElectron = electronMc.ptTrackMc(); + phiElectron = electronMc.phiTrackMc(); + etaElectron = electronMc.etaTrackMc(); + for (const auto& particleMc : mcParticles) { + if (particleMc.globalIndex() == electronMc.trackId()) { + + continue; + } + + // Associated hadron Selection ////// + if (!particleMc.isPhysicalPrimary()) { + continue; + } + + if (particleMc.eta() < etaTrackMin || particleMc.eta() > etaTrackMax) { + continue; + } + if (particleMc.pt() < ptTrackMin) { + continue; + } + ptHadron = particleMc.pt(); + phiHadron = particleMc.phi(); + etaHadron = particleMc.eta(); + if (ptCondition && (ptElectron < ptHadron)) { + return; // Apply pT condition + } + deltaPhi = RecoDecay::constrainAngle(phiElectron - phiHadron, -o2::constants::math::PIHalf); + deltaEta = etaElectron - etaHadron; + bool isNonHfeCorr = false; + if (electronMc.isNonHfeMc()) { + + registry.fill(HIST("hMCgenNonHfEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + isNonHfeCorr = true; + } else { + + registry.fill(HIST("hMCgenInclusiveEHCorrl"), ptElectron, ptHadron, deltaPhi, deltaEta); + } + entryElectronHadronPairmcGen(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin, isNonHfeCorr); + } + } + } + PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcGen, "Process MC Gen mode", true); + // ====================== Implement Event mixing on Data =============================== + // ====================== Implement Event mixing on Data =================================== - void processDataMixedEvent(TableCollisions const& collision, aod::HfSelEl const& electron, TableTracks const& tracks) + void processDataMixedEvent(TableCollisions const& collision, aod::HfCorrSelEl const& electron, TableTracks const& tracks) { auto tracksTuple = std::make_tuple(electron, tracks); - Pair pair{corrBinning, 5, -1, collision, tracksTuple, &cache}; + Pair pair{corrBinning, 5, -1, collision, tracksTuple, &cache}; // loop over the rows of the new table for (auto& [c1, tracks1, c2, tracks2] : pair) { @@ -233,10 +353,10 @@ struct HfCorrelatorHfeHadrons { // ====================== Implement Event mixing on McRec =================================== - void processMcRecMixedEvent(McTableCollisions const& mccollision, aod::HfSelEl const& electron, McTableTracks const& mcTracks) + void processMcRecMixedEvent(McTableCollisions const& mccollision, aod::HfCorrSelEl const& electron, McTableTracks const& mcTracks) { auto tracksTuple = std::make_tuple(electron, mcTracks); - Pair pairMcRec{corrBinning, 5, -1, mccollision, tracksTuple, &cache}; + Pair pairMcRec{corrBinning, 5, -1, mccollision, tracksTuple, &cache}; // loop over the rows of the new table for (auto& [c1, tracks1, c2, tracks2] : pairMcRec) { @@ -245,8 +365,59 @@ struct HfCorrelatorHfeHadrons { } } PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcRecMixedEvent, "Process Mixed Event MC Reco mode", false); -}; + void processMcGenMixedEvent(McGenTableCollisions const& mcCollision, aod::HfMcGenSelEl const& electrons, aod::McParticles const& mcParticles) + { + + BinningTypeMcGen corrBinningMcGen{{zBins, multBinsMcGen}, true}; + + auto tracksTuple = std::make_tuple(electrons, mcParticles); + Pair pairMcGen{corrBinningMcGen, 5, -1, mcCollision, tracksTuple, &cache}; + + // loop over the rows of the new table + double ptElectronMix = -999; + double phiElectronMix = -999; + double etaElectronMix = -999; + double deltaPhiMix = -999; + double deltaEtaMix = -999; + double ptHadronMix = -999; + double etaHadronMix = -999; + double phiHadronMix = -999; + for (auto& [c1, tracks1, c2, tracks2] : pairMcGen) { + int poolBin = corrBinningMcGen.getBin(std::make_tuple(c1.posZ(), c1.multMCFT0A())); + for (auto& [t1, t2] : combinations(CombinationsFullIndexPolicy(tracks1, tracks2))) { + ptHadronMix = t2.pt(); + ptElectronMix = t1.ptTrackMc(); + phiElectronMix = t1.phiTrackMc(); + phiHadronMix = t2.phi(); + etaElectronMix = t1.etaTrackMc(); + etaHadronMix = t2.eta(); + if (t2.eta() < etaTrackMin || t2.eta() > etaTrackMax) { + continue; + } + if (t2.pt() < ptTrackMin) { + continue; + } + if (ptCondition && (ptElectronMix < ptHadronMix)) { + continue; + } + + deltaPhiMix = RecoDecay::constrainAngle(phiElectronMix - phiHadronMix, -o2::constants::math::PIHalf); + deltaEtaMix = etaElectronMix - etaHadronMix; + bool isNonHfeCorr = false; + if (t1.isNonHfeMc()) { + isNonHfeCorr = true; + registry.fill(HIST("hMixEventMcGenNonHfEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); + } else { + registry.fill(HIST("hMixEventMcGenInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); + } + + entryElectronHadronPairmcGen(deltaPhiMix, deltaEtaMix, ptElectronMix, ptHadronMix, poolBin, isNonHfeCorr); + } + } + } + PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcGenMixedEvent, "Process Mixed Event MC Gen mode", false); +}; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { return WorkflowSpec{ diff --git a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx index 5f63948b769..705ec8a9c0d 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx @@ -35,11 +35,19 @@ struct HfTaskCorrelationHfeHadrons { HistogramRegistry registry{ "registry", - {{"hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Hadron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}}}; + {{"hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hLikeSignEHCorrel", "Sparse for Delta phi and Delta eta Likesign Electronpair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hUnLikeSignEHCorrel", "Sparse for Delta phi and Delta eta UnlikeSign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hMcGenInclusiveEHCorrel", "Sparse for Delta phi and Delta eta McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, + {"hMcGenNonHfEHCorrel", "Sparse for Delta phi and Delta eta McGen Non HF Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}}}; void init(InitContext&) { registry.get(HIST("hInclusiveEHCorrel"))->Sumw2(); + registry.get(HIST("hLikeSignEHCorrel"))->Sumw2(); + registry.get(HIST("hUnLikeSignEHCorrel"))->Sumw2(); + registry.get(HIST("hMcGenInclusiveEHCorrel"))->Sumw2(); + registry.get(HIST("hMcGenNonHfEHCorrel"))->Sumw2(); } // correlation for electron hadron @@ -58,8 +66,45 @@ struct HfTaskCorrelationHfeHadrons { ptHadron = pairEntry.ptHadron(); registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + if (pairEntry.isLSEHCorr() > 0) { + for (int i = 0; i < pairEntry.isLSEHCorr(); ++i) { + + registry.fill(HIST("hLikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + } + } + if (pairEntry.isULSEHCorr() > 0) { + for (int i = 0; i < pairEntry.isULSEHCorr(); ++i) { + + registry.fill(HIST("hUnlikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + } + } + } + } + + PROCESS_SWITCH(HfTaskCorrelationHfeHadrons, process, "Process ", false); + + void processMcGen(aod::HfEHadronMcGenPair const& McGenpairEntries) + { + double deltaPhi = -999; + double deltaEta = -999; + double ptHadron = -999; + double ptElectron = -999; + + for (const auto& pairEntry : McGenpairEntries) { + + deltaPhi = pairEntry.deltaPhi(); + deltaEta = pairEntry.deltaEta(); + ptElectron = pairEntry.ptElectron(); + ptHadron = pairEntry.ptHadron(); + + registry.fill(HIST("hMcGenInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + if (pairEntry.isNonHfEHCorr()) { + + registry.fill(HIST("hMcGenNonHfEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + } } } + PROCESS_SWITCH(HfTaskCorrelationHfeHadrons, processMcGen, "Process for Mc Gen ", true); }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index ecf50e1e3de..a5382cb4c20 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -22,7 +22,7 @@ namespace o2::aod { -// definition of columns and tables forElectron Selection +// definition of columns and tables for electron selection namespace hf_sel_electron { DECLARE_SOA_INDEX_COLUMN(Collision, collision); //! collisioniD of the electron track @@ -31,11 +31,11 @@ DECLARE_SOA_COLUMN(EtaTrack, etaTrack, float); //! pseudorapidit DECLARE_SOA_COLUMN(PhiTrack, phiTrack, float); //! azimuth of the electron track DECLARE_SOA_COLUMN(PtTrack, ptTrack, float); //! transverse momentum of the electron track DECLARE_SOA_COLUMN(PTrack, pTrack, float); //! momentum of the electron track -DECLARE_SOA_COLUMN(RapidityTrack, rapadityTrack, float); //! rapidity of the electron track +DECLARE_SOA_COLUMN(RapidityTrack, rapidityTrack, float); //! rapidity of the electron track DECLARE_SOA_COLUMN(DcaXYTrack, dcaXYTrack, float); //! dca of the electron in xy direction DECLARE_SOA_COLUMN(DcaZTrack, dcaZTrack, float); //! dca of the electron in z direction -DECLARE_SOA_COLUMN(TPCNSigmaElTrack, tpcNSigmaElTrack, float); //! tpcNSigma of the electron track(TPC PID) -DECLARE_SOA_COLUMN(TOFNSigmaElTrack, tofNSigmaElTrack, float); //! tofNSigma of the electron track(TOF PID) +DECLARE_SOA_COLUMN(TpcNSigmaElTrack, tpcNSigmaElTrack, float); //! tpcNSigma of the electron track(TPC PID) +DECLARE_SOA_COLUMN(TofNSigmaElTrack, tofNSigmaElTrack, float); //! tofNSigma of the electron track(TOF PID) // EMCal cluster values DECLARE_SOA_COLUMN(EnergyEmcCluster, energyEmcCluster, float); //! energy of the EMCal cluster @@ -48,8 +48,7 @@ DECLARE_SOA_COLUMN(TimeEmcCluster, timeEmcCluster, float); //! time of the DECLARE_SOA_COLUMN(DeltaEtaMatch, deltaEtaMatch, float); //! dEta matched track to EMCal cluster DECLARE_SOA_COLUMN(DeltaPhiMatch, deltaPhiMatch, float); //! dPhi matched track to EMCal cluster -DECLARE_SOA_COLUMN(ISEmcal, isEmcal, bool); //! electron information with Emcal - +DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information with Emcal } // namespace hf_sel_electron DECLARE_SOA_TABLE(HfSelEl, "AOD", "HFSELEL", //! Electron Informations o2::soa::Index<>, @@ -62,8 +61,8 @@ DECLARE_SOA_TABLE(HfSelEl, "AOD", "HFSELEL", //! Electron Informations hf_sel_electron::RapidityTrack, hf_sel_electron::DcaXYTrack, hf_sel_electron::DcaZTrack, - hf_sel_electron::TPCNSigmaElTrack, - hf_sel_electron::TOFNSigmaElTrack, + hf_sel_electron::TpcNSigmaElTrack, + hf_sel_electron::TofNSigmaElTrack, hf_sel_electron::EnergyEmcCluster, hf_sel_electron::EtaEmcCluster, hf_sel_electron::PhiEmcCluster, @@ -73,8 +72,55 @@ DECLARE_SOA_TABLE(HfSelEl, "AOD", "HFSELEL", //! Electron Informations hf_sel_electron::TimeEmcCluster, hf_sel_electron::DeltaEtaMatch, hf_sel_electron::DeltaPhiMatch, - hf_sel_electron::ISEmcal); + hf_sel_electron::IsEmcal); +// definition of columns and tables for HfcorrElectron Selection +namespace hf_corr_sel_electron +{ +DECLARE_SOA_INDEX_COLUMN(Collision, collision); //! collisioniD of the electron track +DECLARE_SOA_INDEX_COLUMN(Track, track); //! trackid of of the electron track +DECLARE_SOA_COLUMN(EtaTrack, etaTrack, float); //! pseudorapidity of the electron track +DECLARE_SOA_COLUMN(PhiTrack, phiTrack, float); //! azimuth of the electron track +DECLARE_SOA_COLUMN(PtTrack, ptTrack, float); //! transverse momentum of the electron track +DECLARE_SOA_COLUMN(TpcNSigmaElTrack, tpcNSigmaElTrack, float); //! tpcNSigma of the electron track(TPC PID) +DECLARE_SOA_COLUMN(TofNSigmaElTrack, tofNSigmaElTrack, float); //! tofNSigma of the electron track(TOF PID) +DECLARE_SOA_COLUMN(IsLSElectron, isLSElectron, int); //! Like sign electron information +DECLARE_SOA_COLUMN(IsULSElectron, isULSElectron, int); //! Unlike sign electron information +DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information +} // namespace hf_corr_sel_electron +DECLARE_SOA_TABLE(HfCorrSelEl, "AOD", "HfCORRSELEL", //! Electron Informations + o2::soa::Index<>, + hf_corr_sel_electron::CollisionId, + hf_corr_sel_electron::TrackId, + hf_corr_sel_electron::EtaTrack, + hf_corr_sel_electron::PhiTrack, + hf_corr_sel_electron::PtTrack, + hf_corr_sel_electron::TpcNSigmaElTrack, + hf_corr_sel_electron::TofNSigmaElTrack, + hf_corr_sel_electron::IsLSElectron, + hf_corr_sel_electron::IsULSElectron, + hf_corr_sel_electron::IsEmcal); + +// definition of columns and tables for Mc Gen HfElectron Selection +namespace hf_mcgen_sel_electron +{ +DECLARE_SOA_INDEX_COLUMN(McCollision, mcCollision); //! collisioniD of the electron track +DECLARE_SOA_INDEX_COLUMN(Track, track); //! trackid of of the electron track +DECLARE_SOA_COLUMN(EtaTrackMc, etaTrackMc, float); //! pseudorapidity of the electron track +DECLARE_SOA_COLUMN(PhiTrackMc, phiTrackMc, float); //! azimuth of the electron track +DECLARE_SOA_COLUMN(PtTrackMc, ptTrackMc, float); //! transverse momentum of the electron track +DECLARE_SOA_COLUMN(IsNonHfeMc, isNonHfeMc, bool); //! Non-Heavy flavour electron information + +} // namespace hf_mcGen_sel_electron + +DECLARE_SOA_TABLE(HfMcGenSelEl, "AOD", "HFMCGENSELEL", //! Electron Informations + o2::soa::Index<>, + hf_mcgen_sel_electron::McCollisionId, + hf_mcgen_sel_electron::TrackId, + hf_mcgen_sel_electron::EtaTrackMc, + hf_mcgen_sel_electron::PhiTrackMc, + hf_mcgen_sel_electron::PtTrackMc, + hf_mcgen_sel_electron::IsNonHfeMc); } // namespace o2::aod #endif // PWGHF_HFL_DATAMODEL_ELECTRONSELECTIONTABLE_H_ diff --git a/PWGHF/HFL/TableProducer/CMakeLists.txt b/PWGHF/HFL/TableProducer/CMakeLists.txt index 1fe472dbfe3..69f571377c8 100644 --- a/PWGHF/HFL/TableProducer/CMakeLists.txt +++ b/PWGHF/HFL/TableProducer/CMakeLists.txt @@ -11,7 +11,7 @@ o2physics_add_dpl_workflow(electron-selection-with-tpc-emcal SOURCES electronSelectionWithTpcEmcal.cxx - PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore + PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore KFParticle::KFParticle COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(tree-creator-electron-d-c-a diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 70a2184b574..c0696155bb3 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -14,8 +14,8 @@ /// \author Rashi Gupta , IIT Indore /// \author Ravindra Singh , IIT Indore -#include #include "THnSparse.h" +#include "TPDGCode.h" #include "DataFormatsEMCAL/AnalysisCluster.h" #include "Framework/AnalysisTask.h" @@ -23,6 +23,7 @@ #include "Framework/runDataProcessing.h" #include "Common/Core/PID/TPCPIDResponse.h" +#include "Common/Core/trackUtilities.h" #include "Common/Core/TrackSelection.h" #include "Common/DataModel/Centrality.h" #include "Common/DataModel/EventSelection.h" @@ -30,6 +31,8 @@ #include "Common/DataModel/PIDResponse.h" #include "Common/DataModel/TrackSelectionTables.h" +#include "Tools/KFparticle/KFUtilities.h" + #include "PWGJE/DataModel/EMCALClusters.h" #include "PWGHF/HFL/DataModel/ElectronSelectionTable.h" @@ -70,9 +73,11 @@ const float dEdxAxisMax = 160.; struct HfElectronSelectionWithTpcEmcal { Produces electronSel; + Produces hfElectronSelection; + Produces hfGenElectronSel; // Configurables // EMCal Cluster information - + KFParticle kfNonHfe; Configurable fillEmcClusterInfo{"fillEmcClusterInfo", true, "Fill histograms with EMCal cluster info before and after track match"}; // Event Selection @@ -86,6 +91,15 @@ struct HfElectronSelectionWithTpcEmcal { Configurable etaTrackMin{"etaTrackMin", -0.6f, "Eta range for electron tracks"}; Configurable ptTrackMin{"ptTrackMin", 3.0f, "Transverse MOmentum range for electron tracks"}; + // Associated electron selection cut + Configurable etaAssoTrackMax{"etaAssoTrackMax", 0.9f, "Eta range for Associatred electron tracks"}; + Configurable etaAssoTrackMin{"etaAssoTrackMin", -0.9f, "Eta range for Associatred electron tracks"}; + Configurable ptAssoTrackMin{"ptAssoTrackMin", 0.2f, "Transverse MOmentum range for Associatred electron tracks"}; + Configurable tpcNsigmaAssoElectronMin{"tpcNsigmaAssoElectronMin", -3.0f, "min Associated Electron TPCnsigma"}; + Configurable tpcNsigmaAssoElectronMax{"tpcNsigmaAssoElectronMax", 3.0f, "max Associated Electron TPCnsigma"}; + Configurable invariantMass{"invariantMass", 0.14f, "max Invariant Mass for Photonic electron"}; + Configurable chiSquareMax{"chiSquareMax", 3.0f, "chiSquare on the reconstructed parent particle"}; + // EMcal and Dcal selection cut Configurable etaTrackDCalNegativeMax{"etaTrackDCalNegativeMax", -0.22f, "Eta range for electron Dcal tracks"}; Configurable etaTrackDCalNegativeMin{"etaTrackDCalNegativeMin", -0.6f, "Eta range for electron tracks"}; @@ -113,32 +127,18 @@ struct HfElectronSelectionWithTpcEmcal { Configurable tpcNsigmaElectronMin{"tpcNsigmaElectronMin", -0.5f, "min Electron TPCnsigma"}; Configurable tpcNsigmaElectronMax{"tpcNsigmaElectronMax", 3.0f, "max Electron TPCnsigma"}; - // Track and EMCal Cluster matching cut for Mc Reco - Configurable mcRecDeltaEtaMatchMin{"mcRecDeltaEtaMatchMin", -0.013f, "McReco Min Eta distance of EMCAL cluster to its closest track"}; - Configurable mcRecDeltaEtaMatchMax{"mcRecDeltaEtaMatchMax", 0.0171f, "McReco Max Eta distance of EMCAL cluster to its closest track"}; - Configurable mcRecDeltaPhiMatchMin{"mcRecDeltaPhiMatchMin", -0.022f, "McReco Min Phi distance of EMCAL cluster to its closest track"}; - Configurable mcRecDeltaPhiMatchMax{"mcRecDeltaPhiMatchMax", 0.028f, "McReco Max Phi distance of EMCAL cluster to its closest track"}; - - Configurable mcRecTimeEmcClusterMax{"mcRecTimeEmcClusterMax", 50.f, "McReco EMCal Cluster time"}; - - // Inclusive electron selection cut for Mc Reco - Configurable mcRecM02EmcClusterElectronMax{"mcRecM02EmcClusterElectronMax", 0.9f, "MC Reco max Electron EMCal Cluster M02"}; - Configurable mcRecM02EmcClusterElectronMin{"mcRecM02EmcClusterElectronMin", 0.02f, "MC Reco min Electron EMCal Cluster M02"}; - Configurable mcRecM20EmcClusterElectronMax{"mcRecM20EmcClusterElectronMax", 1000.f, "MC Reco max Electron EMCal Cluster M20"}; - Configurable mcRecM20EmcClusterElectronMin{"mcRecM20EmcClusterElectronMin", 0.0f, "MC Reco min Electron EMCal Cluster M20"}; - Configurable mcRecTpcNsigmaElectronMin{"mcRecTpcNsigmaElectronMin", -0.5f, "MC Reco min Electron TPCnsigma"}; - Configurable mcRecTpcNsigmaElectronMax{"mcRecTpcNsigmaElectronMax", 3.0f, "MC Reco max Electron TPCnsigma"}; - using TableCollisions = o2::soa::Filtered>; using TableCollision = TableCollisions::iterator; using TableTracks = o2::soa::Join; using McTableCollisions = o2::soa::Filtered>; using McTableCollision = McTableCollisions::iterator; + using McGenTableCollisions = soa::Join; + using McGenTableCollision = McGenTableCollisions::iterator; using McTableTracks = soa::Join; using McTableEmcals = soa::Join; - Filter CollisionFilter = nabs(aod::collision::posZ) < zPvPosMax && aod::collision::numContrib > static_cast(1); + Filter collisionFilter = nabs(aod::collision::posZ) < zPvPosMax && aod::collision::numContrib > static_cast(1); PresliceUnsorted perClusterMatchedTracks = o2::aod::emcalmatchedtrack::trackId; HistogramConfigSpec hEmcClusterEnergySpec{HistType::kTH1F, {{300, 0.0, 30.0}}}; @@ -157,6 +157,16 @@ struct HfElectronSelectionWithTpcEmcal { "registry", {{"hNevents", "No of events", {HistType::kTH1F, {{3, 1, 4}}}}, {"hZvertex", "z vertex", {HistType::kTH1F, {{100, -100, 100}}}}, + {"hLikeMass", "Like mass", {HistType::kTH1F, {{1000, 0, 2.0}}}}, + {"hUnLikeMass", "unLike mass", {HistType::kTH1F, {{1000, 0, 1.0}}}}, + {"hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, + {"hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, + {"hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, + {"hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, + {"hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, + {"hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, + + {"hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, {"hEmcClusterM02", "m02", {HistType::kTH1F, {{m02AxisBins, m02AxisMin, m02AxisMax}}}}, {"hEmcClusterM20", "m20", {HistType::kTH1F, {{m20AxisBins, m20AxisMin, m20AxisMax}}}}, {"hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{etaAxisBins, trackEtaAxisMin, trackEtaAxisMax}, {phiAxisBins, trackPhiAxisMin, trackPhiAxisMax}, {passEMCalBins, passEMCalAxisMin, passEMCalAxisMax}}}}, @@ -211,7 +221,137 @@ struct HfElectronSelectionWithTpcEmcal { } return true; } + // Associated electron Selection Cut + template + bool selAssoTracks(T const& track) + { + if (!track.isGlobalTrackWoDCA()) { + return false; + } + if (std::abs(track.dcaXY()) > dcaXYTrackMax || std::abs(track.dcaZ()) > dcaZTrackMax) { + return false; + } + if (track.eta() < etaAssoTrackMin || track.eta() > etaAssoTrackMax) { + return false; + } + + if (track.pt() < ptAssoTrackMin) { + return false; + } + if (track.tpcNSigmaEl() < tpcNsigmaAssoElectronMin || track.tpcNSigmaEl() > tpcNsigmaAssoElectronMax) { + return false; + } + + return true; + } + + // mc gen particle selection cut + template + bool mcGensel(T const& track) + { + if (track.eta() < etaTrackMin || track.eta() > etaTrackMax) { + return false; + } + if ((track.phi() < phiTrackEMCalMin || track.phi() > phiTrackEMCalMax) && (track.phi() < phiTrackDCalMin || track.phi() > phiTrackDCalMax)) { + return false; + } + if (track.pt() < ptTrackMin) { + return false; + } + return true; + } + // nonHfe Identification + + template + void nonHfe(ElectronType const& electron, TracksType const& tracks, bool isEMcal) + { + int isLSElectronFound = 0; + int isULSElectronFound = 0; + bool isLSElectron = false; + bool isULSElectron = false; + float invMassElectron = 0.; + float massLike = 0; + float massUnLike = 0; + + for (const auto& pTrack : tracks) { + if (pTrack.globalIndex() == electron.globalIndex()) { + continue; + } + // Apply partner electron selection + if (!selAssoTracks(pTrack)) { + continue; + } + if (electron.pt() <= pTrack.pt()) { + continue; + } + int pdgE1 = kElectron; + int pdgE2 = kElectron; + if (electron.sign() > 0) { + pdgE1 = kPositron; + } + + if (pTrack.sign() > 0) { + pdgE2 = kPositron; + } + + KFPTrack kfpTrack = createKFPTrackFromTrack(electron); + KFPTrack kfpAssociatedTrack = createKFPTrackFromTrack(pTrack); + KFParticle kfTrack(kfpTrack, pdgE1); + KFParticle kfAssociatedTrack(kfpAssociatedTrack, pdgE2); + const KFParticle* electronPairs[2] = {&kfTrack, &kfAssociatedTrack}; + kfNonHfe.SetConstructMethod(2); + kfNonHfe.Construct(electronPairs, 2); + + int ndf = kfNonHfe.GetNDF(); + double chi2recg = kfNonHfe.GetChi2() / ndf; + if (ndf < 1.0) { + continue; + } + + if (std::sqrt(std::abs(chi2recg)) > chiSquareMax) { + continue; + } + + invMassElectron = RecoDecay::m(std::array{pTrack.pVector(), electron.pVector()}, std::array{MassElectron, MassElectron}); + + // for like charge + if (pTrack.sign() == electron.sign()) { + massLike = invMassElectron; + isLSElectron = true; + if (isEMcal) { + registry.fill(HIST("hLikeMass"), massLike); + } + } + // for unlike charge + if (pTrack.sign() != electron.sign()) { + massUnLike = invMassElectron; + isULSElectron = true; + if (isEMcal) { + registry.fill(HIST("hUnLikeMass"), massUnLike); + } + } + + // for like charge + if (isLSElectron && (invMassElectron <= invariantMass)) { + massLike = invMassElectron; + ++isLSElectronFound; + if (isEMcal) { + registry.fill(HIST("hLikeSignPt"), electron.pt()); + } + } + // for unlike charge + if (isULSElectron && (invMassElectron <= invariantMass)) { + massUnLike = invMassElectron; + ++isULSElectronFound; + if (isEMcal) { + registry.fill(HIST("hUnLikeSignPt"), electron.pt()); + } + } + } + // Pass multiplicities and other required parameters for this electron + hfElectronSelection(electron.collisionId(), electron.globalIndex(), electron.eta(), electron.phi(), electron.pt(), electron.tpcNSigmaEl(), electron.tofNSigmaEl(), isLSElectronFound, isULSElectronFound, isEMcal); + } // Electron Identification template void fillElectronTrack(CollisionType const& collision, TracksType const& tracks, EmcClusterType const& emcClusters, MatchType const& matchedTracks, ParticleType const& /*particlemc*/) @@ -243,7 +383,7 @@ struct HfElectronSelectionWithTpcEmcal { float dcaxyTrack = -999; float dcazTrack = -999; float tpcNsigmaTrack = -999; - int electronId = -999; + for (const auto& track : tracks) { phiTrack = track.phi(); etaTrack = track.eta(); @@ -252,7 +392,6 @@ struct HfElectronSelectionWithTpcEmcal { dcaxyTrack = track.dcaXY(); dcazTrack = track.dcaZ(); tpcNsigmaTrack = track.tpcNSigmaEl(); - electronId = track.globalIndex(); // Apply Track Selection if (!selTracks(track)) { continue; @@ -313,21 +452,11 @@ struct HfElectronSelectionWithTpcEmcal { deltaEtaMatch = matchTrack.trackEtaEmcal() - etaMatchEmcCluster; // Track and EMCal cluster Matching - - if constexpr (!isMc) { - if (std::abs(timeEmcCluster) > timeEmcClusterMax) { - continue; - } - if (deltaPhiMatch < deltaPhiMatchMin || deltaPhiMatch > deltaPhiMatchMax || deltaEtaMatch < deltaEtaMatchMin || deltaEtaMatch > deltaEtaMatchMax) { - continue; - } - } else { - if (std::abs(timeEmcCluster) > mcRecTimeEmcClusterMax) { - continue; - } - if (deltaPhiMatch < mcRecDeltaPhiMatchMin || deltaPhiMatch > mcRecDeltaPhiMatchMax || deltaEtaMatch < mcRecDeltaEtaMatchMin || deltaEtaMatch > mcRecDeltaEtaMatchMax) { - continue; - } + if (std::abs(timeEmcCluster) > timeEmcClusterMax) { + continue; + } + if (deltaPhiMatch < deltaPhiMatchMin || deltaPhiMatch > deltaPhiMatchMax || deltaEtaMatch < deltaEtaMatchMin || deltaEtaMatch > deltaEtaMatchMax) { + continue; } registry.fill(HIST("hEmcClsTrkEtaPhiDiffTimeEnergy"), deltaEtaMatch, deltaPhiMatch, timeEmcCluster); @@ -346,16 +475,10 @@ struct HfElectronSelectionWithTpcEmcal { registry.fill(HIST("hAfterMatchEtaPhi"), etaMatchTrack, phiMatchTrack); registry.fill(HIST("hAfterMatchEnergyLossVsP"), matchTrack.tpcSignal(), pMatchTrack); registry.fill(HIST("hAfterMatchEnergyLossVsPt"), matchTrack.tpcSignal(), ptMatchTrack); - // Apply Electron Identification cuts - if constexpr (!isMc) { - if ((tpcNsigmaMatchTrack < tpcNsigmaElectronMin || tpcNsigmaMatchTrack > tpcNsigmaElectronMax) || (m02MatchEmcCluster < m02EmcClusterElectronMin || m02MatchEmcCluster > m02EmcClusterElectronMax) || (m20MatchEmcCluster < m20EmcClusterElectronMin || m20MatchEmcCluster > m20EmcClusterElectronMax)) { - continue; - } - } else { - if ((tpcNsigmaMatchTrack < mcRecTpcNsigmaElectronMin || tpcNsigmaMatchTrack > mcRecTpcNsigmaElectronMax) || (m02MatchEmcCluster < mcRecM02EmcClusterElectronMin || m02MatchEmcCluster > mcRecM02EmcClusterElectronMax) || (m20MatchEmcCluster < mcRecM20EmcClusterElectronMin || m20MatchEmcCluster > mcRecM20EmcClusterElectronMax)) { - continue; - } + + if ((tpcNsigmaMatchTrack < tpcNsigmaElectronMin || tpcNsigmaMatchTrack > tpcNsigmaElectronMax) || (m02MatchEmcCluster < m02EmcClusterElectronMin || m02MatchEmcCluster > m02EmcClusterElectronMax) || (m20MatchEmcCluster < m20EmcClusterElectronMin || m20MatchEmcCluster > m20EmcClusterElectronMax)) { + continue; } registry.fill(HIST("hPIDAfterPIDCuts"), eop, ptMatchTrack, tpcNsigmaMatchTrack, m02MatchEmcCluster, m20MatchEmcCluster); @@ -365,17 +488,20 @@ struct HfElectronSelectionWithTpcEmcal { continue; } - isEMcal = true; - // std::cout << " electron id in selection" << electronId << std::endl; // FIXME: Use LOG - electronSel(matchTrack.collisionId(), electronId, etaMatchTrack, phiMatchTrack, ptMatchTrack, pMatchTrack, trackRapidity, matchTrack.dcaXY(), matchTrack.dcaZ(), matchTrack.tpcNSigmaEl(), matchTrack.tofNSigmaEl(), + ///////////////// NonHf electron Selection with Emcal //////////////////////// + + nonHfe(matchTrack, tracks, true); + + electronSel(track.collisionId(), matchTrack.globalIndex(), etaMatchTrack, phiMatchTrack, ptMatchTrack, pMatchTrack, trackRapidity, matchTrack.dcaXY(), matchTrack.dcaZ(), matchTrack.tpcNSigmaEl(), matchTrack.tofNSigmaEl(), eMatchEmcCluster, etaMatchEmcCluster, phiMatchEmcCluster, m02MatchEmcCluster, m20MatchEmcCluster, cellEmcCluster, timeEmcCluster, deltaEtaMatch, deltaPhiMatch, isEMcal); } - /// Electron information without Emcal and use TPC and TOF if (isEMcal) { continue; } - electronSel(track.collisionId(), electronId, etaTrack, phiTrack, ptTrack, pTrack, trackRapidity, dcaxyTrack, dcazTrack, track.tpcNSigmaEl(), track.tofNSigmaEl(), + nonHfe(track, tracks, false); + ///////////////// NonHf electron Selection without Emcal //////////////////////// + electronSel(track.collisionId(), track.globalIndex(), etaTrack, phiTrack, ptTrack, pTrack, trackRapidity, dcaxyTrack, dcazTrack, track.tpcNSigmaEl(), track.tofNSigmaEl(), eMatchEmcCluster, etaMatchEmcCluster, phiMatchEmcCluster, m02MatchEmcCluster, m20MatchEmcCluster, cellEmcCluster, timeEmcCluster, deltaEtaMatch, deltaPhiMatch, isEMcal); } } @@ -388,8 +514,7 @@ struct HfElectronSelectionWithTpcEmcal { { fillElectronTrack(collision, tracks, emcClusters, matchedTracks, 0); } - PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processData, "process Data info only", true); - + PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processData, "process Data info only", false); /// Electron selection - for MC reco-level analysis void processMcRec(McTableCollision const& mcCollision, McTableTracks const& mcTracks, @@ -400,6 +525,88 @@ struct HfElectronSelectionWithTpcEmcal { fillElectronTrack(mcCollision, mcTracks, mcEmcClusters, matchedTracks, mcParticles); } PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processMcRec, "Process MC Reco mode", false); + + void processMcGen(McGenTableCollision const& mcCollision, aod::McParticles const& mcParticles) + { + + ///// electron identification + bool isNonHfe = false; + for (const auto& particleMc : mcParticles) { + + if (!particleMc.isPhysicalPrimary()) + continue; + if (!mcGensel(particleMc)) { + continue; + } + if (std::abs(particleMc.pdgCode()) == 11) { + + registry.fill(HIST("hMcgenInElectron"), particleMc.pt()); + bool isEmbEta = false; + bool isEmbPi0 = false; + + if (particleMc.has_mothers()) { + // Check first mother + auto const& mother = particleMc.mothers_first_as(); + + if (std::abs(mother.pdgCode()) == 221 || std::abs(mother.pdgCode()) == 111 || std::abs(mother.pdgCode()) == 22) { + registry.fill(HIST("hMcgenAllNonHfeElectron"), particleMc.pt()); + if (mother.has_mothers()) { + auto const& gmother = mother.mothers_first_as(); + if (gmother.has_mothers()) { + auto const& ggmother = gmother.mothers_first_as(); + + // cases to consider: eta->e, eta->pi0->e, eta->gamma->e, eta->pi0->gamma->e, pi0->e, pi0->gamma->e + + //================= eta->e ====================================== + if (std::abs(mother.pdgCode()) == 221) { + isEmbEta = true; + } + //================= eta->pi0->e ====================================== + + if (std::abs(mother.pdgCode()) == 111) { + isEmbPi0 = kTRUE; // pi0 -> e + + if (std::abs(gmother.pdgCode()) == 221) { + isEmbEta = kTRUE; // eta->pi0-> e + } + } + + /// ==================================== eta->gamma->e and eta->pi0->gamma->e============ + if (std::abs(mother.pdgCode()) == 22) { + if (std::abs(gmother.pdgCode()) == 221) { + isEmbEta = kTRUE; // eta->gamma-> e + } + + if (std::abs(gmother.pdgCode()) == 111) { + isEmbPi0 = kTRUE; // pi0-> gamma-> e + + if (std::abs(ggmother.pdgCode()) == 221) { + + isEmbEta = kTRUE; // eta->pi0->gamma-> e + } + } + } + } + } + } + } + if (isEmbPi0 || isEmbEta) { + registry.fill(HIST("hMcgenNonHfeElectron"), particleMc.pt()); + isNonHfe = true; + if (isEmbPi0) { + + registry.fill(HIST("hPi0eEmbTrkPt"), particleMc.pt()); + } + if (isEmbEta) { + registry.fill(HIST("hEtaeEmbTrkPt"), particleMc.pt()); + } + } + hfGenElectronSel(mcCollision.globalIndex(), particleMc.globalIndex(), particleMc.eta(), particleMc.phi(), particleMc.pt(), isNonHfe); + } + } + } + + PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processMcGen, "Process MC Gen mode", true); }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) From 834bbd17c6e507060d9638fc439ce406d9bcc829 Mon Sep 17 00:00:00 2001 From: Rashi Gupta Date: Thu, 20 Feb 2025 10:59:09 +0530 Subject: [PATCH 02/61] Add nonHfe withclang --- PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx | 13 +++++++------ PWGHF/HFL/DataModel/ElectronSelectionTable.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index 84d6e46f40e..7130d544727 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -44,7 +44,7 @@ using BinningType = ColumnBinningPolicy; struct HfCorrelatorHfeHadrons { - SliceCache cache; + Produces entryElectronHadronPair; Produces entryElectronHadronPairmcGen; // Configurables @@ -62,6 +62,7 @@ struct HfCorrelatorHfeHadrons { // Electron hadron correlation condition Configurable ptCondition{"ptCondition", true, "Electron pT should be greater than associate particle pT"}; + SliceCache cache; using TableCollisions = o2::soa::Filtered>; using TableCollision = TableCollisions::iterator; using TableTracks = o2::soa::Join; @@ -71,7 +72,7 @@ struct HfCorrelatorHfeHadrons { using McTableCollision = McTableCollisions::iterator; using McTableTracks = soa::Join; - Filter CollisionFilter = nabs(aod::collision::posZ) < zPvPosMax && aod::collision::numContrib > static_cast(1); + Filter collisionFilter = nabs(aod::collision::posZ) < zPvPosMax && aod::collision::numContrib > static_cast(1); Preslice perCol = aod::track::collisionId; Preslice perCollision = aod::hf_sel_electron::collisionId; HistogramConfigSpec hCorrelSpec{HistType::kTHnSparseD, {{30, 0., 30.}, {20, 0., 20.}, {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, {50, -1.8, 1.8}}}; @@ -344,7 +345,7 @@ struct HfCorrelatorHfeHadrons { Pair pair{corrBinning, 5, -1, collision, tracksTuple, &cache}; // loop over the rows of the new table - for (auto& [c1, tracks1, c2, tracks2] : pair) { + for (const auto& [c1, tracks1, c2, tracks2] : pair) { fillMixCorrelation(c1, c2, tracks1, tracks2); } @@ -359,7 +360,7 @@ struct HfCorrelatorHfeHadrons { Pair pairMcRec{corrBinning, 5, -1, mccollision, tracksTuple, &cache}; // loop over the rows of the new table - for (auto& [c1, tracks1, c2, tracks2] : pairMcRec) { + for (const auto& [c1, tracks1, c2, tracks2] : pairMcRec) { fillMixCorrelation(c1, c2, tracks1, tracks2); } @@ -382,9 +383,9 @@ struct HfCorrelatorHfeHadrons { double ptHadronMix = -999; double etaHadronMix = -999; double phiHadronMix = -999; - for (auto& [c1, tracks1, c2, tracks2] : pairMcGen) { + for (const auto& [c1, tracks1, c2, tracks2] : pairMcGen) { int poolBin = corrBinningMcGen.getBin(std::make_tuple(c1.posZ(), c1.multMCFT0A())); - for (auto& [t1, t2] : combinations(CombinationsFullIndexPolicy(tracks1, tracks2))) { + for (const auto& [t1, t2] : combinations(CombinationsFullIndexPolicy(tracks1, tracks2))) { ptHadronMix = t2.pt(); ptElectronMix = t1.ptTrackMc(); phiElectronMix = t1.phiTrackMc(); diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index a5382cb4c20..0afb342831a 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -111,7 +111,7 @@ DECLARE_SOA_COLUMN(PhiTrackMc, phiTrackMc, float); //! azimuth of the electron DECLARE_SOA_COLUMN(PtTrackMc, ptTrackMc, float); //! transverse momentum of the electron track DECLARE_SOA_COLUMN(IsNonHfeMc, isNonHfeMc, bool); //! Non-Heavy flavour electron information -} // namespace hf_mcGen_sel_electron +} // namespace hf_mcgen_sel_electron DECLARE_SOA_TABLE(HfMcGenSelEl, "AOD", "HFMCGENSELEL", //! Electron Informations o2::soa::Index<>, From 0046cd5f7113e68e47443edd1eb5e11d8ff70ac8 Mon Sep 17 00:00:00 2001 From: Rashi Gupta Date: Thu, 20 Feb 2025 15:50:03 +0530 Subject: [PATCH 03/61] Avoid using hard-coded PDG codes --- .../electronSelectionWithTpcEmcal.cxx | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index c0696155bb3..1f3b07a9903 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -70,6 +70,8 @@ const float nSigmaAxisMax = 15.; const int dEdxAxisBins = 480; const float dEdxAxisMin = 0.; const float dEdxAxisMax = 160.; +const int kETA = 221; + struct HfElectronSelectionWithTpcEmcal { Produces electronSel; @@ -538,7 +540,7 @@ struct HfElectronSelectionWithTpcEmcal { if (!mcGensel(particleMc)) { continue; } - if (std::abs(particleMc.pdgCode()) == 11) { + if (std::abs(particleMc.pdgCode()) == kElectron) { registry.fill(HIST("hMcgenInElectron"), particleMc.pt()); bool isEmbEta = false; @@ -548,7 +550,7 @@ struct HfElectronSelectionWithTpcEmcal { // Check first mother auto const& mother = particleMc.mothers_first_as(); - if (std::abs(mother.pdgCode()) == 221 || std::abs(mother.pdgCode()) == 111 || std::abs(mother.pdgCode()) == 22) { + if (std::abs(mother.pdgCode()) == kETA || std::abs(mother.pdgCode()) == kPi0 || std::abs(mother.pdgCode()) == kGamma) { registry.fill(HIST("hMcgenAllNonHfeElectron"), particleMc.pt()); if (mother.has_mothers()) { auto const& gmother = mother.mothers_first_as(); @@ -558,29 +560,29 @@ struct HfElectronSelectionWithTpcEmcal { // cases to consider: eta->e, eta->pi0->e, eta->gamma->e, eta->pi0->gamma->e, pi0->e, pi0->gamma->e //================= eta->e ====================================== - if (std::abs(mother.pdgCode()) == 221) { + if (std::abs(mother.pdgCode()) == kETA) { isEmbEta = true; } //================= eta->pi0->e ====================================== - if (std::abs(mother.pdgCode()) == 111) { + if (std::abs(mother.pdgCode()) == kPi0) { isEmbPi0 = kTRUE; // pi0 -> e - if (std::abs(gmother.pdgCode()) == 221) { + if (std::abs(gmother.pdgCode()) == kETA) { isEmbEta = kTRUE; // eta->pi0-> e } } /// ==================================== eta->gamma->e and eta->pi0->gamma->e============ - if (std::abs(mother.pdgCode()) == 22) { - if (std::abs(gmother.pdgCode()) == 221) { + if (std::abs(mother.pdgCode()) == kGamma) { + if (std::abs(gmother.pdgCode()) == kETA) { isEmbEta = kTRUE; // eta->gamma-> e } - if (std::abs(gmother.pdgCode()) == 111) { + if (std::abs(gmother.pdgCode()) == kPi0) { isEmbPi0 = kTRUE; // pi0-> gamma-> e - if (std::abs(ggmother.pdgCode()) == 221) { + if (std::abs(ggmother.pdgCode()) == kETA) { isEmbEta = kTRUE; // eta->pi0->gamma-> e } From 5317bf7c735695b058857a3291af84fbaa2728ee Mon Sep 17 00:00:00 2001 From: Rashi Gupta Date: Fri, 21 Feb 2025 17:35:18 +0530 Subject: [PATCH 04/61] Renamed constant kETA to kEta for consistent naming convention --- .../TableProducer/electronSelectionWithTpcEmcal.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 1f3b07a9903..c905ed17479 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -70,7 +70,7 @@ const float nSigmaAxisMax = 15.; const int dEdxAxisBins = 480; const float dEdxAxisMin = 0.; const float dEdxAxisMax = 160.; -const int kETA = 221; +const int kEta = 221; struct HfElectronSelectionWithTpcEmcal { @@ -550,7 +550,7 @@ struct HfElectronSelectionWithTpcEmcal { // Check first mother auto const& mother = particleMc.mothers_first_as(); - if (std::abs(mother.pdgCode()) == kETA || std::abs(mother.pdgCode()) == kPi0 || std::abs(mother.pdgCode()) == kGamma) { + if (std::abs(mother.pdgCode()) == kEta || std::abs(mother.pdgCode()) == kPi0 || std::abs(mother.pdgCode()) == kGamma) { registry.fill(HIST("hMcgenAllNonHfeElectron"), particleMc.pt()); if (mother.has_mothers()) { auto const& gmother = mother.mothers_first_as(); @@ -560,7 +560,7 @@ struct HfElectronSelectionWithTpcEmcal { // cases to consider: eta->e, eta->pi0->e, eta->gamma->e, eta->pi0->gamma->e, pi0->e, pi0->gamma->e //================= eta->e ====================================== - if (std::abs(mother.pdgCode()) == kETA) { + if (std::abs(mother.pdgCode()) == kEta) { isEmbEta = true; } //================= eta->pi0->e ====================================== @@ -568,21 +568,21 @@ struct HfElectronSelectionWithTpcEmcal { if (std::abs(mother.pdgCode()) == kPi0) { isEmbPi0 = kTRUE; // pi0 -> e - if (std::abs(gmother.pdgCode()) == kETA) { + if (std::abs(gmother.pdgCode()) == kEta) { isEmbEta = kTRUE; // eta->pi0-> e } } /// ==================================== eta->gamma->e and eta->pi0->gamma->e============ if (std::abs(mother.pdgCode()) == kGamma) { - if (std::abs(gmother.pdgCode()) == kETA) { + if (std::abs(gmother.pdgCode()) == kEta) { isEmbEta = kTRUE; // eta->gamma-> e } if (std::abs(gmother.pdgCode()) == kPi0) { isEmbPi0 = kTRUE; // pi0-> gamma-> e - if (std::abs(ggmother.pdgCode()) == kETA) { + if (std::abs(ggmother.pdgCode()) == kEta) { isEmbEta = kTRUE; // eta->pi0->gamma-> e } From c5a198b9ce9a2d1a5410113de5ff2917beb63121 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Tue, 25 Feb 2025 05:48:53 +0530 Subject: [PATCH 05/61] Update ElectronSelectionTable.h mergeconfict --- PWGHF/HFL/DataModel/ElectronSelectionTable.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index a17ccacdcdf..0afb342831a 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -49,9 +49,6 @@ DECLARE_SOA_COLUMN(TimeEmcCluster, timeEmcCluster, float); //! time of the DECLARE_SOA_COLUMN(DeltaEtaMatch, deltaEtaMatch, float); //! dEta matched track to EMCal cluster DECLARE_SOA_COLUMN(DeltaPhiMatch, deltaPhiMatch, float); //! dPhi matched track to EMCal cluster DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information with Emcal -======= - - } // namespace hf_sel_electron DECLARE_SOA_TABLE(HfSelEl, "AOD", "HFSELEL", //! Electron Informations o2::soa::Index<>, @@ -76,7 +73,6 @@ DECLARE_SOA_TABLE(HfSelEl, "AOD", "HFSELEL", //! Electron Informations hf_sel_electron::DeltaEtaMatch, hf_sel_electron::DeltaPhiMatch, hf_sel_electron::IsEmcal); - // definition of columns and tables for HfcorrElectron Selection namespace hf_corr_sel_electron { @@ -92,8 +88,6 @@ DECLARE_SOA_COLUMN(IsULSElectron, isULSElectron, int); //! Unlike sign e DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information } // namespace hf_corr_sel_electron - - DECLARE_SOA_TABLE(HfCorrSelEl, "AOD", "HfCORRSELEL", //! Electron Informations o2::soa::Index<>, hf_corr_sel_electron::CollisionId, From 1b026c47f44f7dcef016622b4bec0aef39063d1e Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Tue, 25 Feb 2025 17:06:50 +0530 Subject: [PATCH 06/61] Update electronSelectionWithTpcEmcal.cxx Replace KTrue to true --- .../TableProducer/electronSelectionWithTpcEmcal.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index c905ed17479..86448f4582e 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -566,25 +566,25 @@ struct HfElectronSelectionWithTpcEmcal { //================= eta->pi0->e ====================================== if (std::abs(mother.pdgCode()) == kPi0) { - isEmbPi0 = kTRUE; // pi0 -> e + isEmbPi0 = true; // pi0 -> e if (std::abs(gmother.pdgCode()) == kEta) { - isEmbEta = kTRUE; // eta->pi0-> e + isEmbEta = true; // eta->pi0-> e } } /// ==================================== eta->gamma->e and eta->pi0->gamma->e============ if (std::abs(mother.pdgCode()) == kGamma) { if (std::abs(gmother.pdgCode()) == kEta) { - isEmbEta = kTRUE; // eta->gamma-> e + isEmbEta = true; // eta->gamma-> e } if (std::abs(gmother.pdgCode()) == kPi0) { - isEmbPi0 = kTRUE; // pi0-> gamma-> e + isEmbPi0 = true; // pi0-> gamma-> e if (std::abs(ggmother.pdgCode()) == kEta) { - isEmbEta = kTRUE; // eta->pi0->gamma-> e + isEmbEta = true; // eta->pi0->gamma-> e } } } From 2bdcd40df9777e40afc2f10b219d8bcbe7d70254 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 26 Feb 2025 09:32:24 +0530 Subject: [PATCH 07/61] Update CorrelationTables.h Replace HFEHADRONMCGENPAIR to HFEHADRONMCPAIR --- PWGHF/HFC/DataModel/CorrelationTables.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index fee6106abca..1602099abfa 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -498,7 +498,7 @@ DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event def DECLARE_SOA_COLUMN(IsNonHfEHCorr, isNonHfEHCorr, int); //! nonHeavy Flavour Electron hadron coorelation } // namespace hf_correlation_mcgenelectron_hadron -DECLARE_SOA_TABLE(HfEHadronMcGenPair, "AOD", "HFEHADRONMCGENPAIR", //! Hfe-Hadrons pairs Informations +DECLARE_SOA_TABLE(HfEHadronMcPair, "AOD", "HFEHADRONMCPAIR", //! Hfe-Hadrons pairs Informations hf_correlation_mcgenelectron_hadron::DeltaPhi, hf_correlation_mcgenelectron_hadron::DeltaEta, hf_correlation_mcgenelectron_hadron::PtElectron, From 2def3b62a09c2aca11883275e2ae60ced4bcc89e Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 26 Feb 2025 09:33:21 +0530 Subject: [PATCH 08/61] Update correlatorHfeHadrons.cxx Replace HFEHADRONMCGENPAIR to HFEHADRONMCPAIR --- PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index 7130d544727..fd16c4c82d6 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -46,7 +46,7 @@ using BinningTypeMcGen = ColumnBinningPolicy entryElectronHadronPair; - Produces entryElectronHadronPairmcGen; + Produces entryElectronHadronPairmcGen; // Configurables // Event Selection Configurable zPvPosMax{"zPvPosMax", 10., "Maximum z of the primary vertex (cm)"}; From 8254eb016be2aa7759d73df424975e4d46ea7fb1 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 26 Feb 2025 09:34:08 +0530 Subject: [PATCH 09/61] Update taskCorrelationHfeHadrons.cxx Replace HFEHADRONMCGENPAIR to HFEHADRONMCPAIR --- PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx index 705ec8a9c0d..44db8479632 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx @@ -83,7 +83,7 @@ struct HfTaskCorrelationHfeHadrons { PROCESS_SWITCH(HfTaskCorrelationHfeHadrons, process, "Process ", false); - void processMcGen(aod::HfEHadronMcGenPair const& McGenpairEntries) + void processMcGen(aod::HfEHadronMcPair const& McGenpairEntries) { double deltaPhi = -999; double deltaEta = -999; From 7820621dbec6d8b930c50076978cc05cdceaf4e3 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 5 Mar 2025 11:38:37 +0530 Subject: [PATCH 10/61] Add ConfigurableAxis add bins in Configurable --- .../electronSelectionWithTpcEmcal.cxx | 141 +++++++++--------- 1 file changed, 70 insertions(+), 71 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 86448f4582e..3e584b7b11f 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -43,33 +43,10 @@ using namespace o2::framework; using namespace o2::framework::expressions; using namespace o2::soa; -const int etaAxisBins = 100; -const float trackEtaAxisMin = -1.5; -const float trackEtaAxisMax = 1.5; -const int phiAxisBins = 100; -const float trackPhiAxisMin = 0.; -const float trackPhiAxisMax = o2::constants::math::TwoPI; const int passEMCalBins = 3; const int passEMCalAxisMin = 0.; const int passEMCalAxisMax = 3; -const int eopAxisBins = 60; -const float eopAxisMin = 0.; -const float eopAxisMax = 3.0; -const int pAxisBins = 500; -const float pAxisMin = 0.; -const float pAxisMax = 50.0; -const int m02AxisBins = 100; -const float m02AxisMin = 0.; -const float m02AxisMax = 2.0; -const int m20AxisBins = 100; -const float m20AxisMin = 0.; -const float m20AxisMax = 2.0; -const int nSigmaAxisBins = 300; -const float nSigmaAxisMin = -15.; -const float nSigmaAxisMax = 15.; -const int dEdxAxisBins = 480; -const float dEdxAxisMin = 0.; -const float dEdxAxisMax = 160.; + const int kEta = 221; struct HfElectronSelectionWithTpcEmcal { @@ -81,6 +58,7 @@ struct HfElectronSelectionWithTpcEmcal { // EMCal Cluster information KFParticle kfNonHfe; Configurable fillEmcClusterInfo{"fillEmcClusterInfo", true, "Fill histograms with EMCal cluster info before and after track match"}; + Configurable fillTrackInfo{"fillTrackInfo", true, "Fill histograms with Track Information info before track match"}; // Event Selection Configurable zPvPosMax{"zPvPosMax", 10., "Maximum z of the primary vertex (cm)"}; @@ -102,7 +80,7 @@ struct HfElectronSelectionWithTpcEmcal { Configurable invariantMass{"invariantMass", 0.14f, "max Invariant Mass for Photonic electron"}; Configurable chiSquareMax{"chiSquareMax", 3.0f, "chiSquare on the reconstructed parent particle"}; - // EMcal and Dcal selection cut + // EtMcal and Dcal selection cut Configurable etaTrackDCalNegativeMax{"etaTrackDCalNegativeMax", -0.22f, "Eta range for electron Dcal tracks"}; Configurable etaTrackDCalNegativeMin{"etaTrackDCalNegativeMin", -0.6f, "Eta range for electron tracks"}; Configurable etaTrackDCalPositiveMax{"etaTrackDCalPositiveMax", 0.6f, "Eta range for electron Dcal tracks"}; @@ -143,35 +121,55 @@ struct HfElectronSelectionWithTpcEmcal { Filter collisionFilter = nabs(aod::collision::posZ) < zPvPosMax && aod::collision::numContrib > static_cast(1); PresliceUnsorted perClusterMatchedTracks = o2::aod::emcalmatchedtrack::trackId; - HistogramConfigSpec hEmcClusterEnergySpec{HistType::kTH1F, {{300, 0.0, 30.0}}}; - HistogramConfigSpec hEmcClusterEtaPhiSpec{HistType::kTH2F, {{100, -0.9, 0.9}, {200, 0, 6.3}}}; - HistogramConfigSpec hEmcClusterEnergyCellSpec{HistType::kTH2F, {{400, 0.0, 30.0}, {50, 0, 50}}}; - HistogramConfigSpec hEmcClusterEnergyTimeSpec{HistType::kTH2F, {{300, 0.0, 30.0}, {1800, -900, 900}}}; + // configurable axis + + ConfigurableAxis binsPosZ{"binsPosZ", {100, -10., 10.}, "primary vertex z coordinate"}; + ConfigurableAxis binsEta{"binsEta", {100, -2.0, 2.}, "#it{#eta}"}; + ConfigurableAxis binsPhi{"binsPhi", {32, 0.0, o2::constants::math::TwoPI}, "#it{#varphi}"}; + ConfigurableAxis binsP{"binsP", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; + ConfigurableAxis binsdEdx{"binsdEdx", {160, 0., 160.}, "dE/dX"}; + ConfigurableAxis binsnSigma{"binsnSigma", {30, -15., 15.}, "#it{#sigma_{TPC}}"}; + ConfigurableAxis binsM02{"binsM02", {50, 0., 2.0}, "M02; entries"}; + ConfigurableAxis binsM20{"binsM20", {50, 0., 2.0}, "M20; entries"}; + ConfigurableAxis binsEoP{"binsEoP", {30, 0., 3.}, "e/p"}; + ConfigurableAxis binsEnergy{"binsEnergy", {50, 0., 50.}, "Cluster Energy (GeV/#it{c}^{2})"}; + ConfigurableAxis binsnCells{"binsnCells", {50, 0., 50.}, "nCells"}; + ConfigurableAxis binsTime{"binsTime", {1800, -900.0, 900.}, "Cluster Time"}; + ConfigurableAxis binsPassEMcal{"binsPassEMcal", {3, 0.0, 3.}, "Pass EMcal"}; + + ConfigurableAxis binsDeltaEta{"binsDeltaEta", {20, -0.2, 0.2}, "Track Cluser Match #Delta #eta"}; + ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {20, -0.2, 0.2}, "Track Cluser Match #Delta #varphi"}; + ConfigurableAxis binsMass{"binsMass", {100, 0.0, 2.0}, "Mass (GeV/#it{c}^{2}); entries"}; + + HistogramConfigSpec hEmcClusterEnergySpec{HistType::kTH1F, {{binsEnergy}}}; + HistogramConfigSpec hEmcClusterEtaPhiSpec{HistType::kTH2F, {{binsEta}, {binsPhi}}}; + HistogramConfigSpec hEmcClusterEnergyCellSpec{HistType::kTH2F, {{binsEnergy}, {binsnCells}}}; + HistogramConfigSpec hEmcClusterEnergyTimeSpec{HistType::kTH2F, {{binsEnergy}, {binsTime}}}; - HistogramConfigSpec hDeltaPhiDeltaEtaEmcClusterTrackSpecEnergy{HistType::kTH3F, {{400, -0.2, 0.2}, {400, -0.2, 0.2}, {600, -300, 300}}}; - HistogramConfigSpec hAfterMatchEoPSigamSpec{HistType::kTHnSparseD, {{eopAxisBins, eopAxisMin, eopAxisMax}, {pAxisBins, pAxisMin, pAxisMax}, {nSigmaAxisBins, nSigmaAxisMin, nSigmaAxisMax}, {m02AxisBins, m02AxisMin, m02AxisMax}, {m20AxisBins, m20AxisMin, m20AxisMax}}}; + HistogramConfigSpec hDeltaPhiDeltaEtaEmcClusterTrackTime{HistType::kTH3F, {{binsDeltaEta}, {binsDeltaPhi}, {binsTime}}}; + HistogramConfigSpec hAfterMatchEoPSigamSpec{HistType::kTHnSparseD, {{binsEoP}, {binsP}, {binsnSigma}, {binsM02}, {binsM20}}}; - HistogramConfigSpec hTrackEnergyLossSpec{HistType::kTH3F, {{dEdxAxisBins, dEdxAxisMin, dEdxAxisMax}, {pAxisBins, pAxisMin, pAxisMax}, {passEMCalBins, passEMCalAxisMin, passEMCalAxisMax}}}; + HistogramConfigSpec hTrackEnergyLossSpec{HistType::kTH3F, {{binsdEdx}, {binsP}, {binsPassEMcal}}}; - HistogramConfigSpec hTracknSigmaSpec{HistType::kTH3F, {{nSigmaAxisBins, nSigmaAxisMin, nSigmaAxisMax}, {pAxisBins, pAxisMin, pAxisMax}, {passEMCalBins, passEMCalAxisMin, passEMCalAxisMax}}}; + HistogramConfigSpec hTracknSigmaSpec{HistType::kTH3F, {{binsnSigma}, {binsP}, {binsPassEMcal}}}; HistogramRegistry registry{ "registry", {{"hNevents", "No of events", {HistType::kTH1F, {{3, 1, 4}}}}, - {"hZvertex", "z vertex", {HistType::kTH1F, {{100, -100, 100}}}}, - {"hLikeMass", "Like mass", {HistType::kTH1F, {{1000, 0, 2.0}}}}, - {"hUnLikeMass", "unLike mass", {HistType::kTH1F, {{1000, 0, 1.0}}}}, - {"hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - - {"hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hEmcClusterM02", "m02", {HistType::kTH1F, {{m02AxisBins, m02AxisMin, m02AxisMax}}}}, - {"hEmcClusterM20", "m20", {HistType::kTH1F, {{m20AxisBins, m20AxisMin, m20AxisMax}}}}, - {"hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{etaAxisBins, trackEtaAxisMin, trackEtaAxisMax}, {phiAxisBins, trackPhiAxisMin, trackPhiAxisMax}, {passEMCalBins, passEMCalAxisMin, passEMCalAxisMax}}}}, + {"hZvertex", "z vertex", {HistType::kTH1F, {{binsPosZ}}}}, + {"hLikeMass", "Like mass", {HistType::kTH1F, {{binsMass}}}}, + {"hUnLikeMass", "unLike mass", {HistType::kTH1F, {{binsMass}}}}, + {"hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{binsP}}}}, + {"hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{binsP}}}}, + {"hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{binsP}}}}, + {"hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{binsP}}}}, + {"hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{binsP}}}}, + {"hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{binsP}}}}, + + {"hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{binsP}}}}, + {"hEmcClusterM02", "m02", {HistType::kTH1F, {{binsM02}}}}, + {"hEmcClusterM20", "m20", {HistType::kTH1F, {{binsM20}}}}, + {"hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{binsEta}, {binsPhi}, {binsPassEMcal}}}}, {"hTrackEnergyLossVsP", " TPC Energy loss info vs P; dE/dx;#it{p} (GeV#it{/c});passEMcal;", hTrackEnergyLossSpec}, {"hTrackEnergyLossVsPt", " TPC Energy loss info vs Pt; dE/dx;#it{p}_{T} (GeV#it{/c});passEMcal;", hTrackEnergyLossSpec}, {"hTracknSigmaVsP", " TPC nSigma info vs P; n#sigma;#it{p} (GeV#it{/c});passEMcal;", hTracknSigmaSpec}, @@ -186,16 +184,16 @@ struct HfElectronSelectionWithTpcEmcal { {"hEmcClusterAfterMatchEnergyTime", "EMCal Cluster Info After match Energy vs time; Energy (GeV); sec;", hEmcClusterEnergyTimeSpec}, {"hAfterMatchSigmaVsEoP", "PID Info after match EoP vs Sigma ; E/P;#it{p}_{T} (GeV#it{/c});n#sigma; m02; m20;", hAfterMatchEoPSigamSpec}, - {"hAfterMatchEoPVsP", "PID Info after match EoP vs P; E/P;#it{p} (GeV#it{/c});", {HistType::kTH2F, {{eopAxisBins, eopAxisMin, eopAxisMax}, {pAxisBins, pAxisMin, pAxisMax}}}}, - {"hAfterMatchSigmaVsP", "PID Info after match Sigma vs Momentum ; n#sigma; #it{p} (GeV#it{/c}; ", {HistType::kTH2F, {{nSigmaAxisBins, nSigmaAxisMin, nSigmaAxisMax}, {pAxisBins, pAxisMin, pAxisMax}}}}, - {"hAfterMatchEtaPhi", "PID Info after match Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{etaAxisBins, trackEtaAxisMin, trackEtaAxisMax}, {phiAxisBins, trackPhiAxisMin, trackPhiAxisMax}}}}, - {"hAfterMatchEnergyLossVsP", "PID Info after match Energy loss info vs P ; dE/dx;#it{p} (GeV#it{/c});; ", {HistType::kTH2F, {{dEdxAxisBins, dEdxAxisMin, dEdxAxisMax}, {pAxisBins, pAxisMin, pAxisMax}}}}, - {"hAfterMatchEnergyLossVsPt", "PID Info after match Energy loss info vs Pt ;dE/dx;#it{p}_{T} (GeV#it{/c}); ", {HistType::kTH2F, {{dEdxAxisBins, dEdxAxisMin, dEdxAxisMax}, {pAxisBins, pAxisMin, pAxisMax}}}}, - - {"hAfterPIDEtaPhi", "PID Info after PID Cuts Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{etaAxisBins, trackEtaAxisMin, trackEtaAxisMax}, {phiAxisBins, trackPhiAxisMin, trackPhiAxisMax}}}}, - {"hEPRatioAfterPID", "E/P Ratio after PID Cuts apply only trackwodca filter", {HistType::kTH2F, {{pAxisBins, pAxisMin, pAxisMax}, {300, 0, 30}}}}, + {"hAfterMatchEoPVsP", "PID Info after match EoP vs P; E/P;#it{p} (GeV#it{/c});", {HistType::kTH2F, {{binsEoP}, {binsP}}}}, + {"hAfterMatchSigmaVsP", "PID Info after match Sigma vs Momentum ; n#sigma; #it{p} (GeV#it{/c}; ", {HistType::kTH2F, {{binsnSigma}, {binsP}}}}, + {"hAfterMatchEtaPhi", "PID Info after match Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{binsEta}, {binsPhi}}}}, + {"hAfterMatchEnergyLossVsP", "PID Info after match Energy loss info vs P ; dE/dx;#it{p} (GeV#it{/c});; ", {HistType::kTH2F, {{binsdEdx}, {binsP}}}}, + {"hAfterMatchEnergyLossVsPt", "PID Info after match Energy loss info vs Pt ;dE/dx;#it{p}_{T} (GeV#it{/c}); ", {HistType::kTH2F, {{binsdEdx}, {binsP}}}}, + + {"hAfterPIDEtaPhi", "PID Info after PID Cuts Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{binsEta}, {binsPhi}}}}, + {"hEPRatioAfterPID", "E/P Ratio after PID Cuts apply only trackwodca filter", {HistType::kTH2F, {{binsP}, {binsEnergy}}}}, {"hPIDAfterPIDCuts", "PID Info after PID cuts; E/P;#it{p}_{T} (GeV#it{/c});n#sigma;m02; m20;", hAfterMatchEoPSigamSpec}, - {"hEmcClsTrkEtaPhiDiffTimeEnergy", "EmcClsTrkEtaPhiDiffTimeEnergy;#Delta#eta;#Delta#varphi;Sec;", hDeltaPhiDeltaEtaEmcClusterTrackSpecEnergy}}}; + {"hEmcClsTrkEtaPhiDiffTime", "EmcClsTrkEtaPhiDiffTime;#Delta#eta;#Delta#varphi;Sec;", hDeltaPhiDeltaEtaEmcClusterTrackTime}}}; void init(o2::framework::InitContext&) { @@ -404,13 +402,13 @@ struct HfElectronSelectionWithTpcEmcal { passEMCal = 1; // EMcal acceptance passed if ((phiTrack > phiTrackDCalMin && phiTrack < phiTrackDCalMax) && ((etaTrack > etaTrackDCalPositiveMin && etaTrack < etaTrackDCalPositiveMax) || (etaTrack > etaTrackDCalNegativeMin && etaTrack < etaTrackDCalNegativeMax))) passEMCal = 2; // Dcal acceptance passed - - registry.fill(HIST("hTrackEtaPhi"), etaTrack, phiTrack, passEMCal); // track etaphi infor after filter bit - registry.fill(HIST("hTrackEnergyLossVsP"), track.tpcSignal(), pTrack, passEMCal); // track etaphi infor after filter bit - registry.fill(HIST("hTrackEnergyLossVsPt"), track.tpcSignal(), ptTrack, passEMCal); // track etaphi infor after filter bit - registry.fill(HIST("hTracknSigmaVsP"), tpcNsigmaTrack, pTrack, passEMCal); // track etaphi infor after filter bit - registry.fill(HIST("hTracknSigmaVsPt"), tpcNsigmaTrack, ptTrack, passEMCal); // track etaphi infor after filter bit - + if (fillTrackInfo) { + registry.fill(HIST("hTrackEtaPhi"), etaTrack, phiTrack, passEMCal); // track etaphi infor after filter bit + registry.fill(HIST("hTrackEnergyLossVsP"), track.tpcSignal(), pTrack, passEMCal); // track etaphi infor after filter bit + registry.fill(HIST("hTrackEnergyLossVsPt"), track.tpcSignal(), ptTrack, passEMCal); // track etaphi infor after filter bit + registry.fill(HIST("hTracknSigmaVsP"), tpcNsigmaTrack, pTrack, passEMCal); // track etaphi infor after filter bit + registry.fill(HIST("hTracknSigmaVsPt"), tpcNsigmaTrack, ptTrack, passEMCal); // track etaphi infor after filter bit + } auto tracksofcluster = matchedTracks.sliceBy(perClusterMatchedTracks, track.globalIndex()); float phiMatchTrack = -999; float etaMatchTrack = -999; @@ -461,13 +459,14 @@ struct HfElectronSelectionWithTpcEmcal { continue; } - registry.fill(HIST("hEmcClsTrkEtaPhiDiffTimeEnergy"), deltaEtaMatch, deltaPhiMatch, timeEmcCluster); + registry.fill(HIST("hEmcClsTrkEtaPhiDiffTime"), deltaEtaMatch, deltaPhiMatch, timeEmcCluster); - if (fillEmcClusterInfo) - registry.fill(HIST("hEmcClusterAfterMatchEnergy"), emcCluster.energy()); // track etaphi infor after filter bit - registry.fill(HIST("hEmcClusterAfterMatchEtaPhi"), emcCluster.eta(), emcCluster.phi()); // track etaphi infor after filter bit - registry.fill(HIST("hEmcClusterAfterMatchEnergyCells"), emcCluster.energy(), emcCluster.nCells()); // track etaphi infor after filter bit - registry.fill(HIST("hEmcClusterAfterMatchEnergyTime"), emcCluster.energy(), emcCluster.time()); // track etaphi infor after filter bit + if (fillEmcClusterInfo) { + registry.fill(HIST("hEmcClusterAfterMatchEnergy"), emcCluster.energy()); // track etaphi infor after filter bit + registry.fill(HIST("hEmcClusterAfterMatchEtaPhi"), emcCluster.eta(), emcCluster.phi()); // track etaphi infor after filter bit + registry.fill(HIST("hEmcClusterAfterMatchEnergyCells"), emcCluster.energy(), emcCluster.nCells()); // track etaphi infor after filter bit + registry.fill(HIST("hEmcClusterAfterMatchEnergyTime"), emcCluster.energy(), emcCluster.time()); // track etaphi infor after filter bit + } eop = eMatchEmcCluster / pMatchTrack; @@ -516,7 +515,7 @@ struct HfElectronSelectionWithTpcEmcal { { fillElectronTrack(collision, tracks, emcClusters, matchedTracks, 0); } - PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processData, "process Data info only", false); + PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processData, "process Data info only", true); /// Electron selection - for MC reco-level analysis void processMcRec(McTableCollision const& mcCollision, McTableTracks const& mcTracks, @@ -608,7 +607,7 @@ struct HfElectronSelectionWithTpcEmcal { } } - PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processMcGen, "Process MC Gen mode", true); + PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processMcGen, "Process MC Gen mode", false); }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) From 8e42d2cb55ba044975a2033d6f5896056ffc2124 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 5 Mar 2025 11:40:14 +0530 Subject: [PATCH 11/61] Add ConfigurableAxis --- PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index fd16c4c82d6..99c7a11f25b 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -75,7 +75,12 @@ struct HfCorrelatorHfeHadrons { Filter collisionFilter = nabs(aod::collision::posZ) < zPvPosMax && aod::collision::numContrib > static_cast(1); Preslice perCol = aod::track::collisionId; Preslice perCollision = aod::hf_sel_electron::collisionId; - HistogramConfigSpec hCorrelSpec{HistType::kTHnSparseD, {{30, 0., 30.}, {20, 0., 20.}, {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, {50, -1.8, 1.8}}}; + + ConfigurableAxis binDeltasEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; + ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, "#it{#Delta#varphi}"}; + ConfigurableAxis binsP{"binsP", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; + + HistogramConfigSpec hCorrelSpec{HistType::kTHnSparseD, {{binsP}, {binsP}, {binsDeltaPhi}, {binDeltasEta}}}; HistogramRegistry registry{ "registry", @@ -84,7 +89,7 @@ struct HfCorrelatorHfeHadrons { {"hULSEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, {"hMCgenNonHfEHCorrel", "Sparse for Delta phi and Delta eta Non Hf for McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, {"hMCgenInclusiveEHCorrl", "Sparse for Delta phi and Delta eta for McGen Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hptElectron", "hptElectron", {HistType::kTH1F, {{100, 0, 100}}}}, + {"hptElectron", "hptElectron", {HistType::kTH1F, {{binsP}}}}, {"hMixEventInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, {"hMixEventLSEHCorrel", "Sparse for mix event Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, From dfdc7b530a2838dd686778beda708579ce041ef3 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 5 Mar 2025 12:18:42 +0530 Subject: [PATCH 12/61] Update correlatorHfeHadrons.cxx --- .../TableProducer/correlatorHfeHadrons.cxx | 46 ------------------- 1 file changed, 46 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index d04c25894b7..99c7a11f25b 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -89,12 +89,8 @@ struct HfCorrelatorHfeHadrons { {"hULSEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, {"hMCgenNonHfEHCorrel", "Sparse for Delta phi and Delta eta Non Hf for McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, {"hMCgenInclusiveEHCorrl", "Sparse for Delta phi and Delta eta for McGen Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hptElectron", "hptElectron", {HistType::kTH1F, {{binsP}}}}, - {"hptElectron", "hptElectron", {HistType::kTH1F, {{100, 0, 100}}}}, - - {"hMixEventInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, {"hMixEventLSEHCorrel", "Sparse for mix event Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, {"hMixEventULSEHCorrel", "Sparse for mix event Delta phi and Delta eta Unlike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, @@ -383,7 +379,6 @@ struct HfCorrelatorHfeHadrons { auto tracksTuple = std::make_tuple(electrons, mcParticles); Pair pairMcGen{corrBinningMcGen, 5, -1, mcCollision, tracksTuple, &cache}; - // loop over the rows of the new table double ptElectronMix = -999; double phiElectronMix = -999; @@ -423,47 +418,6 @@ struct HfCorrelatorHfeHadrons { registry.fill(HIST("hMixEventMcGenInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); } - - // loop over the rows of the new table - double ptElectronMix = -999; - double phiElectronMix = -999; - double etaElectronMix = -999; - double deltaPhiMix = -999; - double deltaEtaMix = -999; - double ptHadronMix = -999; - double etaHadronMix = -999; - double phiHadronMix = -999; - for (const auto& [c1, tracks1, c2, tracks2] : pairMcGen) { - int poolBin = corrBinningMcGen.getBin(std::make_tuple(c1.posZ(), c1.multMCFT0A())); - for (const auto& [t1, t2] : combinations(CombinationsFullIndexPolicy(tracks1, tracks2))) { - ptHadronMix = t2.pt(); - ptElectronMix = t1.ptTrackMc(); - phiElectronMix = t1.phiTrackMc(); - phiHadronMix = t2.phi(); - etaElectronMix = t1.etaTrackMc(); - etaHadronMix = t2.eta(); - if (t2.eta() < etaTrackMin || t2.eta() > etaTrackMax) { - continue; - } - if (t2.pt() < ptTrackMin) { - continue; - } - if (ptCondition && (ptElectronMix < ptHadronMix)) { - continue; - } - - deltaPhiMix = RecoDecay::constrainAngle(phiElectronMix - phiHadronMix, -o2::constants::math::PIHalf); - deltaEtaMix = etaElectronMix - etaHadronMix; - bool isNonHfeCorr = false; - if (t1.isNonHfeMc()) { - isNonHfeCorr = true; - registry.fill(HIST("hMixEventMcGenNonHfEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - } else { - - registry.fill(HIST("hMixEventMcGenInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - } - - entryElectronHadronPairmcGen(deltaPhiMix, deltaEtaMix, ptElectronMix, ptHadronMix, poolBin, isNonHfeCorr); } } From e19cbdc65b2dabacce6f0d843d297ede63c7fc60 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 5 Mar 2025 12:19:13 +0530 Subject: [PATCH 13/61] Update electronSelectionWithTpcEmcal.cxx --- .../electronSelectionWithTpcEmcal.cxx | 76 ------------------- 1 file changed, 76 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 4834197bf14..3e584b7b11f 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -47,26 +47,6 @@ const int passEMCalBins = 3; const int passEMCalAxisMin = 0.; const int passEMCalAxisMax = 3; - -const int eopAxisBins = 60; -const float eopAxisMin = 0.; -const float eopAxisMax = 3.0; -const int pAxisBins = 500; -const float pAxisMin = 0.; -const float pAxisMax = 50.0; -const int m02AxisBins = 100; -const float m02AxisMin = 0.; -const float m02AxisMax = 2.0; -const int m20AxisBins = 100; -const float m20AxisMin = 0.; -const float m20AxisMax = 2.0; -const int nSigmaAxisBins = 300; -const float nSigmaAxisMin = -15.; -const float nSigmaAxisMax = 15.; -const int dEdxAxisBins = 480; -const float dEdxAxisMin = 0.; -const float dEdxAxisMax = 160.; - const int kEta = 221; struct HfElectronSelectionWithTpcEmcal { @@ -100,11 +80,7 @@ struct HfElectronSelectionWithTpcEmcal { Configurable invariantMass{"invariantMass", 0.14f, "max Invariant Mass for Photonic electron"}; Configurable chiSquareMax{"chiSquareMax", 3.0f, "chiSquare on the reconstructed parent particle"}; - // EtMcal and Dcal selection cut - - // EMcal and Dcal selection cut - Configurable etaTrackDCalNegativeMax{"etaTrackDCalNegativeMax", -0.22f, "Eta range for electron Dcal tracks"}; Configurable etaTrackDCalNegativeMin{"etaTrackDCalNegativeMin", -0.6f, "Eta range for electron tracks"}; Configurable etaTrackDCalPositiveMax{"etaTrackDCalPositiveMax", 0.6f, "Eta range for electron Dcal tracks"}; @@ -180,7 +156,6 @@ struct HfElectronSelectionWithTpcEmcal { HistogramRegistry registry{ "registry", {{"hNevents", "No of events", {HistType::kTH1F, {{3, 1, 4}}}}, -< {"hZvertex", "z vertex", {HistType::kTH1F, {{binsPosZ}}}}, {"hLikeMass", "Like mass", {HistType::kTH1F, {{binsMass}}}}, {"hUnLikeMass", "unLike mass", {HistType::kTH1F, {{binsMass}}}}, @@ -195,22 +170,6 @@ struct HfElectronSelectionWithTpcEmcal { {"hEmcClusterM02", "m02", {HistType::kTH1F, {{binsM02}}}}, {"hEmcClusterM20", "m20", {HistType::kTH1F, {{binsM20}}}}, {"hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{binsEta}, {binsPhi}, {binsPassEMcal}}}}, - - {"hZvertex", "z vertex", {HistType::kTH1F, {{100, -100, 100}}}}, - {"hLikeMass", "Like mass", {HistType::kTH1F, {{1000, 0, 2.0}}}}, - {"hUnLikeMass", "unLike mass", {HistType::kTH1F, {{1000, 0, 1.0}}}}, - {"hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - - {"hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{pAxisBins, pAxisMin, pAxisMax}}}}, - {"hEmcClusterM02", "m02", {HistType::kTH1F, {{m02AxisBins, m02AxisMin, m02AxisMax}}}}, - {"hEmcClusterM20", "m20", {HistType::kTH1F, {{m20AxisBins, m20AxisMin, m20AxisMax}}}}, - {"hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{etaAxisBins, trackEtaAxisMin, trackEtaAxisMax}, {phiAxisBins, trackPhiAxisMin, trackPhiAxisMax}, {passEMCalBins, passEMCalAxisMin, passEMCalAxisMax}}}}, - {"hTrackEnergyLossVsP", " TPC Energy loss info vs P; dE/dx;#it{p} (GeV#it{/c});passEMcal;", hTrackEnergyLossSpec}, {"hTrackEnergyLossVsPt", " TPC Energy loss info vs Pt; dE/dx;#it{p}_{T} (GeV#it{/c});passEMcal;", hTrackEnergyLossSpec}, {"hTracknSigmaVsP", " TPC nSigma info vs P; n#sigma;#it{p} (GeV#it{/c});passEMcal;", hTracknSigmaSpec}, @@ -350,7 +309,6 @@ struct HfElectronSelectionWithTpcEmcal { continue; } - if (std::sqrt(std::abs(chi2recg)) > chiSquareMax) { continue; } @@ -374,32 +332,6 @@ struct HfElectronSelectionWithTpcEmcal { } } - - - if (std::sqrt(std::abs(chi2recg)) > chiSquareMax) { - continue; - } - - invMassElectron = RecoDecay::m(std::array{pTrack.pVector(), electron.pVector()}, std::array{MassElectron, MassElectron}); - - // for like charge - if (pTrack.sign() == electron.sign()) { - massLike = invMassElectron; - isLSElectron = true; - if (isEMcal) { - registry.fill(HIST("hLikeMass"), massLike); - } - } - // for unlike charge - if (pTrack.sign() != electron.sign()) { - massUnLike = invMassElectron; - isULSElectron = true; - if (isEMcal) { - registry.fill(HIST("hUnLikeMass"), massUnLike); - } - } - - // for like charge if (isLSElectron && (invMassElectron <= invariantMass)) { massLike = invMassElectron; @@ -583,11 +515,7 @@ struct HfElectronSelectionWithTpcEmcal { { fillElectronTrack(collision, tracks, emcClusters, matchedTracks, 0); } - PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processData, "process Data info only", true); - - PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processData, "process Data info only", false); - /// Electron selection - for MC reco-level analysis void processMcRec(McTableCollision const& mcCollision, McTableTracks const& mcTracks, @@ -679,11 +607,7 @@ struct HfElectronSelectionWithTpcEmcal { } } - PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processMcGen, "Process MC Gen mode", false); -======= - PROCESS_SWITCH(HfElectronSelectionWithTpcEmcal, processMcGen, "Process MC Gen mode", true); - }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) From 6f622b572ee7a01df0b61c9c48929240dd4c4993 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 5 Mar 2025 12:29:39 +0530 Subject: [PATCH 14/61] correct O2 intel --- PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index 99c7a11f25b..2a463696be2 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -76,11 +76,11 @@ struct HfCorrelatorHfeHadrons { Preslice perCol = aod::track::collisionId; Preslice perCollision = aod::hf_sel_electron::collisionId; - ConfigurableAxis binDeltasEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; + ConfigurableAxis binsDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, "#it{#Delta#varphi}"}; ConfigurableAxis binsP{"binsP", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; - HistogramConfigSpec hCorrelSpec{HistType::kTHnSparseD, {{binsP}, {binsP}, {binsDeltaPhi}, {binDeltasEta}}}; + HistogramConfigSpec hCorrelSpec{HistType::kTHnSparseD, {{binsP}, {binsP}, {binsDeltaPhi}, {binsDeltaEta}}}; HistogramRegistry registry{ "registry", From 9bfa536dc0e689ecffe39269602044988feaa79c Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 5 Mar 2025 13:42:58 +0530 Subject: [PATCH 15/61] Update electronSelectionWithTpcEmcal.cxx --- PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 3e584b7b11f..bda2e3548a1 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -43,10 +43,6 @@ using namespace o2::framework; using namespace o2::framework::expressions; using namespace o2::soa; -const int passEMCalBins = 3; -const int passEMCalAxisMin = 0.; -const int passEMCalAxisMax = 3; - const int kEta = 221; struct HfElectronSelectionWithTpcEmcal { From f300a0d6ce419dcc6e809187f11de663589776c2 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 5 Mar 2025 19:23:05 +0530 Subject: [PATCH 16/61] Remove Typo error --- PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index bda2e3548a1..6bca188a28a 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -76,7 +76,7 @@ struct HfElectronSelectionWithTpcEmcal { Configurable invariantMass{"invariantMass", 0.14f, "max Invariant Mass for Photonic electron"}; Configurable chiSquareMax{"chiSquareMax", 3.0f, "chiSquare on the reconstructed parent particle"}; - // EtMcal and Dcal selection cut + // EMcal and Dcal selection cut Configurable etaTrackDCalNegativeMax{"etaTrackDCalNegativeMax", -0.22f, "Eta range for electron Dcal tracks"}; Configurable etaTrackDCalNegativeMin{"etaTrackDCalNegativeMin", -0.6f, "Eta range for electron tracks"}; Configurable etaTrackDCalPositiveMax{"etaTrackDCalPositiveMax", 0.6f, "Eta range for electron Dcal tracks"}; From ffe5dea56756c0dba8d7d0a8ce1467975c819e92 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 6 Mar 2025 09:30:08 +0530 Subject: [PATCH 17/61] change Axis name --- .../electronSelectionWithTpcEmcal.cxx | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 6bca188a28a..971200a7105 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -122,32 +122,32 @@ struct HfElectronSelectionWithTpcEmcal { ConfigurableAxis binsPosZ{"binsPosZ", {100, -10., 10.}, "primary vertex z coordinate"}; ConfigurableAxis binsEta{"binsEta", {100, -2.0, 2.}, "#it{#eta}"}; ConfigurableAxis binsPhi{"binsPhi", {32, 0.0, o2::constants::math::TwoPI}, "#it{#varphi}"}; - ConfigurableAxis binsP{"binsP", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; + ConfigurableAxis binsPt{"binsPt", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; ConfigurableAxis binsdEdx{"binsdEdx", {160, 0., 160.}, "dE/dX"}; ConfigurableAxis binsnSigma{"binsnSigma", {30, -15., 15.}, "#it{#sigma_{TPC}}"}; ConfigurableAxis binsM02{"binsM02", {50, 0., 2.0}, "M02; entries"}; ConfigurableAxis binsM20{"binsM20", {50, 0., 2.0}, "M20; entries"}; ConfigurableAxis binsEoP{"binsEoP", {30, 0., 3.}, "e/p"}; - ConfigurableAxis binsEnergy{"binsEnergy", {50, 0., 50.}, "Cluster Energy (GeV/#it{c}^{2})"}; - ConfigurableAxis binsnCells{"binsnCells", {50, 0., 50.}, "nCells"}; - ConfigurableAxis binsTime{"binsTime", {1800, -900.0, 900.}, "Cluster Time"}; + ConfigurableAxis binsEmcEnergy{"binsEmcEnergy", {50, 0., 50.}, "Cluster Energy (GeV/#it{c}^{2})"}; + ConfigurableAxis binsEmcClsNCells{"binsEmcClsNCells", {50, 0., 50.}, "nCells"}; + ConfigurableAxis binsEmcClsTime{"binsEmcClsTime", {1800, -900.0, 900.}, "Cluster Time"}; ConfigurableAxis binsPassEMcal{"binsPassEMcal", {3, 0.0, 3.}, "Pass EMcal"}; ConfigurableAxis binsDeltaEta{"binsDeltaEta", {20, -0.2, 0.2}, "Track Cluser Match #Delta #eta"}; ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {20, -0.2, 0.2}, "Track Cluser Match #Delta #varphi"}; ConfigurableAxis binsMass{"binsMass", {100, 0.0, 2.0}, "Mass (GeV/#it{c}^{2}); entries"}; - HistogramConfigSpec hEmcClusterEnergySpec{HistType::kTH1F, {{binsEnergy}}}; + HistogramConfigSpec hEmcClusterEnergySpec{HistType::kTH1F, {{binsEmcEnergy}}}; HistogramConfigSpec hEmcClusterEtaPhiSpec{HistType::kTH2F, {{binsEta}, {binsPhi}}}; - HistogramConfigSpec hEmcClusterEnergyCellSpec{HistType::kTH2F, {{binsEnergy}, {binsnCells}}}; - HistogramConfigSpec hEmcClusterEnergyTimeSpec{HistType::kTH2F, {{binsEnergy}, {binsTime}}}; + HistogramConfigSpec hEmcClusterEnergyCellSpec{HistType::kTH2F, {{binsEmcEnergy}, {binsEmcClsNCells}}}; + HistogramConfigSpec hEmcClusterEnergyTimeSpec{HistType::kTH2F, {{binsEmcEnergy}, {binsEmcClsTime}}}; - HistogramConfigSpec hDeltaPhiDeltaEtaEmcClusterTrackTime{HistType::kTH3F, {{binsDeltaEta}, {binsDeltaPhi}, {binsTime}}}; - HistogramConfigSpec hAfterMatchEoPSigamSpec{HistType::kTHnSparseD, {{binsEoP}, {binsP}, {binsnSigma}, {binsM02}, {binsM20}}}; + HistogramConfigSpec hDeltaPhiDeltaEtaEmcClusterTrackTime{HistType::kTH3F, {{binsDeltaEta}, {binsDeltaPhi}, {binsEmcClsTime}}}; + HistogramConfigSpec hAfterMatchEoPSigamSpec{HistType::kTHnSparseD, {{binsEoP}, {binsPt}, {binsnSigma}, {binsM02}, {binsM20}}}; - HistogramConfigSpec hTrackEnergyLossSpec{HistType::kTH3F, {{binsdEdx}, {binsP}, {binsPassEMcal}}}; + HistogramConfigSpec hTrackEnergyLossSpec{HistType::kTH3F, {{binsdEdx}, {binsPt}, {binsPassEMcal}}}; - HistogramConfigSpec hTracknSigmaSpec{HistType::kTH3F, {{binsnSigma}, {binsP}, {binsPassEMcal}}}; + HistogramConfigSpec hTracknSigmaSpec{HistType::kTH3F, {{binsnSigma}, {binsPt}, {binsPassEMcal}}}; HistogramRegistry registry{ "registry", @@ -155,14 +155,14 @@ struct HfElectronSelectionWithTpcEmcal { {"hZvertex", "z vertex", {HistType::kTH1F, {{binsPosZ}}}}, {"hLikeMass", "Like mass", {HistType::kTH1F, {{binsMass}}}}, {"hUnLikeMass", "unLike mass", {HistType::kTH1F, {{binsMass}}}}, - {"hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{binsP}}}}, - {"hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{binsP}}}}, - {"hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{binsP}}}}, - {"hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{binsP}}}}, - {"hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{binsP}}}}, - {"hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{binsP}}}}, - - {"hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{binsP}}}}, + {"hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{binsPt}}}}, + {"hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{binsPt}}}}, + {"hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{binsPt}}}}, + {"hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{binsPt}}}}, + {"hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{binsPt}}}}, + {"hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{binsPt}}}}, + + {"hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{binsPt}}}}, {"hEmcClusterM02", "m02", {HistType::kTH1F, {{binsM02}}}}, {"hEmcClusterM20", "m20", {HistType::kTH1F, {{binsM20}}}}, {"hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{binsEta}, {binsPhi}, {binsPassEMcal}}}}, @@ -180,14 +180,14 @@ struct HfElectronSelectionWithTpcEmcal { {"hEmcClusterAfterMatchEnergyTime", "EMCal Cluster Info After match Energy vs time; Energy (GeV); sec;", hEmcClusterEnergyTimeSpec}, {"hAfterMatchSigmaVsEoP", "PID Info after match EoP vs Sigma ; E/P;#it{p}_{T} (GeV#it{/c});n#sigma; m02; m20;", hAfterMatchEoPSigamSpec}, - {"hAfterMatchEoPVsP", "PID Info after match EoP vs P; E/P;#it{p} (GeV#it{/c});", {HistType::kTH2F, {{binsEoP}, {binsP}}}}, - {"hAfterMatchSigmaVsP", "PID Info after match Sigma vs Momentum ; n#sigma; #it{p} (GeV#it{/c}; ", {HistType::kTH2F, {{binsnSigma}, {binsP}}}}, + {"hAfterMatchEoPVsP", "PID Info after match EoP vs P; E/P;#it{p} (GeV#it{/c});", {HistType::kTH2F, {{binsEoP}, {binsPt}}}}, + {"hAfterMatchSigmaVsP", "PID Info after match Sigma vs Momentum ; n#sigma; #it{p} (GeV#it{/c}; ", {HistType::kTH2F, {{binsnSigma}, {binsPt}}}}, {"hAfterMatchEtaPhi", "PID Info after match Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{binsEta}, {binsPhi}}}}, - {"hAfterMatchEnergyLossVsP", "PID Info after match Energy loss info vs P ; dE/dx;#it{p} (GeV#it{/c});; ", {HistType::kTH2F, {{binsdEdx}, {binsP}}}}, - {"hAfterMatchEnergyLossVsPt", "PID Info after match Energy loss info vs Pt ;dE/dx;#it{p}_{T} (GeV#it{/c}); ", {HistType::kTH2F, {{binsdEdx}, {binsP}}}}, + {"hAfterMatchEnergyLossVsP", "PID Info after match Energy loss info vs P ; dE/dx;#it{p} (GeV#it{/c});; ", {HistType::kTH2F, {{binsdEdx}, {binsPt}}}}, + {"hAfterMatchEnergyLossVsPt", "PID Info after match Energy loss info vs Pt ;dE/dx;#it{p}_{T} (GeV#it{/c}); ", {HistType::kTH2F, {{binsdEdx}, {binsPt}}}}, {"hAfterPIDEtaPhi", "PID Info after PID Cuts Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{binsEta}, {binsPhi}}}}, - {"hEPRatioAfterPID", "E/P Ratio after PID Cuts apply only trackwodca filter", {HistType::kTH2F, {{binsP}, {binsEnergy}}}}, + {"hEPRatioAfterPID", "E/P Ratio after PID Cuts apply only trackwodca filter", {HistType::kTH2F, {{binsPt}, {binsEmcEnergy}}}}, {"hPIDAfterPIDCuts", "PID Info after PID cuts; E/P;#it{p}_{T} (GeV#it{/c});n#sigma;m02; m20;", hAfterMatchEoPSigamSpec}, {"hEmcClsTrkEtaPhiDiffTime", "EmcClsTrkEtaPhiDiffTime;#Delta#eta;#Delta#varphi;Sec;", hDeltaPhiDeltaEtaEmcClusterTrackTime}}}; From d489760c64631d476b5e500b7bbcf618e5c48b9f Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:25:15 +0530 Subject: [PATCH 18/61] Add config add bin in config --- .../electronSelectionWithTpcEmcal.cxx | 112 +++++++++--------- 1 file changed, 58 insertions(+), 54 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 971200a7105..b27702f8ce3 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -50,6 +50,7 @@ struct HfElectronSelectionWithTpcEmcal { Produces electronSel; Produces hfElectronSelection; Produces hfGenElectronSel; + // Configurables // EMCal Cluster information KFParticle kfNonHfe; @@ -137,64 +138,67 @@ struct HfElectronSelectionWithTpcEmcal { ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {20, -0.2, 0.2}, "Track Cluser Match #Delta #varphi"}; ConfigurableAxis binsMass{"binsMass", {100, 0.0, 2.0}, "Mass (GeV/#it{c}^{2}); entries"}; - HistogramConfigSpec hEmcClusterEnergySpec{HistType::kTH1F, {{binsEmcEnergy}}}; - HistogramConfigSpec hEmcClusterEtaPhiSpec{HistType::kTH2F, {{binsEta}, {binsPhi}}}; - HistogramConfigSpec hEmcClusterEnergyCellSpec{HistType::kTH2F, {{binsEmcEnergy}, {binsEmcClsNCells}}}; - HistogramConfigSpec hEmcClusterEnergyTimeSpec{HistType::kTH2F, {{binsEmcEnergy}, {binsEmcClsTime}}}; - - HistogramConfigSpec hDeltaPhiDeltaEtaEmcClusterTrackTime{HistType::kTH3F, {{binsDeltaEta}, {binsDeltaPhi}, {binsEmcClsTime}}}; - HistogramConfigSpec hAfterMatchEoPSigamSpec{HistType::kTHnSparseD, {{binsEoP}, {binsPt}, {binsnSigma}, {binsM02}, {binsM20}}}; - - HistogramConfigSpec hTrackEnergyLossSpec{HistType::kTH3F, {{binsdEdx}, {binsPt}, {binsPassEMcal}}}; - - HistogramConfigSpec hTracknSigmaSpec{HistType::kTH3F, {{binsnSigma}, {binsPt}, {binsPassEMcal}}}; - HistogramRegistry registry{ "registry", - {{"hNevents", "No of events", {HistType::kTH1F, {{3, 1, 4}}}}, - {"hZvertex", "z vertex", {HistType::kTH1F, {{binsPosZ}}}}, - {"hLikeMass", "Like mass", {HistType::kTH1F, {{binsMass}}}}, - {"hUnLikeMass", "unLike mass", {HistType::kTH1F, {{binsMass}}}}, - {"hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{binsPt}}}}, - {"hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{binsPt}}}}, - {"hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{binsPt}}}}, - {"hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{binsPt}}}}, - {"hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{binsPt}}}}, - {"hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{binsPt}}}}, - - {"hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{binsPt}}}}, - {"hEmcClusterM02", "m02", {HistType::kTH1F, {{binsM02}}}}, - {"hEmcClusterM20", "m20", {HistType::kTH1F, {{binsM20}}}}, - {"hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{binsEta}, {binsPhi}, {binsPassEMcal}}}}, - {"hTrackEnergyLossVsP", " TPC Energy loss info vs P; dE/dx;#it{p} (GeV#it{/c});passEMcal;", hTrackEnergyLossSpec}, - {"hTrackEnergyLossVsPt", " TPC Energy loss info vs Pt; dE/dx;#it{p}_{T} (GeV#it{/c});passEMcal;", hTrackEnergyLossSpec}, - {"hTracknSigmaVsP", " TPC nSigma info vs P; n#sigma;#it{p} (GeV#it{/c});passEMcal;", hTracknSigmaSpec}, - {"hTracknSigmaVsPt", " TPC nSigma info vs Pt; n#sigma;#it{p}_{T} (GeV#it{/c});passEMcal;", hTracknSigmaSpec}, - {"hEmcClusterEnergy", "EMCal Cluster Info before match Energy; Energy (GeV)", hEmcClusterEnergySpec}, - {"hEmcClusterEtaPhi", "EMCal Cluster Info before match Eta and Phi; #eta;#varphi;", hEmcClusterEtaPhiSpec}, - {"hEmcClusterEnergyCell", "EMCal Cluster Info before match Energy vs nCells; Energy (GeV);ncell;", hEmcClusterEnergyCellSpec}, - {"hEmcClusterEnergyTime", "EMCal Cluster Info before match Energy vs time; Energy (GeV); sec;", hEmcClusterEnergyTimeSpec}, - {"hEmcClusterAfterMatchEnergy", "EMCal Cluster Info After match Energy; Energy (GeV)", hEmcClusterEnergySpec}, - {"hEmcClusterAfterMatchEtaPhi", "EMCal Cluster Info After match Eta and Phi; #eta;#varphi;", hEmcClusterEtaPhiSpec}, - {"hEmcClusterAfterMatchEnergyCells", "EMCal Cluster Info After match Energy vs nCells; Energy (GeV);ncell;", hEmcClusterEnergyCellSpec}, - {"hEmcClusterAfterMatchEnergyTime", "EMCal Cluster Info After match Energy vs time; Energy (GeV); sec;", hEmcClusterEnergyTimeSpec}, - - {"hAfterMatchSigmaVsEoP", "PID Info after match EoP vs Sigma ; E/P;#it{p}_{T} (GeV#it{/c});n#sigma; m02; m20;", hAfterMatchEoPSigamSpec}, - {"hAfterMatchEoPVsP", "PID Info after match EoP vs P; E/P;#it{p} (GeV#it{/c});", {HistType::kTH2F, {{binsEoP}, {binsPt}}}}, - {"hAfterMatchSigmaVsP", "PID Info after match Sigma vs Momentum ; n#sigma; #it{p} (GeV#it{/c}; ", {HistType::kTH2F, {{binsnSigma}, {binsPt}}}}, - {"hAfterMatchEtaPhi", "PID Info after match Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{binsEta}, {binsPhi}}}}, - {"hAfterMatchEnergyLossVsP", "PID Info after match Energy loss info vs P ; dE/dx;#it{p} (GeV#it{/c});; ", {HistType::kTH2F, {{binsdEdx}, {binsPt}}}}, - {"hAfterMatchEnergyLossVsPt", "PID Info after match Energy loss info vs Pt ;dE/dx;#it{p}_{T} (GeV#it{/c}); ", {HistType::kTH2F, {{binsdEdx}, {binsPt}}}}, - - {"hAfterPIDEtaPhi", "PID Info after PID Cuts Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{binsEta}, {binsPhi}}}}, - {"hEPRatioAfterPID", "E/P Ratio after PID Cuts apply only trackwodca filter", {HistType::kTH2F, {{binsPt}, {binsEmcEnergy}}}}, - {"hPIDAfterPIDCuts", "PID Info after PID cuts; E/P;#it{p}_{T} (GeV#it{/c});n#sigma;m02; m20;", hAfterMatchEoPSigamSpec}, - {"hEmcClsTrkEtaPhiDiffTime", "EmcClsTrkEtaPhiDiffTime;#Delta#eta;#Delta#varphi;Sec;", hDeltaPhiDeltaEtaEmcClusterTrackTime}}}; + {}}; void init(o2::framework::InitContext&) { - registry.get(HIST("hAfterMatchSigmaVsEoP"))->Sumw2(); - registry.get(HIST("hPIDAfterPIDCuts"))->Sumw2(); + AxisSpec axisPosZ = {binsPosZ, "Pos Z"}; + AxisSpec axisMass = {binsMass, "Mass (GeV/#it{c}^{2}); entries"}; + AxisSpec axisPt = {binsPt, "#it{p_{T}}(GeV/#it{c})"}; + AxisSpec axisEta = {binsEta, "#it{#eta}"}; + AxisSpec axisPhi = {binsPhi, "#it{#varphi}"}; + AxisSpec axisdEdx = {binsdEdx, "dE/dX"}; + AxisSpec axisnSigma = {binsnSigma, "it{#sigma_{TPC}}"}; + AxisSpec axisM02 = {binsM02, "M02; entries"}; + AxisSpec axisM20 = {binsM20, "M20; entries"}; + AxisSpec axisEoP = {binsEoP, "E/p"}; + AxisSpec axisEmcEnergy = {binsEmcEnergy, "Cluster Energy (GeV/#it{c}^{2})"}; + AxisSpec axisEmcClsNCells = {binsEmcClsNCells, "nCell"}; + AxisSpec axisEmcClsTime = {binsEmcClsTime, "Cluster Time"}; + AxisSpec axisPassEMcal = {binsPassEMcal, "Pass EMcal"}; + AxisSpec axisDeltaEta = {binsDeltaEta, "#Delta #eta = #eta_{trk}- #eta_{cluster}"}; + AxisSpec axisDeltaPhi = {binsDeltaPhi, "#Delta #varphi = #varphi_{trk}- #varphi_{cluster}"}; + + registry.add("hZvertex", "z vertex", {HistType::kTH1F, {axisPosZ}}); + registry.add("hNevents", "No of events", {HistType::kTH1F, {{3, 1, 4}}}); + registry.add("hLikeMass", "Like mass", {HistType::kTH1F, {{axisMass}}}); + registry.add("hUnLikeMass", "unLike mass", {HistType::kTH1F, {{axisMass}}}); + registry.add("hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{axisPt}}}); + registry.add("hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{axisPt}}}); + registry.add("hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{axisPt}}}); + registry.add("hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{axisPt}}}); + registry.add("hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{axisPt}}}); + registry.add("hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{axisPt}}}); + + registry.add("hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{axisPt}}}); + registry.add("hEmcClusterM02", "m02", {HistType::kTH1F, {{axisM02}}}); + registry.add("hEmcClusterM20", "m20", {HistType::kTH1F, {{axisM20}}}); + registry.add("hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{axisEta}, {axisPhi}, {axisPassEMcal}}}); + registry.add("hTrackEnergyLossVsP", " TPC Energy loss info vs P; dE/dx;#it{p} (GeV#it{/c});passEMcal;", {HistType::kTH3F, {{axisdEdx}, {axisPt}, {axisPassEMcal}}}); + registry.add("hTrackEnergyLossVsPt", "TPC Energy loss info vs Pt; dE/dx;#it{p}_{T} (GeV#it{/c});passEMcal;", {HistType::kTH3F, {{axisdEdx}, {axisPt}, {axisPassEMcal}}}); + registry.add("hTracknSigmaVsP", " TPC nSigma info vs P; n#sigma;#it{p} (GeV#it{/c});passEMcal;", {HistType::kTH3F, {{axisnSigma}, {axisPt}, {axisPassEMcal}}}); + registry.add("hTracknSigmaVsPt", " TPC nSigma info vs Pt; n#sigma;#it{p}_{T} (GeV#it{/c});passEMcal;", {HistType::kTH3F, {{axisnSigma}, {axisPt}, {axisPassEMcal}}}); + registry.add("hEmcClusterEnergy", "EMCal Cluster Info before match Energy; Energy (GeV); entries;", {HistType::kTH1F, {{axisEmcEnergy}}}); + registry.add("hEmcClusterEtaPhi", "EMCal Cluster Info before match Eta and Phi; #eta;#varphi;", {HistType::kTH2F, {{axisEta}, {axisPhi}}}); + registry.add("hEmcClusterEnergyCell", "EMCal Cluster Info before match Energy vs nCells; Energy (GeV);ncell;", {HistType::kTH2F, {{axisEmcEnergy}, {axisEmcClsNCells}}}); + registry.add("hEmcClusterEnergyTime", "EMCal Cluster Info before match Energy vs time; Energy (GeV); sec;", {HistType::kTH2F, {{axisEmcEnergy}, {axisEmcClsTime}}}); + registry.add("hEmcClusterAfterMatchEnergy", "EMCal Cluster Info After match Energy; Energy (GeV); entries;", {HistType::kTH1F, {{axisEmcEnergy}}}); + registry.add("hEmcClusterAfterMatchEtaPhi", "EMCal Cluster Info After match Eta and Phi; #eta;#varphi;", {HistType::kTH2F, {{axisEta}, {axisPhi}}}); + registry.add("hEmcClusterAfterMatchEnergyCells", "EMCal Cluster Info After match Energy vs nCells; Energy (GeV);ncell;", {HistType::kTH2F, {{axisEmcEnergy}, {axisEmcClsNCells}}}); + registry.add("hEmcClusterAfterMatchEnergyTime", "EMCal Cluster Info After match Energy vs time; Energy (GeV); sec;", {HistType::kTH2F, {{axisEmcEnergy}, {axisEmcClsTime}}}); + registry.add("hAfterMatchSigmaVsEoP", "PID Info after match EoP vs Sigma ; E/P;#it{p}_{T} (GeV#it{/c});n#sigma; m02; m20;", {HistType::kTHnSparseD, {{axisEoP}, {axisPt}, {axisnSigma}, {axisM02}, {axisM20}}}); + registry.add("hAfterMatchEoPVsP", "PID Info after match EoP vs P; E/P;#it{p} (GeV#it{/c});", {HistType::kTH2F, {{axisEoP}, {axisPt}}}); + registry.add("hAfterMatchSigmaVsP", "PID Info after match Sigma vs Momentum ; n#sigma; #it{p} (GeV#it{/c}; ", {HistType::kTH2F, {{axisnSigma}, {axisPt}}}); + registry.add("hAfterMatchEtaPhi", "PID Info after match Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{axisEta}, {axisPhi}}}); + registry.add("hAfterMatchEnergyLossVsP", "PID Info after match Energy loss info vs P ; dE/dx;#it{p} (GeV#it{/c});; ", {HistType::kTH2F, {{axisdEdx}, {axisPt}}}); + registry.add("hAfterMatchEnergyLossVsPt", "PID Info after match Energy loss info vs Pt ;dE/dx;#it{p}_{T} (GeV#it{/c}); ", {HistType::kTH2F, {{axisdEdx}, {axisPt}}}); + + registry.add("hAfterPIDEtaPhi", "PID Info after PID Cuts Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{axisEta}, {axisPhi}}}); + registry.add("hEPRatioAfterPID", "E/P Ratio after PID Cuts apply only trackwodca filter", {HistType::kTH2F, {{axisPt}, {axisEmcEnergy}}}); + registry.add("hPIDAfterPIDCuts", "PID Info after PID cuts; E/P;#it{p}_{T} (GeV#it{/c});n#sigma;m02; m20;", {HistType::kTHnSparseD, {{binsEoP}, {binsPt}, {binsnSigma}, {binsM02}, {binsM20}}}); + registry.add("hEmcClsTrkEtaPhiDiffTime", "EmcClsTrkEtaPhiDiffTime;#Delta#eta;#Delta#varphi;Sec;", {HistType::kTH3F, {{binsDeltaEta}, {binsDeltaPhi}, {binsEmcClsTime}}}); } // Track Selection Cut template @@ -392,8 +396,8 @@ struct HfElectronSelectionWithTpcEmcal { if (!selTracks(track)) { continue; } - passEMCal = 0; + passEMCal = 0; if ((phiTrack > phiTrackEMCalMin && phiTrack < phiTrackEMCalMax) && (etaTrack > etaTrackMin && etaTrack < etaTrackMax)) passEMCal = 1; // EMcal acceptance passed if ((phiTrack > phiTrackDCalMin && phiTrack < phiTrackDCalMax) && ((etaTrack > etaTrackDCalPositiveMin && etaTrack < etaTrackDCalPositiveMax) || (etaTrack > etaTrackDCalNegativeMin && etaTrack < etaTrackDCalNegativeMax))) From 050f6815dda721585d65751fee9436017ab44097 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:26:25 +0530 Subject: [PATCH 19/61] Update ElectronSelectionTable.h correct electron table --- PWGHF/HFL/DataModel/ElectronSelectionTable.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index 0afb342831a..ea59302ee54 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -51,7 +51,6 @@ DECLARE_SOA_COLUMN(DeltaPhiMatch, deltaPhiMatch, float); //! dPhi matched track DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information with Emcal } // namespace hf_sel_electron DECLARE_SOA_TABLE(HfSelEl, "AOD", "HFSELEL", //! Electron Informations - o2::soa::Index<>, hf_sel_electron::CollisionId, hf_sel_electron::TrackId, hf_sel_electron::EtaTrack, @@ -89,7 +88,6 @@ DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron info } // namespace hf_corr_sel_electron DECLARE_SOA_TABLE(HfCorrSelEl, "AOD", "HfCORRSELEL", //! Electron Informations - o2::soa::Index<>, hf_corr_sel_electron::CollisionId, hf_corr_sel_electron::TrackId, hf_corr_sel_electron::EtaTrack, @@ -114,7 +112,6 @@ DECLARE_SOA_COLUMN(IsNonHfeMc, isNonHfeMc, bool); //! Non-Heavy flavour elect } // namespace hf_mcgen_sel_electron DECLARE_SOA_TABLE(HfMcGenSelEl, "AOD", "HFMCGENSELEL", //! Electron Informations - o2::soa::Index<>, hf_mcgen_sel_electron::McCollisionId, hf_mcgen_sel_electron::TrackId, hf_mcgen_sel_electron::EtaTrackMc, From 6c4665e2f320c87619c0f22fbcbaf9e1b7d935a8 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:27:45 +0530 Subject: [PATCH 20/61] Add electrontable --- PWGHF/HFC/DataModel/CorrelationTables.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 1602099abfa..8905a7f1880 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -468,6 +468,30 @@ DECLARE_SOA_TABLE(DmesonSelection, "AOD", "DINCOLL", // Selection of D meson in aod::hf_selection_dmeson_collision::DmesonSel); // Note: definition of columns and tables for Electron Hadron correlation pairs +// definition of columns and tables for electron properties +namespace hf_electron +{ +DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of electron +DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron +DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron +DECLARE_SOA_COLUMN(IsLSElectron, isLSElectron, int); //! like sign Electron +DECLARE_SOA_COLUMN(IsULSElectron, isULSElectron, int); //! unLike sign Electron +DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity +DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision +DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision + +} // namespace hf_electron + +DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties + aod::hf_electron::Phi, + aod::hf_electron::Eta, + aod::hf_electron::PtElectron, + aod::hf_electron::IsLSElectron, + aod::hf_electron::IsULSElectron, + aod::hf_electron::PoolBin, + aod::hf_electron::GIndexCol, + aod::hf_electron::TimeStamp); + namespace hf_correlation_electron_hadron { DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons From 8a8f43dcc3407840f9b316ba002e197499aad718 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:29:42 +0530 Subject: [PATCH 21/61] Add config and add electron and hadron table --- .../TableProducer/correlatorHfeHadrons.cxx | 125 +++++++++++------- 1 file changed, 80 insertions(+), 45 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index 2a463696be2..c32cd022e7c 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -47,6 +47,8 @@ struct HfCorrelatorHfeHadrons { Produces entryElectronHadronPair; Produces entryElectronHadronPairmcGen; + Produces entryElectron; + Produces entryHadron; // Configurables // Event Selection Configurable zPvPosMax{"zPvPosMax", 10., "Maximum z of the primary vertex (cm)"}; @@ -76,39 +78,38 @@ struct HfCorrelatorHfeHadrons { Preslice perCol = aod::track::collisionId; Preslice perCollision = aod::hf_sel_electron::collisionId; - ConfigurableAxis binsDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; + ConfigurableAxis binDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, "#it{#Delta#varphi}"}; - ConfigurableAxis binsP{"binsP", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; - - HistogramConfigSpec hCorrelSpec{HistType::kTHnSparseD, {{binsP}, {binsP}, {binsDeltaPhi}, {binsDeltaEta}}}; + ConfigurableAxis binsPt{"binsPt", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; + ConfigurableAxis binsPoolBin{"binsPoolBin", {9, 0., 9.}, "PoolBin"}; HistogramRegistry registry{ "registry", - {{"hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hLSEHCorrel", "Sparse for Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hULSEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hMCgenNonHfEHCorrel", "Sparse for Delta phi and Delta eta Non Hf for McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hMCgenInclusiveEHCorrl", "Sparse for Delta phi and Delta eta for McGen Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hptElectron", "hptElectron", {HistType::kTH1F, {{binsP}}}}, - - {"hMixEventInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hMixEventLSEHCorrel", "Sparse for mix event Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hMixEventULSEHCorrel", "Sparse for mix event Delta phi and Delta eta Unlike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hMixEventMcGenInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hMixEventMcGenNonHfEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}}}; + {}}; void init(InitContext&) { - registry.get(HIST("hInclusiveEHCorrel"))->Sumw2(); - registry.get(HIST("hLSEHCorrel"))->Sumw2(); - registry.get(HIST("hULSEHCorrel"))->Sumw2(); - registry.get(HIST("hMCgenInclusiveEHCorrl"))->Sumw2(); - registry.get(HIST("hMCgenNonHfEHCorrel"))->Sumw2(); - registry.get(HIST("hMixEventInclusiveEHCorrl"))->Sumw2(); - registry.get(HIST("hMixEventLSEHCorrel"))->Sumw2(); - registry.get(HIST("hMixEventULSEHCorrel"))->Sumw2(); - registry.get(HIST("hMixEventMcGenInclusiveEHCorrl"))->Sumw2(); - registry.get(HIST("hMixEventMcGenNonHfEHCorrl"))->Sumw2(); + AxisSpec axisDeltaEta = {binDeltaEta, "#Delta #eta = #eta_{Electron}- #eta_{Hadron}"}; + AxisSpec axisDeltaPhi = {binsDeltaPhi, "#Delta #varphi = #varphi_{Electron}- #varphi_{Hadron}"}; + AxisSpec axisPt = {binsPt, "#it{p_{T}}(GeV/#it{c})"}; + AxisSpec axisPoolBin = {binsPoolBin, "PoolBin"}; + + registry.add("hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hLSEHCorrel", "Sparse for Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hULSEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMCgenNonHfEHCorrel", "Sparse for Delta phi and Delta eta for McGen Non Hf Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMCgenInclusiveEHCorrl", "Sparse for Delta phi and Delta eta for McGen Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hptElectron", "hptElectron", {HistType::kTH1F, {axisPt}}); + + registry.add("hMixEventInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMixEventLSEHCorrel", "Sparse for mix event Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMixEventULSEHCorrel", "Sparse for mix event Delta phi and Delta eta Unlike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMixEventMcGenInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMixEventMcGenNonHfEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Non Hf Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hElectronBin", "Electron bin", {HistType::kTH1F, {axisPoolBin}}); + registry.add("hLSElectronBin", "Electron bin", {HistType::kTH1F, {axisPoolBin}}); + registry.add("hULSElectronBin", "Electron bin", {HistType::kTH1F, {axisPoolBin}}); + registry.add("hTracksBin", "Particles associated pool bin", {HistType::kTH1F, {axisPoolBin}}); } // Associated Hadron Selection Cut @@ -132,18 +133,22 @@ struct HfCorrelatorHfeHadrons { } // Electron-hadron Correlation - template - void fillCorrelation(CollisionType const& collision, ElectronType const& electron, TracksType const& tracks) + template + void fillCorrelation(CollisionType const& collision, ElectronType const& electron, TracksType const& tracks, BcType const&) { if (!(isRun3 ? collision.sel8() : (collision.sel7() && collision.alias_bit(kINT7)))) return; int poolBin = corrBinning.getBin(std::make_tuple(collision.posZ(), collision.multFV0M())); + auto bc = collision.template bc_as(); + int gCollisionId = collision.globalIndex(); + int64_t timeStamp = bc.timestamp(); // Construct Deta Phi between electrons and hadrons double ptElectron = -999; double phiElectron = -999; double etaElectron = -999; + int cntElectron = 0; for (const auto& eTrack : electron) { ptElectron = eTrack.ptTrack(); @@ -152,41 +157,69 @@ struct HfCorrelatorHfeHadrons { double deltaPhi = -999; double deltaEta = -999; + double deltaPhi1 = -999; + double deltaEta1 = -999; + double deltaPhi2 = -999; + double deltaEta2 = -999; double ptHadron = -999; double etaHadron = -999; double phiHadron = -999; + if (!eTrack.isEmcal()) { continue; } registry.fill(HIST("hptElectron"), ptElectron); + int isLSElectron = 0; + int isULSElectron = 0; + if (eTrack.isLSElectron() > 0) { + for (int i = 0; i < eTrack.isLSElectron(); ++i) { - for (const auto& hTrack : tracks) { - if (hTrack.globalIndex() == eTrack.trackId()) { - continue; + ++isLSElectron; + registry.fill(HIST("hLSElectronBin"), poolBin); + } + } + if (eTrack.isULSElectron() > 0) { + for (int i = 0; i < eTrack.isULSElectron(); ++i) { + + ++isULSElectron; + registry.fill(HIST("hULSElectronBin"), poolBin); } + } + registry.fill(HIST("hElectronBin"), poolBin); + entryElectron(phiElectron, etaElectron, ptElectron, isLSElectron, isULSElectron, poolBin, gCollisionId, timeStamp); + + for (const auto& hTrack : tracks) { // Apply Hadron cut if (!selAssoHadron(hTrack)) { continue; } - - ptHadron = hTrack.pt(); - phiHadron = hTrack.phi(); - etaHadron = hTrack.eta(); + if (cntElectron == 0) { + registry.fill(HIST("hTracksBin"), poolBin); + entryHadron(phiHadron, etaHadron, ptHadron, poolBin, gCollisionId, timeStamp); + } + if (hTrack.globalIndex() == eTrack.trackId()) { + continue; + } if (ptCondition && (ptElectron < ptHadron)) { continue; } + ptHadron = hTrack.pt(); + phiHadron = hTrack.phi(); + etaHadron = hTrack.eta(); - deltaPhi = RecoDecay::constrainAngle(phiElectron - phiHadron, -o2::constants::math::PIHalf); - deltaEta = etaElectron - etaHadron; + deltaPhi1 = RecoDecay::constrainAngle(phiElectron - phiHadron, -o2::constants::math::PIHalf); + deltaEta1 = etaElectron - etaHadron; registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); + registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi1, deltaEta1); + registry.fill(HIST("hULSEHCorrel"), ptElectron, ptHadron, deltaPhi2, deltaEta2); + int isLSElectroncorr = 0; int isULSElectroncorr = 0; if (eTrack.isLSElectron() > 0) { for (int i = 0; i < eTrack.isLSElectron(); ++i) { - registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); ++isLSElectroncorr; } } @@ -198,8 +231,10 @@ struct HfCorrelatorHfeHadrons { } } entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin, isLSElectroncorr, isULSElectroncorr); - } - } + + } // end Hadron Track loop + cntElectron++; + } // end Electron loop } // mix event electron-hadron correlation @@ -265,12 +300,12 @@ struct HfCorrelatorHfeHadrons { void processData(TableCollision const& collision, aod::HfCorrSelEl const& electron, - TableTracks const& tracks) + TableTracks const& tracks, aod::BCsWithTimestamps const& bc) { - fillCorrelation(collision, electron, tracks); + fillCorrelation(collision, electron, tracks, bc); } - PROCESS_SWITCH(HfCorrelatorHfeHadrons, processData, "Process for Data", false); + PROCESS_SWITCH(HfCorrelatorHfeHadrons, processData, "Process for Data", true); // ======= Process starts for McRec, Same event ============ @@ -278,7 +313,7 @@ struct HfCorrelatorHfeHadrons { aod::HfCorrSelEl const& mcElectron, McTableTracks const& mcTracks) { - fillCorrelation(mcCollision, mcElectron, mcTracks); + fillCorrelation(mcCollision, mcElectron, mcTracks, 0); } PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcRec, "Process MC Reco mode", false); @@ -339,7 +374,7 @@ struct HfCorrelatorHfeHadrons { } } } - PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcGen, "Process MC Gen mode", true); + PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcGen, "Process MC Gen mode", false); // ====================== Implement Event mixing on Data =============================== // ====================== Implement Event mixing on Data =================================== From ef4d23f4c9e4ce414e33e356604468d51aee1e18 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:30:52 +0530 Subject: [PATCH 22/61] Add config --- PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx index 44db8479632..f4baef889b1 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx @@ -31,23 +31,25 @@ struct HfTaskCorrelationHfeHadrons { // Deltaphi binning Configurable nBinsDeltaPhi{"nBinsDeltaPhi", 32, "Bins for #Delta#varphi bins"}; - HistogramConfigSpec hCorrelSpec{HistType::kTHnSparseD, {{30, 0., 30.}, {20, 0., 20.}, {nBinsDeltaPhi, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, {50, -1.8, 1.8}}}; + ConfigurableAxis binDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; + ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, "#it{#Delta#varphi}"}; + ConfigurableAxis binsPt{"binsPt", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; HistogramRegistry registry{ "registry", - {{"hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hLikeSignEHCorrel", "Sparse for Delta phi and Delta eta Likesign Electronpair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hUnLikeSignEHCorrel", "Sparse for Delta phi and Delta eta UnlikeSign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hMcGenInclusiveEHCorrel", "Sparse for Delta phi and Delta eta McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}, - {"hMcGenNonHfEHCorrel", "Sparse for Delta phi and Delta eta McGen Non HF Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", hCorrelSpec}}}; + {}}; void init(InitContext&) { - registry.get(HIST("hInclusiveEHCorrel"))->Sumw2(); - registry.get(HIST("hLikeSignEHCorrel"))->Sumw2(); - registry.get(HIST("hUnLikeSignEHCorrel"))->Sumw2(); - registry.get(HIST("hMcGenInclusiveEHCorrel"))->Sumw2(); - registry.get(HIST("hMcGenNonHfEHCorrel"))->Sumw2(); + AxisSpec axisDeltaEta = {binDeltaEta, "#Delta #eta = #eta_{Electron}- #eta_{Hadron}"}; + AxisSpec axisDeltaPhi = {binsDeltaPhi, "#Delta #varphi = #varphi_{Electron}- #varphi_{Hadron}"}; + AxisSpec axisPt = {binsPt, "#it{p_{T}}(GeV/#it{c})"}; + + registry.add("hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hLikeSignEHCorrel", "Sparse for Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hUnLikeSignEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMcGenInclusiveEHCorrel", "Sparse for Delta phi and Delta eta for McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMcGenNonHfEHCorrel", "Sparse for Delta phi and Delta eta for McGen NonHeavy flavour Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); } // correlation for electron hadron From 351c549e52b67a36df46284fad656c249f1e23ac Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:47:59 +0530 Subject: [PATCH 23/61] correct clang formate --- PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index b6991f3dd07..c32cd022e7c 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -78,7 +78,6 @@ struct HfCorrelatorHfeHadrons { Preslice perCol = aod::track::collisionId; Preslice perCollision = aod::hf_sel_electron::collisionId; - ConfigurableAxis binDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, "#it{#Delta#varphi}"}; ConfigurableAxis binsPt{"binsPt", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; @@ -88,10 +87,6 @@ struct HfCorrelatorHfeHadrons { "registry", {}}; - ConfigurableAxis binsDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; - ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, "#it{#Delta#varphi}"}; - ConfigurableAxis binsP{"binsP", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; - void init(InitContext&) { AxisSpec axisDeltaEta = {binDeltaEta, "#Delta #eta = #eta_{Electron}- #eta_{Hadron}"}; From 47372f83eaadc31b34888341d5861e41f1307ee5 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Sun, 20 Apr 2025 22:49:12 +0530 Subject: [PATCH 24/61] Update electronSelectionWithTpcEmcal.cxx --- PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 3c8b8b46d2a..b27702f8ce3 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -138,7 +138,6 @@ struct HfElectronSelectionWithTpcEmcal { ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {20, -0.2, 0.2}, "Track Cluser Match #Delta #varphi"}; ConfigurableAxis binsMass{"binsMass", {100, 0.0, 2.0}, "Mass (GeV/#it{c}^{2}); entries"}; - HistogramRegistry registry{ "registry", {}}; From b4b20912845d626aebd698ac569a7ad3cd7ea09e Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Mon, 21 Apr 2025 06:34:41 +0530 Subject: [PATCH 25/61] Update correlatorHfeHadrons.cxx --- PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index c32cd022e7c..d8273ea48a3 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -78,7 +78,7 @@ struct HfCorrelatorHfeHadrons { Preslice perCol = aod::track::collisionId; Preslice perCollision = aod::hf_sel_electron::collisionId; - ConfigurableAxis binDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; + ConfigurableAxis binsDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, "#it{#Delta#varphi}"}; ConfigurableAxis binsPt{"binsPt", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; ConfigurableAxis binsPoolBin{"binsPoolBin", {9, 0., 9.}, "PoolBin"}; @@ -89,7 +89,7 @@ struct HfCorrelatorHfeHadrons { void init(InitContext&) { - AxisSpec axisDeltaEta = {binDeltaEta, "#Delta #eta = #eta_{Electron}- #eta_{Hadron}"}; + AxisSpec axisDeltaEta = {binsDeltaEta, "#Delta #eta = #eta_{Electron}- #eta_{Hadron}"}; AxisSpec axisDeltaPhi = {binsDeltaPhi, "#Delta #varphi = #varphi_{Electron}- #varphi_{Hadron}"}; AxisSpec axisPt = {binsPt, "#it{p_{T}}(GeV/#it{c})"}; AxisSpec axisPoolBin = {binsPoolBin, "PoolBin"}; From 9997e9a356f102226475ecc338d761daa97e0b8a Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Mon, 21 Apr 2025 06:35:23 +0530 Subject: [PATCH 26/61] Update taskCorrelationHfeHadrons.cxx --- PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx index f4baef889b1..5b69ea6d161 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx @@ -31,7 +31,7 @@ struct HfTaskCorrelationHfeHadrons { // Deltaphi binning Configurable nBinsDeltaPhi{"nBinsDeltaPhi", 32, "Bins for #Delta#varphi bins"}; - ConfigurableAxis binDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; + ConfigurableAxis binsDeltaEta{"binsDeltaEta", {30, -1.8, 1.8}, "#it{#Delta#eta}"}; ConfigurableAxis binsDeltaPhi{"binsDeltaPhi", {32, -o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf}, "#it{#Delta#varphi}"}; ConfigurableAxis binsPt{"binsPt", {50, 0.0, 50}, "#it{p_{T}}(GeV/#it{c})"}; @@ -41,7 +41,7 @@ struct HfTaskCorrelationHfeHadrons { void init(InitContext&) { - AxisSpec axisDeltaEta = {binDeltaEta, "#Delta #eta = #eta_{Electron}- #eta_{Hadron}"}; + AxisSpec axisDeltaEta = {binsDeltaEta, "#Delta #eta = #eta_{Electron}- #eta_{Hadron}"}; AxisSpec axisDeltaPhi = {binsDeltaPhi, "#Delta #varphi = #varphi_{Electron}- #varphi_{Hadron}"}; AxisSpec axisPt = {binsPt, "#it{p_{T}}(GeV/#it{c})"}; From 3842776a96728fbc2502d33c831a2d3bcec283bc Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 30 Apr 2025 15:36:31 +0530 Subject: [PATCH 27/61] Replace TH1D to TH1F --- .../electronSelectionWithTpcEmcal.cxx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index b27702f8ce3..22c6deef93b 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -161,34 +161,34 @@ struct HfElectronSelectionWithTpcEmcal { AxisSpec axisDeltaEta = {binsDeltaEta, "#Delta #eta = #eta_{trk}- #eta_{cluster}"}; AxisSpec axisDeltaPhi = {binsDeltaPhi, "#Delta #varphi = #varphi_{trk}- #varphi_{cluster}"}; - registry.add("hZvertex", "z vertex", {HistType::kTH1F, {axisPosZ}}); - registry.add("hNevents", "No of events", {HistType::kTH1F, {{3, 1, 4}}}); - registry.add("hLikeMass", "Like mass", {HistType::kTH1F, {{axisMass}}}); - registry.add("hUnLikeMass", "unLike mass", {HistType::kTH1F, {{axisMass}}}); - registry.add("hLikeSignPt", "Like sign Momentum ", {HistType::kTH1F, {{axisPt}}}); - registry.add("hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1F, {{axisPt}}}); - registry.add("hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1F, {{axisPt}}}); - registry.add("hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1F, {{axisPt}}}); - registry.add("hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1F, {{axisPt}}}); - registry.add("hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1F, {{axisPt}}}); - - registry.add("hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1F, {{axisPt}}}); - registry.add("hEmcClusterM02", "m02", {HistType::kTH1F, {{axisM02}}}); - registry.add("hEmcClusterM20", "m20", {HistType::kTH1F, {{axisM20}}}); + registry.add("hZvertex", "z vertex", {HistType::kTH1D, {axisPosZ}}); + registry.add("hNevents", "No of events", {HistType::kTH1D, {{3, 1, 4}}}); + registry.add("hLikeMass", "Like mass", {HistType::kTH1D, {{axisMass}}}); + registry.add("hUnLikeMass", "unLike mass", {HistType::kTH1D, {{axisMass}}}); + registry.add("hLikeSignPt", "Like sign Momentum ", {HistType::kTH1D, {{axisPt}}}); + registry.add("hUnLikeSignPt", "UnLike sign Momentum", {HistType::kTH1D, {{axisPt}}}); + registry.add("hMcgenInElectron", "Mc Gen Inclusive Electron", {HistType::kTH1D, {{axisPt}}}); + registry.add("hMcgenAllNonHfeElectron", "Mc Gen All NonHf Electron", {HistType::kTH1D, {{axisPt}}}); + registry.add("hMcgenNonHfeElectron", "Mc Gen NonHf Electron with mother", {HistType::kTH1D, {{axisPt}}}); + registry.add("hPi0eEmbTrkPt", "Mc Gen Pi0 mother NonHf Electron", {HistType::kTH1D, {{axisPt}}}); + + registry.add("hEtaeEmbTrkPt", "Mc Gen Eta mother NonHf Electron", {HistType::kTH1D, {{axisPt}}}); + registry.add("hEmcClusterM02", "m02", {HistType::kTH1D, {{axisM02}}}); + registry.add("hEmcClusterM20", "m20", {HistType::kTH1D, {{axisM20}}}); registry.add("hTrackEtaPhi", "TPC EtaPhi Info; #eta;#varphi;passEMcal;", {HistType::kTH3F, {{axisEta}, {axisPhi}, {axisPassEMcal}}}); registry.add("hTrackEnergyLossVsP", " TPC Energy loss info vs P; dE/dx;#it{p} (GeV#it{/c});passEMcal;", {HistType::kTH3F, {{axisdEdx}, {axisPt}, {axisPassEMcal}}}); registry.add("hTrackEnergyLossVsPt", "TPC Energy loss info vs Pt; dE/dx;#it{p}_{T} (GeV#it{/c});passEMcal;", {HistType::kTH3F, {{axisdEdx}, {axisPt}, {axisPassEMcal}}}); registry.add("hTracknSigmaVsP", " TPC nSigma info vs P; n#sigma;#it{p} (GeV#it{/c});passEMcal;", {HistType::kTH3F, {{axisnSigma}, {axisPt}, {axisPassEMcal}}}); registry.add("hTracknSigmaVsPt", " TPC nSigma info vs Pt; n#sigma;#it{p}_{T} (GeV#it{/c});passEMcal;", {HistType::kTH3F, {{axisnSigma}, {axisPt}, {axisPassEMcal}}}); - registry.add("hEmcClusterEnergy", "EMCal Cluster Info before match Energy; Energy (GeV); entries;", {HistType::kTH1F, {{axisEmcEnergy}}}); + registry.add("hEmcClusterEnergy", "EMCal Cluster Info before match Energy; Energy (GeV); entries;", {HistType::kTH1D, {{axisEmcEnergy}}}); registry.add("hEmcClusterEtaPhi", "EMCal Cluster Info before match Eta and Phi; #eta;#varphi;", {HistType::kTH2F, {{axisEta}, {axisPhi}}}); registry.add("hEmcClusterEnergyCell", "EMCal Cluster Info before match Energy vs nCells; Energy (GeV);ncell;", {HistType::kTH2F, {{axisEmcEnergy}, {axisEmcClsNCells}}}); registry.add("hEmcClusterEnergyTime", "EMCal Cluster Info before match Energy vs time; Energy (GeV); sec;", {HistType::kTH2F, {{axisEmcEnergy}, {axisEmcClsTime}}}); - registry.add("hEmcClusterAfterMatchEnergy", "EMCal Cluster Info After match Energy; Energy (GeV); entries;", {HistType::kTH1F, {{axisEmcEnergy}}}); + registry.add("hEmcClusterAfterMatchEnergy", "EMCal Cluster Info After match Energy; Energy (GeV); entries;", {HistType::kTH1D, {{axisEmcEnergy}}}); registry.add("hEmcClusterAfterMatchEtaPhi", "EMCal Cluster Info After match Eta and Phi; #eta;#varphi;", {HistType::kTH2F, {{axisEta}, {axisPhi}}}); registry.add("hEmcClusterAfterMatchEnergyCells", "EMCal Cluster Info After match Energy vs nCells; Energy (GeV);ncell;", {HistType::kTH2F, {{axisEmcEnergy}, {axisEmcClsNCells}}}); registry.add("hEmcClusterAfterMatchEnergyTime", "EMCal Cluster Info After match Energy vs time; Energy (GeV); sec;", {HistType::kTH2F, {{axisEmcEnergy}, {axisEmcClsTime}}}); - registry.add("hAfterMatchSigmaVsEoP", "PID Info after match EoP vs Sigma ; E/P;#it{p}_{T} (GeV#it{/c});n#sigma; m02; m20;", {HistType::kTHnSparseD, {{axisEoP}, {axisPt}, {axisnSigma}, {axisM02}, {axisM20}}}); + registry.add("hAfterMatchSigmaVsEoP", "PID Info after match EoP vs Sigma ; E/P;#it{p}_{T} (GeV#it{/c});n#sigma; m02; m20;", {HistType::kTHnSparseF, {{axisEoP}, {axisPt}, {axisnSigma}, {axisM02}, {axisM20}}}); registry.add("hAfterMatchEoPVsP", "PID Info after match EoP vs P; E/P;#it{p} (GeV#it{/c});", {HistType::kTH2F, {{axisEoP}, {axisPt}}}); registry.add("hAfterMatchSigmaVsP", "PID Info after match Sigma vs Momentum ; n#sigma; #it{p} (GeV#it{/c}; ", {HistType::kTH2F, {{axisnSigma}, {axisPt}}}); registry.add("hAfterMatchEtaPhi", "PID Info after match Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{axisEta}, {axisPhi}}}); @@ -197,7 +197,7 @@ struct HfElectronSelectionWithTpcEmcal { registry.add("hAfterPIDEtaPhi", "PID Info after PID Cuts Eta vs Phi ; #eta; #varphi; ", {HistType::kTH2F, {{axisEta}, {axisPhi}}}); registry.add("hEPRatioAfterPID", "E/P Ratio after PID Cuts apply only trackwodca filter", {HistType::kTH2F, {{axisPt}, {axisEmcEnergy}}}); - registry.add("hPIDAfterPIDCuts", "PID Info after PID cuts; E/P;#it{p}_{T} (GeV#it{/c});n#sigma;m02; m20;", {HistType::kTHnSparseD, {{binsEoP}, {binsPt}, {binsnSigma}, {binsM02}, {binsM20}}}); + registry.add("hPIDAfterPIDCuts", "PID Info after PID cuts; E/P;#it{p}_{T} (GeV#it{/c});n#sigma;m02; m20;", {HistType::kTHnSparseF, {{binsEoP}, {binsPt}, {binsnSigma}, {binsM02}, {binsM20}}}); registry.add("hEmcClsTrkEtaPhiDiffTime", "EmcClsTrkEtaPhiDiffTime;#Delta#eta;#Delta#varphi;Sec;", {HistType::kTH3F, {{binsDeltaEta}, {binsDeltaPhi}, {binsEmcClsTime}}}); } // Track Selection Cut From f58e81164a37a18900f765391abdbddfcf49f4ae Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 30 Apr 2025 15:38:16 +0530 Subject: [PATCH 28/61] Replace THnSparseD to kTHnSparseF --- .../TableProducer/correlatorHfeHadrons.cxx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index d8273ea48a3..17a2bd2e1a2 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -94,22 +94,22 @@ struct HfCorrelatorHfeHadrons { AxisSpec axisPt = {binsPt, "#it{p_{T}}(GeV/#it{c})"}; AxisSpec axisPoolBin = {binsPoolBin, "PoolBin"}; - registry.add("hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hLSEHCorrel", "Sparse for Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hULSEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hMCgenNonHfEHCorrel", "Sparse for Delta phi and Delta eta for McGen Non Hf Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hMCgenInclusiveEHCorrl", "Sparse for Delta phi and Delta eta for McGen Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hptElectron", "hptElectron", {HistType::kTH1F, {axisPt}}); - - registry.add("hMixEventInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hMixEventLSEHCorrel", "Sparse for mix event Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hMixEventULSEHCorrel", "Sparse for mix event Delta phi and Delta eta Unlike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hMixEventMcGenInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hMixEventMcGenNonHfEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Non Hf Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hElectronBin", "Electron bin", {HistType::kTH1F, {axisPoolBin}}); - registry.add("hLSElectronBin", "Electron bin", {HistType::kTH1F, {axisPoolBin}}); - registry.add("hULSElectronBin", "Electron bin", {HistType::kTH1F, {axisPoolBin}}); - registry.add("hTracksBin", "Particles associated pool bin", {HistType::kTH1F, {axisPoolBin}}); + registry.add("hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hLSEHCorrel", "Sparse for Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hULSEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMCgenNonHfEHCorrel", "Sparse for Delta phi and Delta eta for McGen Non Hf Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMCgenInclusiveEHCorrl", "Sparse for Delta phi and Delta eta for McGen Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hptElectron", "hptElectron", {HistType::kTH1D, {axisPt}}); + + registry.add("hMixEventInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMixEventLSEHCorrel", "Sparse for mix event Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMixEventULSEHCorrel", "Sparse for mix event Delta phi and Delta eta Unlike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMixEventMcGenInclusiveEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMixEventMcGenNonHfEHCorrl", "Sparse for mix event Delta phi and Delta eta Mc gen Non Hf Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hElectronBin", "Electron bin", {HistType::kTH1D, {axisPoolBin}}); + registry.add("hLSElectronBin", "Electron bin", {HistType::kTH1D, {axisPoolBin}}); + registry.add("hULSElectronBin", "Electron bin", {HistType::kTH1D, {axisPoolBin}}); + registry.add("hTracksBin", "Particles associated pool bin", {HistType::kTH1D, {axisPoolBin}}); } // Associated Hadron Selection Cut From 00814d03aba24ed268bd48aebe09d4992d4726e6 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 30 Apr 2025 22:03:23 +0530 Subject: [PATCH 29/61] fix name --- PWGHF/HFL/DataModel/ElectronSelectionTable.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index ea59302ee54..0c8abf6ee45 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -82,8 +82,8 @@ DECLARE_SOA_COLUMN(PhiTrack, phiTrack, float); //! azimuth of th DECLARE_SOA_COLUMN(PtTrack, ptTrack, float); //! transverse momentum of the electron track DECLARE_SOA_COLUMN(TpcNSigmaElTrack, tpcNSigmaElTrack, float); //! tpcNSigma of the electron track(TPC PID) DECLARE_SOA_COLUMN(TofNSigmaElTrack, tofNSigmaElTrack, float); //! tofNSigma of the electron track(TOF PID) -DECLARE_SOA_COLUMN(IsLSElectron, isLSElectron, int); //! Like sign electron information -DECLARE_SOA_COLUMN(IsULSElectron, isULSElectron, int); //! Unlike sign electron information +DECLARE_SOA_COLUMN(LSElPairCount, lsElPairCount, int); //! Number of Like sign electron pair +DECLARE_SOA_COLUMN(ULSElPairCount, ulsElPairCount, int); //! Number of UnLike sign electron pair DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information } // namespace hf_corr_sel_electron @@ -95,8 +95,8 @@ DECLARE_SOA_TABLE(HfCorrSelEl, "AOD", "HfCORRSELEL", //! Electron Informations hf_corr_sel_electron::PtTrack, hf_corr_sel_electron::TpcNSigmaElTrack, hf_corr_sel_electron::TofNSigmaElTrack, - hf_corr_sel_electron::IsLSElectron, - hf_corr_sel_electron::IsULSElectron, + hf_corr_sel_electron::LSElPairCount, + hf_corr_sel_electron::ULSElPairCount, hf_corr_sel_electron::IsEmcal); // definition of columns and tables for Mc Gen HfElectron Selection From 76993145eb6407f8b8e8a527ee5e05a3082f034d Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 30 Apr 2025 22:04:33 +0530 Subject: [PATCH 30/61] fix naming --- .../TableProducer/electronSelectionWithTpcEmcal.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 22c6deef93b..cdb50770874 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -265,8 +265,8 @@ struct HfElectronSelectionWithTpcEmcal { template void nonHfe(ElectronType const& electron, TracksType const& tracks, bool isEMcal) { - int isLSElectronFound = 0; - int isULSElectronFound = 0; + int lsElCounts = 0; + int ulsElCounts = 0; bool isLSElectron = false; bool isULSElectron = false; float invMassElectron = 0.; @@ -335,7 +335,7 @@ struct HfElectronSelectionWithTpcEmcal { // for like charge if (isLSElectron && (invMassElectron <= invariantMass)) { massLike = invMassElectron; - ++isLSElectronFound; + ++lsElCounts; if (isEMcal) { registry.fill(HIST("hLikeSignPt"), electron.pt()); } @@ -343,14 +343,14 @@ struct HfElectronSelectionWithTpcEmcal { // for unlike charge if (isULSElectron && (invMassElectron <= invariantMass)) { massUnLike = invMassElectron; - ++isULSElectronFound; + ++ulsElCounts; if (isEMcal) { registry.fill(HIST("hUnLikeSignPt"), electron.pt()); } } } // Pass multiplicities and other required parameters for this electron - hfElectronSelection(electron.collisionId(), electron.globalIndex(), electron.eta(), electron.phi(), electron.pt(), electron.tpcNSigmaEl(), electron.tofNSigmaEl(), isLSElectronFound, isULSElectronFound, isEMcal); + hfElectronSelection(electron.collisionId(), electron.globalIndex(), electron.eta(), electron.phi(), electron.pt(), electron.tpcNSigmaEl(), electron.tofNSigmaEl(), lsElCounts, ulsElCounts, isEMcal); } // Electron Identification template From 85c9800aa378f24434f192da191d14b0d6843d4b Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 30 Apr 2025 22:07:43 +0530 Subject: [PATCH 31/61] fix name --- PWGHF/HFC/DataModel/CorrelationTables.h | 39 +++++++++++++------------ 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 3af7b94cdea..7c3b5619698 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -473,14 +473,14 @@ DECLARE_SOA_TABLE(DmesonSelection, "AOD", "DINCOLL", // Selection of D meson in // definition of columns and tables for electron properties namespace hf_electron { -DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of electron -DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron -DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron -DECLARE_SOA_COLUMN(IsLSElectron, isLSElectron, int); //! like sign Electron -DECLARE_SOA_COLUMN(IsULSElectron, isULSElectron, int); //! unLike sign Electron -DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity -DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision -DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision +DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of electron +DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron +DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron +DECLARE_SOA_COLUMN(LSElCount, lsElCounts, int); //! like sign Electron +DECLARE_SOA_COLUMN(ULSElCount, ulsElCount, int); //! unLike sign Electron +DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity +DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision +DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision } // namespace hf_electron @@ -488,21 +488,21 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::Phi, aod::hf_electron::Eta, aod::hf_electron::PtElectron, - aod::hf_electron::IsLSElectron, - aod::hf_electron::IsULSElectron, + aod::hf_electron::LSElCount, + aod::hf_electron::ULSElCount, aod::hf_electron::PoolBin, aod::hf_electron::GIndexCol, aod::hf_electron::TimeStamp); namespace hf_correlation_electron_hadron { -DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons -DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Electron and Hadrons -DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron -DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron; -DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity -DECLARE_SOA_COLUMN(IsLSEHCorr, isLSEHCorr, int); //! like sign Electron hadron coorelation -DECLARE_SOA_COLUMN(IsULSEHCorr, isULSEHCorr, int); //! unLike sign Electron hadron coorelation +DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons +DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Electron and Hadrons +DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron +DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron; +DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity +DECLARE_SOA_COLUMN(LSPairEHCount, lsPairEHCount, int); //! like sign Pair Electron hadron coorelation +DECLARE_SOA_COLUMN(ULSPairEHCount, ulsPairEHCount, int); //! unLike sign Pair Electron hadron coorelation } // namespace hf_correlation_electron_hadron DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs Informations hf_correlation_electron_hadron::DeltaPhi, @@ -510,8 +510,9 @@ DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs I hf_correlation_electron_hadron::PtElectron, hf_correlation_electron_hadron::PtHadron, hf_correlation_electron_hadron::PoolBin, - hf_correlation_electron_hadron::IsLSEHCorr, - hf_correlation_electron_hadron::IsULSEHCorr); + hf_correlation_electron_hadron::LSPairEHCount, + hf_correlation_electron_hadron::ULSPairEHCount); + // Note: definition of columns and tables for Electron Hadron correlation pairs for MC Gen namespace hf_correlation_mcgenelectron_hadron From 354a1345079b84de38544fd37c1970a9539a650a Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 30 Apr 2025 22:08:36 +0530 Subject: [PATCH 32/61] fix name --- .../TableProducer/correlatorHfeHadrons.cxx | 65 +++++++++---------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index 17a2bd2e1a2..f6fdabc87cd 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -157,10 +157,6 @@ struct HfCorrelatorHfeHadrons { double deltaPhi = -999; double deltaEta = -999; - double deltaPhi1 = -999; - double deltaEta1 = -999; - double deltaPhi2 = -999; - double deltaEta2 = -999; double ptHadron = -999; double etaHadron = -999; double phiHadron = -999; @@ -169,25 +165,25 @@ struct HfCorrelatorHfeHadrons { continue; } registry.fill(HIST("hptElectron"), ptElectron); - int isLSElectron = 0; - int isULSElectron = 0; - if (eTrack.isLSElectron() > 0) { - for (int i = 0; i < eTrack.isLSElectron(); ++i) { + int lsElCounts = 0; + int ulsElCounts = 0; + if (eTrack.lsElPairCount() > 0) { + for (int i = 0; i < eTrack.lsElPairCount(); ++i) { - ++isLSElectron; + ++lsElCounts; registry.fill(HIST("hLSElectronBin"), poolBin); } } - if (eTrack.isULSElectron() > 0) { - for (int i = 0; i < eTrack.isULSElectron(); ++i) { + if (eTrack.ulsElPairCount() > 0) { + for (int i = 0; i < eTrack.ulsElPairCount(); ++i) { - ++isULSElectron; + ++ulsElCounts; registry.fill(HIST("hULSElectronBin"), poolBin); } } registry.fill(HIST("hElectronBin"), poolBin); - entryElectron(phiElectron, etaElectron, ptElectron, isLSElectron, isULSElectron, poolBin, gCollisionId, timeStamp); + entryElectron(phiElectron, etaElectron, ptElectron, lsElCounts, ulsElCounts, poolBin, gCollisionId, timeStamp); for (const auto& hTrack : tracks) { // Apply Hadron cut @@ -209,28 +205,27 @@ struct HfCorrelatorHfeHadrons { phiHadron = hTrack.phi(); etaHadron = hTrack.eta(); - deltaPhi1 = RecoDecay::constrainAngle(phiElectron - phiHadron, -o2::constants::math::PIHalf); - deltaEta1 = etaElectron - etaHadron; + deltaPhi = RecoDecay::constrainAngle(phiElectron - phiHadron, -o2::constants::math::PIHalf); + deltaEta = etaElectron - etaHadron; registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi1, deltaEta1); - registry.fill(HIST("hULSEHCorrel"), ptElectron, ptHadron, deltaPhi2, deltaEta2); - int isLSElectroncorr = 0; - int isULSElectroncorr = 0; - if (eTrack.isLSElectron() > 0) { - for (int i = 0; i < eTrack.isLSElectron(); ++i) { + int lsPairElcorr = 0; + int ulsPairElcorr = 0; + if (eTrack.lsElPairCount() > 0) { + for (int i = 0; i < eTrack.lsElPairCount(); ++i) { - ++isLSElectroncorr; + ++lsPairElcorr; + registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } - if (eTrack.isULSElectron() > 0) { - for (int i = 0; i < eTrack.isULSElectron(); ++i) { + if (eTrack.ulsElPairCount() > 0) { + for (int i = 0; i < eTrack.ulsElPairCount(); ++i) { registry.fill(HIST("hULSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - ++isULSElectroncorr; + ++ulsPairElcorr; } } - entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin, isLSElectroncorr, isULSElectroncorr); + entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin, lsPairElcorr, ulsPairElcorr); } // end Hadron Track loop cntElectron++; @@ -276,23 +271,23 @@ struct HfCorrelatorHfeHadrons { deltaEtaMix = etaElectronMix - etaHadronMix; registry.fill(HIST("hMixEventInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - int isLSElectroncorr = 0; - int isULSElectroncorr = 0; - if (t1.isLSElectron() > 0) { - for (int i = 0; i < t1.isLSElectron(); ++i) { + int lsElPairCorr = 0; + int ulsElPairCorr = 0; + if (t1.lsElPairCount() > 0) { + for (int i = 0; i < t1.lsElPairCount(); ++i) { registry.fill(HIST("hMixEventLSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - ++isLSElectroncorr; + ++lsElPairCorr; } } - if (t1.isULSElectron() > 0) { - for (int i = 0; i < t1.isULSElectron(); ++i) { + if (t1.ulsElPairCount() > 0) { + for (int i = 0; i < t1.ulsElPairCount(); ++i) { registry.fill(HIST("hMixEventULSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - ++isULSElectroncorr; + ++ulsElPairCorr; } } - entryElectronHadronPair(deltaPhiMix, deltaEtaMix, ptElectronMix, ptHadronMix, poolBin, isLSElectroncorr, isULSElectroncorr); + entryElectronHadronPair(deltaPhiMix, deltaEtaMix, ptElectronMix, ptHadronMix, poolBin, lsElPairCorr, ulsElPairCorr); } } From 78da050304def06f5fcad7e2d1a55150d79467cc Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 30 Apr 2025 22:09:22 +0530 Subject: [PATCH 33/61] Update taskCorrelationHfeHadrons.cxx --- PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx index 5b69ea6d161..5e355b80ddc 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx @@ -45,11 +45,11 @@ struct HfTaskCorrelationHfeHadrons { AxisSpec axisDeltaPhi = {binsDeltaPhi, "#Delta #varphi = #varphi_{Electron}- #varphi_{Hadron}"}; AxisSpec axisPt = {binsPt, "#it{p_{T}}(GeV/#it{c})"}; - registry.add("hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hLikeSignEHCorrel", "Sparse for Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hUnLikeSignEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hMcGenInclusiveEHCorrel", "Sparse for Delta phi and Delta eta for McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); - registry.add("hMcGenNonHfEHCorrel", "Sparse for Delta phi and Delta eta for McGen NonHeavy flavour Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseD, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hInclusiveEHCorrel", "Sparse for Delta phi and Delta eta Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hLikeSignEHCorrel", "Sparse for Delta phi and Delta eta Like sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hUnLikeSignEHCorrel", "Sparse for Delta phi and Delta eta UnLike sign Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMcGenInclusiveEHCorrel", "Sparse for Delta phi and Delta eta for McGen Inclusive Electron with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); + registry.add("hMcGenNonHfEHCorrel", "Sparse for Delta phi and Delta eta for McGen NonHeavy flavour Electron pair with Hadron;p_{T}^{e} (GeV#it{/c});p_{T}^{h} (GeV#it{/c});#Delta#varphi;#Delta#eta;", {HistType::kTHnSparseF, {{axisPt}, {axisPt}, {axisDeltaPhi}, {axisDeltaEta}}}); } // correlation for electron hadron @@ -68,14 +68,14 @@ struct HfTaskCorrelationHfeHadrons { ptHadron = pairEntry.ptHadron(); registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - if (pairEntry.isLSEHCorr() > 0) { - for (int i = 0; i < pairEntry.isLSEHCorr(); ++i) { + if (pairEntry.lsPairEHCount() > 0) { + for (int i = 0; i < pairEntry.lsPairEHCount(); ++i) { registry.fill(HIST("hLikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } - if (pairEntry.isULSEHCorr() > 0) { - for (int i = 0; i < pairEntry.isULSEHCorr(); ++i) { + if (pairEntry.ulsPairEHCount() > 0) { + for (int i = 0; i < pairEntry.ulsPairEHCount(); ++i) { registry.fill(HIST("hUnlikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } From 74c72e6132b5c8aa5803d59ad6bff53bcf736dd3 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 08:26:19 +0530 Subject: [PATCH 34/61] fix name --- PWGHF/HFL/DataModel/ElectronSelectionTable.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index 0c8abf6ee45..fd8b8496645 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -82,8 +82,8 @@ DECLARE_SOA_COLUMN(PhiTrack, phiTrack, float); //! azimuth of th DECLARE_SOA_COLUMN(PtTrack, ptTrack, float); //! transverse momentum of the electron track DECLARE_SOA_COLUMN(TpcNSigmaElTrack, tpcNSigmaElTrack, float); //! tpcNSigma of the electron track(TPC PID) DECLARE_SOA_COLUMN(TofNSigmaElTrack, tofNSigmaElTrack, float); //! tofNSigma of the electron track(TOF PID) -DECLARE_SOA_COLUMN(LSElPairCount, lsElPairCount, int); //! Number of Like sign electron pair -DECLARE_SOA_COLUMN(ULSElPairCount, ulsElPairCount, int); //! Number of UnLike sign electron pair +DECLARE_SOA_COLUMN(LSElPairCount, lSElPairCount, int); //! Number of Like sign electron pair +DECLARE_SOA_COLUMN(ULSElPairCount, uLSElPairCount, int); //! Number of UnLike sign electron pair DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information } // namespace hf_corr_sel_electron From ddc96e4c5e3240e1d53b06501e78bbb320e623e9 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 08:30:54 +0530 Subject: [PATCH 35/61] fixname --- .../TableProducer/correlatorHfeHadrons.cxx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index f6fdabc87cd..28d103e15f2 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -167,15 +167,15 @@ struct HfCorrelatorHfeHadrons { registry.fill(HIST("hptElectron"), ptElectron); int lsElCounts = 0; int ulsElCounts = 0; - if (eTrack.lsElPairCount() > 0) { - for (int i = 0; i < eTrack.lsElPairCount(); ++i) { + if (eTrack.lSElPairCount() > 0) { + for (int i = 0; i < eTrack.lSElPairCount(); ++i) { ++lsElCounts; registry.fill(HIST("hLSElectronBin"), poolBin); } } - if (eTrack.ulsElPairCount() > 0) { - for (int i = 0; i < eTrack.ulsElPairCount(); ++i) { + if (eTrack.uLSElPairCount() > 0) { + for (int i = 0; i < eTrack.uLSElPairCount(); ++i) { ++ulsElCounts; registry.fill(HIST("hULSElectronBin"), poolBin); @@ -211,15 +211,15 @@ struct HfCorrelatorHfeHadrons { int lsPairElcorr = 0; int ulsPairElcorr = 0; - if (eTrack.lsElPairCount() > 0) { - for (int i = 0; i < eTrack.lsElPairCount(); ++i) { + if (eTrack.lSElPairCount() > 0) { + for (int i = 0; i < eTrack.lSElPairCount(); ++i) { ++lsPairElcorr; registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } - if (eTrack.ulsElPairCount() > 0) { - for (int i = 0; i < eTrack.ulsElPairCount(); ++i) { + if (eTrack.uLSElPairCount() > 0) { + for (int i = 0; i < eTrack.uLSElPairCount(); ++i) { registry.fill(HIST("hULSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); ++ulsPairElcorr; @@ -273,15 +273,15 @@ struct HfCorrelatorHfeHadrons { registry.fill(HIST("hMixEventInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); int lsElPairCorr = 0; int ulsElPairCorr = 0; - if (t1.lsElPairCount() > 0) { - for (int i = 0; i < t1.lsElPairCount(); ++i) { + if (t1.lSElPairCount() > 0) { + for (int i = 0; i < t1.lSElPairCount(); ++i) { registry.fill(HIST("hMixEventLSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); ++lsElPairCorr; } } - if (t1.ulsElPairCount() > 0) { - for (int i = 0; i < t1.ulsElPairCount(); ++i) { + if (t1.uLSElPairCount() > 0) { + for (int i = 0; i < t1.uLSElPairCount(); ++i) { registry.fill(HIST("hMixEventULSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); ++ulsElPairCorr; From ff4fbbf5542fd19de9aa46ca250847120592ba46 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 08:35:04 +0530 Subject: [PATCH 36/61] fix name --- PWGHF/HFC/DataModel/CorrelationTables.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 7c3b5619698..8ff25643de8 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -476,8 +476,8 @@ namespace hf_electron DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of electron DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron -DECLARE_SOA_COLUMN(LSElCount, lsElCounts, int); //! like sign Electron -DECLARE_SOA_COLUMN(ULSElCount, ulsElCount, int); //! unLike sign Electron +DECLARE_SOA_COLUMN(LSElCount, lSElCounts, int); //! like sign Electron +DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision @@ -501,8 +501,8 @@ DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between El DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron; DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity -DECLARE_SOA_COLUMN(LSPairEHCount, lsPairEHCount, int); //! like sign Pair Electron hadron coorelation -DECLARE_SOA_COLUMN(ULSPairEHCount, ulsPairEHCount, int); //! unLike sign Pair Electron hadron coorelation +DECLARE_SOA_COLUMN(LSPairEHCount, lSPairEHCount, int); //! like sign Pair Electron hadron coorelation +DECLARE_SOA_COLUMN(ULSPairEHCount, uLSPairEHCount, int); //! unLike sign Pair Electron hadron coorelation } // namespace hf_correlation_electron_hadron DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs Informations hf_correlation_electron_hadron::DeltaPhi, @@ -513,7 +513,6 @@ DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs I hf_correlation_electron_hadron::LSPairEHCount, hf_correlation_electron_hadron::ULSPairEHCount); - // Note: definition of columns and tables for Electron Hadron correlation pairs for MC Gen namespace hf_correlation_mcgenelectron_hadron { From 53d02ab5ae4c38a51467a48ab450ef226434e960 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 08:36:04 +0530 Subject: [PATCH 37/61] fix naem --- PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx index 5e355b80ddc..d0daca1f810 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx @@ -68,14 +68,14 @@ struct HfTaskCorrelationHfeHadrons { ptHadron = pairEntry.ptHadron(); registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - if (pairEntry.lsPairEHCount() > 0) { - for (int i = 0; i < pairEntry.lsPairEHCount(); ++i) { + if (pairEntry.lSPairEHCount() > 0) { + for (int i = 0; i < pairEntry.lSPairEHCount(); ++i) { registry.fill(HIST("hLikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } - if (pairEntry.ulsPairEHCount() > 0) { - for (int i = 0; i < pairEntry.ulsPairEHCount(); ++i) { + if (pairEntry.uLSPairEHCount() > 0) { + for (int i = 0; i < pairEntry.uLSPairEHCount(); ++i) { registry.fill(HIST("hUnlikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } From 995e8cf8f1e9f8436ff2e5aca2f4036cc4c0fbe4 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 09:07:19 +0530 Subject: [PATCH 38/61] fixname --- PWGHF/HFC/DataModel/CorrelationTables.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 8ff25643de8..83b826231cf 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -479,7 +479,7 @@ DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of el DECLARE_SOA_COLUMN(LSElCount, lSElCounts, int); //! like sign Electron DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity -DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision +DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision } // namespace hf_electron @@ -491,7 +491,7 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::LSElCount, aod::hf_electron::ULSElCount, aod::hf_electron::PoolBin, - aod::hf_electron::GIndexCol, + aod::hf_electron::CollisionId, aod::hf_electron::TimeStamp); namespace hf_correlation_electron_hadron From 30735ecd82d3e6fb365959f7a0c4ea28e95c211c Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 09:09:56 +0530 Subject: [PATCH 39/61] Update CorrelationTables.h --- PWGHF/HFC/DataModel/CorrelationTables.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 83b826231cf..c7a90810b31 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -478,8 +478,8 @@ DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron DECLARE_SOA_COLUMN(LSElCount, lSElCounts, int); //! like sign Electron DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron -DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity -DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //! Global index for the collision +DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit +DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision } // namespace hf_electron @@ -491,7 +491,7 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::LSElCount, aod::hf_electron::ULSElCount, aod::hf_electron::PoolBin, - aod::hf_electron::CollisionId, + aod::hf_electron::GIndexCol, aod::hf_electron::TimeStamp); namespace hf_correlation_electron_hadron From 886131ef9fb467eca7ecfbc142dc6e1a4bb53fb4 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 09:12:27 +0530 Subject: [PATCH 40/61] Update CorrelationTables.h --- PWGHF/HFC/DataModel/CorrelationTables.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index c7a90810b31..1de6026b224 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -479,7 +479,7 @@ DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of el DECLARE_SOA_COLUMN(LSElCount, lSElCounts, int); //! like sign Electron DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit -DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision +DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision } // namespace hf_electron @@ -491,7 +491,7 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::LSElCount, aod::hf_electron::ULSElCount, aod::hf_electron::PoolBin, - aod::hf_electron::GIndexCol, + aod::hf_electron::CollisionId, aod::hf_electron::TimeStamp); namespace hf_correlation_electron_hadron From e249aedbdb2d6f493577ba5f9433ade242e4f571 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 09:15:38 +0530 Subject: [PATCH 41/61] Update CorrelationTables.h --- PWGHF/HFC/DataModel/CorrelationTables.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 1de6026b224..4c463afeb32 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -479,7 +479,7 @@ DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of el DECLARE_SOA_COLUMN(LSElCount, lSElCounts, int); //! like sign Electron DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit -DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //! Global index for the collision +DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision } // namespace hf_electron @@ -491,9 +491,10 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::LSElCount, aod::hf_electron::ULSElCount, aod::hf_electron::PoolBin, - aod::hf_electron::CollisionId, + aod::hf_electron::GIndexCol, aod::hf_electron::TimeStamp); + namespace hf_correlation_electron_hadron { DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons From 110c5eb30d2b249ecbd40f28f493c54e742b47a3 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 09:26:49 +0530 Subject: [PATCH 42/61] Update CorrelationTables.h --- PWGHF/HFC/DataModel/CorrelationTables.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 4c463afeb32..3474bea03af 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -479,7 +479,7 @@ DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of el DECLARE_SOA_COLUMN(LSElCount, lSElCounts, int); //! like sign Electron DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit -DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision +DECLARE_SOA_COLUMN(GlobalIndex, globalIndex, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision } // namespace hf_electron @@ -491,10 +491,9 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::LSElCount, aod::hf_electron::ULSElCount, aod::hf_electron::PoolBin, - aod::hf_electron::GIndexCol, + aod::hf_electron::GlobalIndex, aod::hf_electron::TimeStamp); - namespace hf_correlation_electron_hadron { DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons From 157d03e0e0efe177c765be065ef514d23b68ed33 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 09:46:21 +0530 Subject: [PATCH 43/61] Update CorrelationTables.h --- PWGHF/HFC/DataModel/CorrelationTables.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 3474bea03af..81c90ad2db6 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -476,10 +476,10 @@ namespace hf_electron DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of electron DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron -DECLARE_SOA_COLUMN(LSElCount, lSElCounts, int); //! like sign Electron +DECLARE_SOA_COLUMN(LSElCount, lSElCount, int); //! like sign Electron DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit -DECLARE_SOA_COLUMN(GlobalIndex, globalIndex, int); //! Global index for the collision +DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision } // namespace hf_electron @@ -491,7 +491,7 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::LSElCount, aod::hf_electron::ULSElCount, aod::hf_electron::PoolBin, - aod::hf_electron::GlobalIndex, + aod::hf_electron::GIndexCol, aod::hf_electron::TimeStamp); namespace hf_correlation_electron_hadron From 1a140eb2cc5ebb1977cdfcd80e76b80a14b52ea8 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Thu, 1 May 2025 09:49:01 +0530 Subject: [PATCH 44/61] RemovePRclang --- PWGHF/HFC/DataModel/CorrelationTables.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 81c90ad2db6..91ba9aeccfd 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -476,7 +476,7 @@ namespace hf_electron DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of electron DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron -DECLARE_SOA_COLUMN(LSElCount, lSElCount, int); //! like sign Electron +DECLARE_SOA_COLUMN(LSElCount, lSElCount, int); //! like sign Electron DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision From 6432cfaab11b450efca348e28b347e08b10da789 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Fri, 2 May 2025 05:35:14 +0530 Subject: [PATCH 45/61] fix name --- PWGHF/HFL/DataModel/ElectronSelectionTable.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index fd8b8496645..faedfe1f24c 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -82,8 +82,8 @@ DECLARE_SOA_COLUMN(PhiTrack, phiTrack, float); //! azimuth of th DECLARE_SOA_COLUMN(PtTrack, ptTrack, float); //! transverse momentum of the electron track DECLARE_SOA_COLUMN(TpcNSigmaElTrack, tpcNSigmaElTrack, float); //! tpcNSigma of the electron track(TPC PID) DECLARE_SOA_COLUMN(TofNSigmaElTrack, tofNSigmaElTrack, float); //! tofNSigma of the electron track(TOF PID) -DECLARE_SOA_COLUMN(LSElPairCount, lSElPairCount, int); //! Number of Like sign electron pair -DECLARE_SOA_COLUMN(ULSElPairCount, uLSElPairCount, int); //! Number of UnLike sign electron pair +DECLARE_SOA_COLUMN(LsElePairCount, lsElePairCount, int); //! Number of Like sign electron pair +DECLARE_SOA_COLUMN(UlsElePairCount, ulsElePairCount, int); //! Number of UnLike sign electron pair DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information } // namespace hf_corr_sel_electron @@ -95,8 +95,8 @@ DECLARE_SOA_TABLE(HfCorrSelEl, "AOD", "HfCORRSELEL", //! Electron Informations hf_corr_sel_electron::PtTrack, hf_corr_sel_electron::TpcNSigmaElTrack, hf_corr_sel_electron::TofNSigmaElTrack, - hf_corr_sel_electron::LSElPairCount, - hf_corr_sel_electron::ULSElPairCount, + hf_corr_sel_electron::LsElePairCount, + hf_corr_sel_electron::UlsElePairCount, hf_corr_sel_electron::IsEmcal); // definition of columns and tables for Mc Gen HfElectron Selection From 27bb1bd3705db0ba0214678359c127df2f17d6f1 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Fri, 2 May 2025 05:39:15 +0530 Subject: [PATCH 46/61] Update ElectronSelectionTable.h --- PWGHF/HFL/DataModel/ElectronSelectionTable.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index faedfe1f24c..2ffe7bf3e1a 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -82,8 +82,8 @@ DECLARE_SOA_COLUMN(PhiTrack, phiTrack, float); //! azimuth of th DECLARE_SOA_COLUMN(PtTrack, ptTrack, float); //! transverse momentum of the electron track DECLARE_SOA_COLUMN(TpcNSigmaElTrack, tpcNSigmaElTrack, float); //! tpcNSigma of the electron track(TPC PID) DECLARE_SOA_COLUMN(TofNSigmaElTrack, tofNSigmaElTrack, float); //! tofNSigma of the electron track(TOF PID) -DECLARE_SOA_COLUMN(LsElePairCount, lsElePairCount, int); //! Number of Like sign electron pair -DECLARE_SOA_COLUMN(UlsElePairCount, ulsElePairCount, int); //! Number of UnLike sign electron pair +DECLARE_SOA_COLUMN(LsElPairCount, lsElPairCount, int); //! Number of Like sign electron pair +DECLARE_SOA_COLUMN(UlsElPairCount, ulsElPairCount, int); //! Number of UnLike sign electron pair DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information } // namespace hf_corr_sel_electron @@ -95,8 +95,8 @@ DECLARE_SOA_TABLE(HfCorrSelEl, "AOD", "HfCORRSELEL", //! Electron Informations hf_corr_sel_electron::PtTrack, hf_corr_sel_electron::TpcNSigmaElTrack, hf_corr_sel_electron::TofNSigmaElTrack, - hf_corr_sel_electron::LsElePairCount, - hf_corr_sel_electron::UlsElePairCount, + hf_corr_sel_electron::LsElPairCount, + hf_corr_sel_electron::UlsElPairCount, hf_corr_sel_electron::IsEmcal); // definition of columns and tables for Mc Gen HfElectron Selection From 992bd339390c051f91407c1d0cd9bedcd11b9db6 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Fri, 2 May 2025 05:47:20 +0530 Subject: [PATCH 47/61] Update correlatorHfeHadrons.cxx --- .../TableProducer/correlatorHfeHadrons.cxx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index 28d103e15f2..f6fdabc87cd 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -167,15 +167,15 @@ struct HfCorrelatorHfeHadrons { registry.fill(HIST("hptElectron"), ptElectron); int lsElCounts = 0; int ulsElCounts = 0; - if (eTrack.lSElPairCount() > 0) { - for (int i = 0; i < eTrack.lSElPairCount(); ++i) { + if (eTrack.lsElPairCount() > 0) { + for (int i = 0; i < eTrack.lsElPairCount(); ++i) { ++lsElCounts; registry.fill(HIST("hLSElectronBin"), poolBin); } } - if (eTrack.uLSElPairCount() > 0) { - for (int i = 0; i < eTrack.uLSElPairCount(); ++i) { + if (eTrack.ulsElPairCount() > 0) { + for (int i = 0; i < eTrack.ulsElPairCount(); ++i) { ++ulsElCounts; registry.fill(HIST("hULSElectronBin"), poolBin); @@ -211,15 +211,15 @@ struct HfCorrelatorHfeHadrons { int lsPairElcorr = 0; int ulsPairElcorr = 0; - if (eTrack.lSElPairCount() > 0) { - for (int i = 0; i < eTrack.lSElPairCount(); ++i) { + if (eTrack.lsElPairCount() > 0) { + for (int i = 0; i < eTrack.lsElPairCount(); ++i) { ++lsPairElcorr; registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } - if (eTrack.uLSElPairCount() > 0) { - for (int i = 0; i < eTrack.uLSElPairCount(); ++i) { + if (eTrack.ulsElPairCount() > 0) { + for (int i = 0; i < eTrack.ulsElPairCount(); ++i) { registry.fill(HIST("hULSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); ++ulsPairElcorr; @@ -273,15 +273,15 @@ struct HfCorrelatorHfeHadrons { registry.fill(HIST("hMixEventInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); int lsElPairCorr = 0; int ulsElPairCorr = 0; - if (t1.lSElPairCount() > 0) { - for (int i = 0; i < t1.lSElPairCount(); ++i) { + if (t1.lsElPairCount() > 0) { + for (int i = 0; i < t1.lsElPairCount(); ++i) { registry.fill(HIST("hMixEventLSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); ++lsElPairCorr; } } - if (t1.uLSElPairCount() > 0) { - for (int i = 0; i < t1.uLSElPairCount(); ++i) { + if (t1.ulsElPairCount() > 0) { + for (int i = 0; i < t1.ulsElPairCount(); ++i) { registry.fill(HIST("hMixEventULSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); ++ulsElPairCorr; From 772084cf04478601082b22614f10dd17ec55b267 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Fri, 2 May 2025 05:50:11 +0530 Subject: [PATCH 48/61] Update CorrelationTables.h --- PWGHF/HFC/DataModel/CorrelationTables.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 91ba9aeccfd..fd6f0148cc7 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -476,8 +476,8 @@ namespace hf_electron DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of electron DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron -DECLARE_SOA_COLUMN(LSElCount, lSElCount, int); //! like sign Electron -DECLARE_SOA_COLUMN(ULSElCount, uLSElCount, int); //! unLike sign Electron +DECLARE_SOA_COLUMN(LsElCount, lsElCount, int); //! like sign Electron +DECLARE_SOA_COLUMN(UlsElCount, ulsElCount, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision @@ -488,8 +488,8 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::Phi, aod::hf_electron::Eta, aod::hf_electron::PtElectron, - aod::hf_electron::LSElCount, - aod::hf_electron::ULSElCount, + aod::hf_electron::LsElCount, + aod::hf_electron::UlsElCount, aod::hf_electron::PoolBin, aod::hf_electron::GIndexCol, aod::hf_electron::TimeStamp); @@ -501,8 +501,8 @@ DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between El DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron; DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity -DECLARE_SOA_COLUMN(LSPairEHCount, lSPairEHCount, int); //! like sign Pair Electron hadron coorelation -DECLARE_SOA_COLUMN(ULSPairEHCount, uLSPairEHCount, int); //! unLike sign Pair Electron hadron coorelation +DECLARE_SOA_COLUMN(LsPairEHCount, lsPairEHCount, int); //! like sign Pair Electron hadron coorelation +DECLARE_SOA_COLUMN(UlsPairEHCount, ulsPairEHCount, int); //! unLike sign Pair Electron hadron coorelation } // namespace hf_correlation_electron_hadron DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs Informations hf_correlation_electron_hadron::DeltaPhi, @@ -510,8 +510,8 @@ DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs I hf_correlation_electron_hadron::PtElectron, hf_correlation_electron_hadron::PtHadron, hf_correlation_electron_hadron::PoolBin, - hf_correlation_electron_hadron::LSPairEHCount, - hf_correlation_electron_hadron::ULSPairEHCount); + hf_correlation_electron_hadron::LsPairEHCount, + hf_correlation_electron_hadron::UlsPairEHCount); // Note: definition of columns and tables for Electron Hadron correlation pairs for MC Gen namespace hf_correlation_mcgenelectron_hadron From 95e293a50716887179640c01c7bb6082c875f6a6 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Fri, 2 May 2025 05:51:27 +0530 Subject: [PATCH 49/61] fix nae --- PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx index d0daca1f810..5e355b80ddc 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx @@ -68,14 +68,14 @@ struct HfTaskCorrelationHfeHadrons { ptHadron = pairEntry.ptHadron(); registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - if (pairEntry.lSPairEHCount() > 0) { - for (int i = 0; i < pairEntry.lSPairEHCount(); ++i) { + if (pairEntry.lsPairEHCount() > 0) { + for (int i = 0; i < pairEntry.lsPairEHCount(); ++i) { registry.fill(HIST("hLikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } - if (pairEntry.uLSPairEHCount() > 0) { - for (int i = 0; i < pairEntry.uLSPairEHCount(); ++i) { + if (pairEntry.ulsPairEHCount() > 0) { + for (int i = 0; i < pairEntry.ulsPairEHCount(); ++i) { registry.fill(HIST("hUnlikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } From 2a4ba5941e28736a1c583260c09433ac6a1ff41e Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Fri, 2 May 2025 16:42:27 +0530 Subject: [PATCH 50/61] fix name --- PWGHF/HFC/DataModel/CorrelationTables.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index fd6f0148cc7..d9f1173db28 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -473,11 +473,11 @@ DECLARE_SOA_TABLE(DmesonSelection, "AOD", "DINCOLL", // Selection of D meson in // definition of columns and tables for electron properties namespace hf_electron { -DECLARE_SOA_COLUMN(Phi, phi, float); //! Phi of electron -DECLARE_SOA_COLUMN(Eta, eta, float); //! Eta of electron +DECLARE_SOA_COLUMN(PhiElectron, phiElectron, float); //! Phi of electron +DECLARE_SOA_COLUMN(EtaElectron, etaElectron, float); //! Eta of electron DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron -DECLARE_SOA_COLUMN(LsElCount, lsElCount, int); //! like sign Electron -DECLARE_SOA_COLUMN(UlsElCount, ulsElCount, int); //! unLike sign Electron +DECLARE_SOA_COLUMN(NLSEl, nLSEl, int); //! like sign Electron +DECLARE_SOA_COLUMN(NULSEl, nULSEl, int); //! unLike sign Electron DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision @@ -488,8 +488,8 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::Phi, aod::hf_electron::Eta, aod::hf_electron::PtElectron, - aod::hf_electron::LsElCount, - aod::hf_electron::UlsElCount, + aod::hf_electron::NLSEl, + aod::hf_electron::NULSEl, aod::hf_electron::PoolBin, aod::hf_electron::GIndexCol, aod::hf_electron::TimeStamp); From dea1a2fd91174933a3a84c9fed8db9ebd22bc260 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Fri, 2 May 2025 16:46:14 +0530 Subject: [PATCH 51/61] Remove clang error --- PWGHF/HFC/DataModel/CorrelationTables.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index d9f1173db28..33c19f33fee 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -470,23 +470,22 @@ DECLARE_SOA_TABLE(DmesonSelection, "AOD", "DINCOLL", // Selection of D meson in aod::hf_selection_dmeson_collision::DmesonSel); // Note: definition of columns and tables for Electron Hadron correlation pairs -// definition of columns and tables for electron properties namespace hf_electron { -DECLARE_SOA_COLUMN(PhiElectron, phiElectron, float); //! Phi of electron -DECLARE_SOA_COLUMN(EtaElectron, etaElectron, float); //! Eta of electron -DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron -DECLARE_SOA_COLUMN(NLSEl, nLSEl, int); //! like sign Electron -DECLARE_SOA_COLUMN(NULSEl, nULSEl, int); //! unLike sign Electron -DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit -DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision -DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision +DECLARE_SOA_COLUMN(PhiElectron, phiElectron, float); //! Phi of electron +DECLARE_SOA_COLUMN(EtaElectron, etaElectron, float); //! Eta of electron +DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron +DECLARE_SOA_COLUMN(NLSEl, nLSEl, int); //! like sign Electron +DECLARE_SOA_COLUMN(NULSEl, nULSEl, int); //! unLike sign Electron +DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit +DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision +DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision } // namespace hf_electron DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties - aod::hf_electron::Phi, - aod::hf_electron::Eta, + aod::hf_electron::PhiElectron, + aod::hf_electron::EtaElectron, aod::hf_electron::PtElectron, aod::hf_electron::NLSEl, aod::hf_electron::NULSEl, From aeb89aca7e5c611a61eda0371cf705a406f59f70 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Tue, 6 May 2025 15:18:06 +0530 Subject: [PATCH 52/61] fix name --- PWGHF/HFC/DataModel/CorrelationTables.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index 33c19f33fee..ed866674aa2 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -475,8 +475,8 @@ namespace hf_electron DECLARE_SOA_COLUMN(PhiElectron, phiElectron, float); //! Phi of electron DECLARE_SOA_COLUMN(EtaElectron, etaElectron, float); //! Eta of electron DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of electron -DECLARE_SOA_COLUMN(NLSEl, nLSEl, int); //! like sign Electron -DECLARE_SOA_COLUMN(NULSEl, nULSEl, int); //! unLike sign Electron +DECLARE_SOA_COLUMN(NElectronsLS, nElectronsLS, int); //! number of like-sign +DECLARE_SOA_COLUMN(NElectronsUS, nElectronsUS, int); //! number of Unlike-sign DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicit DECLARE_SOA_COLUMN(GIndexCol, gIndexCol, int); //! Global index for the collision DECLARE_SOA_COLUMN(TimeStamp, timeStamp, int64_t); //! Timestamp for the collision @@ -487,8 +487,8 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties aod::hf_electron::PhiElectron, aod::hf_electron::EtaElectron, aod::hf_electron::PtElectron, - aod::hf_electron::NLSEl, - aod::hf_electron::NULSEl, + aod::hf_electron::NElectronsLS, + aod::hf_electron::NElectronsUS, aod::hf_electron::PoolBin, aod::hf_electron::GIndexCol, aod::hf_electron::TimeStamp); From 8b8cbe93ff13107753ba9747be51309c5e4ff0df Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Tue, 6 May 2025 15:27:49 +0530 Subject: [PATCH 53/61] Update correlatorHfeHadrons.cxx --- PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index f6fdabc87cd..c20627e518b 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -148,7 +148,7 @@ struct HfCorrelatorHfeHadrons { double ptElectron = -999; double phiElectron = -999; double etaElectron = -999; - int cntElectron = 0; + int nElectron = 0; for (const auto& eTrack : electron) { ptElectron = eTrack.ptTrack(); @@ -190,7 +190,7 @@ struct HfCorrelatorHfeHadrons { if (!selAssoHadron(hTrack)) { continue; } - if (cntElectron == 0) { + if (nElectron == 0) { registry.fill(HIST("hTracksBin"), poolBin); entryHadron(phiHadron, etaHadron, ptHadron, poolBin, gCollisionId, timeStamp); } @@ -228,7 +228,7 @@ struct HfCorrelatorHfeHadrons { entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin, lsPairElcorr, ulsPairElcorr); } // end Hadron Track loop - cntElectron++; + nElectron++; } // end Electron loop } From 26e3f25895e53da9c46f6cf5012019fe269232f6 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Tue, 6 May 2025 19:29:28 +0530 Subject: [PATCH 54/61] change name --- PWGHF/HFC/DataModel/CorrelationTables.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/PWGHF/HFC/DataModel/CorrelationTables.h b/PWGHF/HFC/DataModel/CorrelationTables.h index ed866674aa2..50b2431a040 100644 --- a/PWGHF/HFC/DataModel/CorrelationTables.h +++ b/PWGHF/HFC/DataModel/CorrelationTables.h @@ -495,13 +495,13 @@ DECLARE_SOA_TABLE(HfElectron, "AOD", "HFELECTRON", //! Hf Electron properties namespace hf_correlation_electron_hadron { -DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons -DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Electron and Hadrons -DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron -DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron; -DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity -DECLARE_SOA_COLUMN(LsPairEHCount, lsPairEHCount, int); //! like sign Pair Electron hadron coorelation -DECLARE_SOA_COLUMN(UlsPairEHCount, ulsPairEHCount, int); //! unLike sign Pair Electron hadron coorelation +DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Electron and Hadrons +DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Electron and Hadrons +DECLARE_SOA_COLUMN(PtElectron, ptElectron, float); //! Transverse momentum of Electron +DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron; +DECLARE_SOA_COLUMN(PoolBin, poolBin, int); //! Pool Bin of event defined using zvtx and multiplicity +DECLARE_SOA_COLUMN(NPairsLS, nPairsLS, int); //! number of like-sign electron-hadron pairs +DECLARE_SOA_COLUMN(NPairsUS, nPairsUS, int); //! number of unlike-sign electron-hadron pairs } // namespace hf_correlation_electron_hadron DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs Informations hf_correlation_electron_hadron::DeltaPhi, @@ -509,8 +509,8 @@ DECLARE_SOA_TABLE(HfEHadronPair, "AOD", "HFEHADRONPAIR", //! Hfe-Hadrons pairs I hf_correlation_electron_hadron::PtElectron, hf_correlation_electron_hadron::PtHadron, hf_correlation_electron_hadron::PoolBin, - hf_correlation_electron_hadron::LsPairEHCount, - hf_correlation_electron_hadron::UlsPairEHCount); + hf_correlation_electron_hadron::NPairsLS, + hf_correlation_electron_hadron::NPairsUS); // Note: definition of columns and tables for Electron Hadron correlation pairs for MC Gen namespace hf_correlation_mcgenelectron_hadron From a08f1fe0223baf9c179e5da127cfa01f3a1bf393 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Tue, 6 May 2025 19:30:19 +0530 Subject: [PATCH 55/61] fix name --- PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx index 5e355b80ddc..94786e27372 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationHfeHadrons.cxx @@ -68,14 +68,14 @@ struct HfTaskCorrelationHfeHadrons { ptHadron = pairEntry.ptHadron(); registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - if (pairEntry.lsPairEHCount() > 0) { - for (int i = 0; i < pairEntry.lsPairEHCount(); ++i) { + if (pairEntry.nPairsLS() > 0) { + for (int i = 0; i < pairEntry.nPairsLS(); ++i) { registry.fill(HIST("hLikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } - if (pairEntry.ulsPairEHCount() > 0) { - for (int i = 0; i < pairEntry.ulsPairEHCount(); ++i) { + if (pairEntry.nPairsUS() > 0) { + for (int i = 0; i < pairEntry.nPairsLS(); ++i) { registry.fill(HIST("hUnlikeSignEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } From e9b35e227c1d20d6eb77f5eab5678e2ebeaf60e7 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 7 May 2025 09:20:22 +0530 Subject: [PATCH 56/61] changenaem --- .../TableProducer/correlatorHfeHadrons.cxx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index c20627e518b..beed99c398b 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -167,15 +167,15 @@ struct HfCorrelatorHfeHadrons { registry.fill(HIST("hptElectron"), ptElectron); int lsElCounts = 0; int ulsElCounts = 0; - if (eTrack.lsElPairCount() > 0) { - for (int i = 0; i < eTrack.lsElPairCount(); ++i) { + if (eTrack.nElPairLS() > 0) { + for (int i = 0; i < eTrack.nElPairLS(); ++i) { ++lsElCounts; registry.fill(HIST("hLSElectronBin"), poolBin); } } - if (eTrack.ulsElPairCount() > 0) { - for (int i = 0; i < eTrack.ulsElPairCount(); ++i) { + if (eTrack.nElPairUS() > 0) { + for (int i = 0; i < eTrack.nElPairUS(); ++i) { ++ulsElCounts; registry.fill(HIST("hULSElectronBin"), poolBin); @@ -211,15 +211,15 @@ struct HfCorrelatorHfeHadrons { int lsPairElcorr = 0; int ulsPairElcorr = 0; - if (eTrack.lsElPairCount() > 0) { - for (int i = 0; i < eTrack.lsElPairCount(); ++i) { + if (eTrack.nElPairLS() > 0) { + for (int i = 0; i < eTrack.nElPairLS(); ++i) { ++lsPairElcorr; registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } - if (eTrack.ulsElPairCount() > 0) { - for (int i = 0; i < eTrack.ulsElPairCount(); ++i) { + if (eTrack.nElPairUS() > 0) { + for (int i = 0; i < eTrack.nElPairUS(); ++i) { registry.fill(HIST("hULSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); ++ulsPairElcorr; @@ -273,15 +273,15 @@ struct HfCorrelatorHfeHadrons { registry.fill(HIST("hMixEventInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); int lsElPairCorr = 0; int ulsElPairCorr = 0; - if (t1.lsElPairCount() > 0) { - for (int i = 0; i < t1.lsElPairCount(); ++i) { + if (t1.nElPairLS() > 0) { + for (int i = 0; i < t1.nElPairLS(); ++i) { registry.fill(HIST("hMixEventLSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); ++lsElPairCorr; } } - if (t1.ulsElPairCount() > 0) { - for (int i = 0; i < t1.ulsElPairCount(); ++i) { + if (t1.nElPairUS() > 0) { + for (int i = 0; i < t1.nElPairUS(); ++i) { registry.fill(HIST("hMixEventULSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); ++ulsElPairCorr; From fd8db65c6fd3dabb716175282b063a78d207137b Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 7 May 2025 09:21:00 +0530 Subject: [PATCH 57/61] change name --- PWGHF/HFL/DataModel/ElectronSelectionTable.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGHF/HFL/DataModel/ElectronSelectionTable.h b/PWGHF/HFL/DataModel/ElectronSelectionTable.h index 2ffe7bf3e1a..e590ee1d94d 100644 --- a/PWGHF/HFL/DataModel/ElectronSelectionTable.h +++ b/PWGHF/HFL/DataModel/ElectronSelectionTable.h @@ -82,8 +82,8 @@ DECLARE_SOA_COLUMN(PhiTrack, phiTrack, float); //! azimuth of th DECLARE_SOA_COLUMN(PtTrack, ptTrack, float); //! transverse momentum of the electron track DECLARE_SOA_COLUMN(TpcNSigmaElTrack, tpcNSigmaElTrack, float); //! tpcNSigma of the electron track(TPC PID) DECLARE_SOA_COLUMN(TofNSigmaElTrack, tofNSigmaElTrack, float); //! tofNSigma of the electron track(TOF PID) -DECLARE_SOA_COLUMN(LsElPairCount, lsElPairCount, int); //! Number of Like sign electron pair -DECLARE_SOA_COLUMN(UlsElPairCount, ulsElPairCount, int); //! Number of UnLike sign electron pair +DECLARE_SOA_COLUMN(NElPairLS, nElPairLS, int); //! Number of Like sign electron pair +DECLARE_SOA_COLUMN(NElPairUS, nElPairUS, int); //! Number of UnLike sign electron pair DECLARE_SOA_COLUMN(IsEmcal, isEmcal, bool); //! electron information } // namespace hf_corr_sel_electron @@ -95,8 +95,8 @@ DECLARE_SOA_TABLE(HfCorrSelEl, "AOD", "HfCORRSELEL", //! Electron Informations hf_corr_sel_electron::PtTrack, hf_corr_sel_electron::TpcNSigmaElTrack, hf_corr_sel_electron::TofNSigmaElTrack, - hf_corr_sel_electron::LsElPairCount, - hf_corr_sel_electron::UlsElPairCount, + hf_corr_sel_electron::NElPairLS, + hf_corr_sel_electron::NElPairUS, hf_corr_sel_electron::IsEmcal); // definition of columns and tables for Mc Gen HfElectron Selection From 481a80cc057b63431970147e393f676408616b24 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 7 May 2025 09:21:45 +0530 Subject: [PATCH 58/61] fix name --- .../TableProducer/electronSelectionWithTpcEmcal.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index cdb50770874..da8eba5d2cb 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -265,8 +265,8 @@ struct HfElectronSelectionWithTpcEmcal { template void nonHfe(ElectronType const& electron, TracksType const& tracks, bool isEMcal) { - int lsElCounts = 0; - int ulsElCounts = 0; + int nElPairsLS = 0; + int nElPairsUS = 0; bool isLSElectron = false; bool isULSElectron = false; float invMassElectron = 0.; @@ -335,7 +335,7 @@ struct HfElectronSelectionWithTpcEmcal { // for like charge if (isLSElectron && (invMassElectron <= invariantMass)) { massLike = invMassElectron; - ++lsElCounts; + ++nElPairsLS; if (isEMcal) { registry.fill(HIST("hLikeSignPt"), electron.pt()); } @@ -343,14 +343,14 @@ struct HfElectronSelectionWithTpcEmcal { // for unlike charge if (isULSElectron && (invMassElectron <= invariantMass)) { massUnLike = invMassElectron; - ++ulsElCounts; + ++nElPairsUS; if (isEMcal) { registry.fill(HIST("hUnLikeSignPt"), electron.pt()); } } } // Pass multiplicities and other required parameters for this electron - hfElectronSelection(electron.collisionId(), electron.globalIndex(), electron.eta(), electron.phi(), electron.pt(), electron.tpcNSigmaEl(), electron.tofNSigmaEl(), lsElCounts, ulsElCounts, isEMcal); + hfElectronSelection(electron.collisionId(), electron.globalIndex(), electron.eta(), electron.phi(), electron.pt(), electron.tpcNSigmaEl(), electron.tofNSigmaEl(), nElPairsLS, nElPairsUS, isEMcal); } // Electron Identification template From 4edd5bb4dd570fdd52bc2398594beb759944a904 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 7 May 2025 17:01:19 +0530 Subject: [PATCH 59/61] use enum --- .../electronSelectionWithTpcEmcal.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index da8eba5d2cb..21c417c1718 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -51,6 +51,11 @@ struct HfElectronSelectionWithTpcEmcal { Produces hfElectronSelection; Produces hfGenElectronSel; + enum EMCalRegion { + kNoAcceptance = 0, + kEMCalAcceptance = 1, + kDCalAcceptance = 2 + }; // Configurables // EMCal Cluster information KFParticle kfNonHfe; @@ -375,7 +380,7 @@ struct HfElectronSelectionWithTpcEmcal { registry.fill(HIST("hEmcClusterM20"), emcClusterBefore.m20()); } } - int passEMCal; + EMCalRegion passEMCal = kNoAcceptance; float phiTrack = -999; float etaTrack = -999; float pTrack = -999; @@ -396,12 +401,11 @@ struct HfElectronSelectionWithTpcEmcal { if (!selTracks(track)) { continue; } - - passEMCal = 0; if ((phiTrack > phiTrackEMCalMin && phiTrack < phiTrackEMCalMax) && (etaTrack > etaTrackMin && etaTrack < etaTrackMax)) - passEMCal = 1; // EMcal acceptance passed + passEMCal = kEMCalAcceptance; // EMcal acceptance passed if ((phiTrack > phiTrackDCalMin && phiTrack < phiTrackDCalMax) && ((etaTrack > etaTrackDCalPositiveMin && etaTrack < etaTrackDCalPositiveMax) || (etaTrack > etaTrackDCalNegativeMin && etaTrack < etaTrackDCalNegativeMax))) - passEMCal = 2; // Dcal acceptance passed + passEMCal = kDCalAcceptance; // Dcal acceptance passed + if (fillTrackInfo) { registry.fill(HIST("hTrackEtaPhi"), etaTrack, phiTrack, passEMCal); // track etaphi infor after filter bit registry.fill(HIST("hTrackEnergyLossVsP"), track.tpcSignal(), pTrack, passEMCal); // track etaphi infor after filter bit From 13f653a72e9bbd6815dcbf43aefeea7f73aa38b1 Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 7 May 2025 17:01:49 +0530 Subject: [PATCH 60/61] fix name --- .../TableProducer/correlatorHfeHadrons.cxx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx index beed99c398b..25b5d476269 100644 --- a/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx +++ b/PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx @@ -165,25 +165,25 @@ struct HfCorrelatorHfeHadrons { continue; } registry.fill(HIST("hptElectron"), ptElectron); - int lsElCounts = 0; - int ulsElCounts = 0; + int nElectronLS = 0; + int nElectronUS = 0; if (eTrack.nElPairLS() > 0) { for (int i = 0; i < eTrack.nElPairLS(); ++i) { - ++lsElCounts; + ++nElectronLS; registry.fill(HIST("hLSElectronBin"), poolBin); } } if (eTrack.nElPairUS() > 0) { for (int i = 0; i < eTrack.nElPairUS(); ++i) { - ++ulsElCounts; + ++nElectronUS; registry.fill(HIST("hULSElectronBin"), poolBin); } } registry.fill(HIST("hElectronBin"), poolBin); - entryElectron(phiElectron, etaElectron, ptElectron, lsElCounts, ulsElCounts, poolBin, gCollisionId, timeStamp); + entryElectron(phiElectron, etaElectron, ptElectron, nElectronLS, nElectronUS, poolBin, gCollisionId, timeStamp); for (const auto& hTrack : tracks) { // Apply Hadron cut @@ -209,12 +209,12 @@ struct HfCorrelatorHfeHadrons { deltaEta = etaElectron - etaHadron; registry.fill(HIST("hInclusiveEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - int lsPairElcorr = 0; - int ulsPairElcorr = 0; + int nElHadLSCorr = 0; + int nElHadUSCorr = 0; if (eTrack.nElPairLS() > 0) { for (int i = 0; i < eTrack.nElPairLS(); ++i) { - ++lsPairElcorr; + ++nElHadLSCorr; registry.fill(HIST("hLSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); } } @@ -222,10 +222,10 @@ struct HfCorrelatorHfeHadrons { for (int i = 0; i < eTrack.nElPairUS(); ++i) { registry.fill(HIST("hULSEHCorrel"), ptElectron, ptHadron, deltaPhi, deltaEta); - ++ulsPairElcorr; + ++nElHadUSCorr; } } - entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin, lsPairElcorr, ulsPairElcorr); + entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, poolBin, nElHadLSCorr, nElHadUSCorr); } // end Hadron Track loop nElectron++; @@ -271,23 +271,23 @@ struct HfCorrelatorHfeHadrons { deltaEtaMix = etaElectronMix - etaHadronMix; registry.fill(HIST("hMixEventInclusiveEHCorrl"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - int lsElPairCorr = 0; - int ulsElPairCorr = 0; + int nElHadLSCorr = 0; + int nElHadUSCorr = 0; if (t1.nElPairLS() > 0) { for (int i = 0; i < t1.nElPairLS(); ++i) { registry.fill(HIST("hMixEventLSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - ++lsElPairCorr; + ++nElHadLSCorr; } } if (t1.nElPairUS() > 0) { for (int i = 0; i < t1.nElPairUS(); ++i) { registry.fill(HIST("hMixEventULSEHCorrel"), ptElectronMix, ptHadronMix, deltaPhiMix, deltaEtaMix); - ++ulsElPairCorr; + ++nElHadUSCorr; } } - entryElectronHadronPair(deltaPhiMix, deltaEtaMix, ptElectronMix, ptHadronMix, poolBin, lsElPairCorr, ulsElPairCorr); + entryElectronHadronPair(deltaPhiMix, deltaEtaMix, ptElectronMix, ptHadronMix, poolBin, nElHadLSCorr, nElHadUSCorr); } } From e0561e40920af4c0815b0589c318458670b1dd4e Mon Sep 17 00:00:00 2001 From: Rashi gupta <167059733+rashigupt@users.noreply.github.com> Date: Wed, 7 May 2025 18:39:03 +0530 Subject: [PATCH 61/61] Update electronSelectionWithTpcEmcal.cxx --- .../TableProducer/electronSelectionWithTpcEmcal.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx index 21c417c1718..ae8be97b6b9 100644 --- a/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx +++ b/PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx @@ -52,9 +52,9 @@ struct HfElectronSelectionWithTpcEmcal { Produces hfGenElectronSel; enum EMCalRegion { - kNoAcceptance = 0, - kEMCalAcceptance = 1, - kDCalAcceptance = 2 + NoAcceptance = 0, + EMCalAcceptance = 1, + DCalAcceptance = 2 }; // Configurables // EMCal Cluster information @@ -380,7 +380,7 @@ struct HfElectronSelectionWithTpcEmcal { registry.fill(HIST("hEmcClusterM20"), emcClusterBefore.m20()); } } - EMCalRegion passEMCal = kNoAcceptance; + EMCalRegion passEMCal = NoAcceptance; float phiTrack = -999; float etaTrack = -999; float pTrack = -999; @@ -402,9 +402,9 @@ struct HfElectronSelectionWithTpcEmcal { continue; } if ((phiTrack > phiTrackEMCalMin && phiTrack < phiTrackEMCalMax) && (etaTrack > etaTrackMin && etaTrack < etaTrackMax)) - passEMCal = kEMCalAcceptance; // EMcal acceptance passed + passEMCal = EMCalAcceptance; // EMcal acceptance passed if ((phiTrack > phiTrackDCalMin && phiTrack < phiTrackDCalMax) && ((etaTrack > etaTrackDCalPositiveMin && etaTrack < etaTrackDCalPositiveMax) || (etaTrack > etaTrackDCalNegativeMin && etaTrack < etaTrackDCalNegativeMax))) - passEMCal = kDCalAcceptance; // Dcal acceptance passed + passEMCal = DCalAcceptance; // Dcal acceptance passed if (fillTrackInfo) { registry.fill(HIST("hTrackEtaPhi"), etaTrack, phiTrack, passEMCal); // track etaphi infor after filter bit