Skip to content
Open
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
657760c
Add histograms for Non-HFE analysis
rashi234 Mar 23, 2026
ade7132
Correct Pass emcal histogram
rashigupt Mar 24, 2026
8f850a4
Merge branch 'AliceO2Group:master' into rashi
rashigupt Apr 12, 2026
b856609
Add some variables in electron selection table
rashigupt Apr 12, 2026
c38be3f
Add MC-based efficiency calculation and new variables to electron sel…
rashigupt Apr 12, 2026
844c912
Adding variables to the electron–hadron correlation table.
rashigupt Apr 12, 2026
f4712f2
Adding variables to the electron–hadron correlation table.
rashigupt Apr 12, 2026
5b431e9
Remove formate error
rashigupt Apr 12, 2026
dd9880b
remove O2linter error
rashigupt Apr 12, 2026
834c9b5
Remove build error
rashigupt Apr 13, 2026
c787157
Remove build error
rashigupt Apr 13, 2026
ad748e7
Remove build error
rashigupt Apr 13, 2026
9834e24
Remove build error
rashigupt Apr 13, 2026
612fc0e
Remove formate error
rashigupt Apr 13, 2026
c584738
Update CorrelationTables.h
rashigupt Apr 13, 2026
ce98b5c
Used getcharmHadron Function
rashigupt Apr 15, 2026
8efe0a5
Update electronSelectionWithTpcEmcal.cxx
rashigupt May 5, 2026
3c1a8a3
Add Event mixing task
rashigupt May 5, 2026
9897606
Merge branch 'master' into rashi
rashigupt May 5, 2026
04ff736
correct eop and mo2 in table
rashigupt May 5, 2026
81cb653
remove clang error
rashigupt May 5, 2026
284788b
remove linter erro
rashigupt May 5, 2026
0676d7e
remove clang error
rashigupt May 5, 2026
5a5b52e
Update Hadron table for Offline Event Mixing
rashigupt May 7, 2026
2c875fa
remove offline event mixing
rashigupt May 7, 2026
62abacd
Merge branch 'AliceO2Group:master' into rashi
rashigupt May 7, 2026
9ff65bb
Add high pt cut on mcgen
rashigupt May 8, 2026
8ea2a08
Merge branch 'AliceO2Group:master' into rashi
rashigupt Sep 3, 2026
655e3b0
Add EMCal-registered event selection for hadrons in event mixing
rashigupt Sep 3, 2026
a97a334
Remove Warning
rashigupt Sep 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 18 additions & 15 deletions PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

#include "PWGHF/HFC/DataModel/CorrelationTables.h"
#include "PWGHF/HFL/DataModel/ElectronSelectionTable.h"
#include "PWGJE/DataModel/EMCALClusters.h"

#include "Common/CCDB/TriggerAliases.h"
#include "Common/Core/RecoDecay.h"
Expand Down Expand Up @@ -62,7 +63,7 @@ struct HfCorrelatorHfeHadrons {
// Event Selection
Configurable<float> zPvPosMax{"zPvPosMax", 10., "Maximum z of the primary vertex (cm)"};
Configurable<bool> isRun3{"isRun3", true, "Data is from Run3 or Run2"};

Configurable<bool> skipNoEmcClusters{"skipNoEmcClusters", false, "Skip events with no EMCal clusters"};
Configurable<int> numberEventsMixed{"numberEventsMixed", 5, "number of events mixed in ME process"};
Configurable<float> invMassEEMax{"invMassEEMax", 0.14f, "max Invariant Mass for Photonic electron"};
// Associated Hadron selection
Expand Down Expand Up @@ -211,12 +212,17 @@ struct HfCorrelatorHfeHadrons {
}

// Electron-hadron Correlation
template <bool IsMc, typename TracksType, typename ElectronType, typename CollisionType, typename BcType, typename McParticlesType>
void fillCorrelation(CollisionType const& collision, ElectronType const& electrons, TracksType const& tracks, BcType const&, McParticlesType const&)
template <bool IsMc, typename TracksType, typename ElectronType, typename EmcClusterType, typename CollisionType, typename BcType, typename McParticlesType>
void fillCorrelation(CollisionType const& collision, ElectronType const& electrons, TracksType const& tracks, EmcClusterType const& emcClusters, BcType const&, McParticlesType const&)
{
if (!(isRun3 ? collision.sel8() : (collision.sel7() && collision.alias_bit(kINT7)))) {
return;
}
// skip events with no clusters
if (emcClusters.size() == 0 && skipNoEmcClusters) {
return;
}

int poolBin = corrBinning.getBin(std::make_tuple(collision.posZ(), collision.multFT0M()));
auto bc = collision.template bc_as<BcType>();
int gCollisionId = collision.globalIndex();
Expand All @@ -240,7 +246,11 @@ struct HfCorrelatorHfeHadrons {
if (!selAssoHadron(hTrack)) {
continue;
}
if (!skipEventTableFilling) {
registry.fill(HIST("hptHadron"), hTrack.pt());

entryHadron(hTrack.phi(), hTrack.eta(), hTrack.pt(), poolBin, gCollisionId, timeStamp);
}
// Mc rec hadron efficiency
if constexpr (IsMc) {
if (hTrack.has_mcParticle()) {
Expand Down Expand Up @@ -275,7 +285,6 @@ struct HfCorrelatorHfeHadrons {
double ptElectron = -999;
double phiElectron = -999;
double etaElectron = -999;
int cntEle = 0;
for (const auto& eTrack : electrons) {
ptElectron = eTrack.ptTrack();
phiElectron = eTrack.phiTrack();
Expand Down Expand Up @@ -375,15 +384,9 @@ struct HfCorrelatorHfeHadrons {
}

entryElectronHadronPair(deltaPhi, deltaEta, ptElectron, ptHadron, eTrack.eopEl(), eTrack.m02El(), eTrack.tpcNSigmaElTrack(), eTrack.tofNSigmaElTrack(), eTrack.tpcNClsCrRowsTrack(), eTrack.tpcCrRowsRatioTrack(), eTrack.itsChi2NClTrack(), eTrack.tpcChi2NClTrack(), eTrack.dcaXYTrack(), eTrack.dcaZTrack(), hTrack.tpcNClsCrossedRows(), hTrack.tpcCrossedRowsOverFindableCls(), hTrack.itsChi2NCl(), hTrack.tpcChi2NCl(), hTrack.dcaXY(), hTrack.dcaZ(), poolBin, nElHadLSCorr, nElHadUSCorr);
if (!skipEventTableFilling) {
if (cntEle == 0) {
registry.fill(HIST("hptHadron"), hTrack.pt());

entryHadron(hTrack.phi(), hTrack.eta(), hTrack.pt(), poolBin, gCollisionId, timeStamp);
}
}
} // end Hadron Track loop
cntEle++;

} // end Electron loop
}

Expand Down Expand Up @@ -451,10 +454,10 @@ struct HfCorrelatorHfeHadrons {

void processData(TableCollision const& collision,
aod::HfCorrSelEl const& electrons,
TableTracks const& tracks,
TableTracks const& tracks, aod::EMCALClusters const& emcClusters,
aod::BCsWithTimestamps const& bcs)
{
fillCorrelation<false>(collision, electrons, tracks, bcs, 0);
fillCorrelation<false>(collision, electrons, tracks, emcClusters, bcs, 0);
}

PROCESS_SWITCH(HfCorrelatorHfeHadrons, processData, "Process for Data", false);
Expand All @@ -463,10 +466,10 @@ struct HfCorrelatorHfeHadrons {

void processMcRec(McTableCollision const& mcCollision,
aod::HfCorrSelEl const& mcElectrons,
McTableTracks const& mcTracks,
McTableTracks const& mcTracks, aod::EMCALClusters const& emcClusters,
aod::BCsWithTimestamps const& bcs, aod::McParticles const& mcParticle)
{
fillCorrelation<true>(mcCollision, mcElectrons, mcTracks, bcs, mcParticle);
fillCorrelation<true>(mcCollision, mcElectrons, mcTracks, emcClusters, bcs, mcParticle);
}

PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcRec, "Process MC Reco mode", true);
Expand Down
Loading