Skip to content

Commit e53a419

Browse files
rashiguptrashi234
andauthored
[PWGHF] Hadron Table Update for Event Mixing and High-p T Electron Cut (#16112)
Co-authored-by: rashi.gupta@cern.ch <rashi.gupta@cern.ch>
1 parent 6050e22 commit e53a419

3 files changed

Lines changed: 46 additions & 41 deletions

File tree

PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -231,46 +231,42 @@ struct HfCorrelatorHfeHadrons {
231231

232232
registry.fill(HIST("hNevents"), 1);
233233

234-
// Add hadron Table For Mix Event Electron Hadron correlation
234+
// fraction of event which used for Event mixing
235235
if (!skipEventTableFilling) {
236+
registry.fill(HIST("hTracksBin"), poolBin);
236237
registry.fill(HIST("hZvertex"), collision.posZ());
237-
for (const auto& hTrack : tracks) {
238-
if (!selAssoHadron(hTrack)) {
239-
continue;
240-
}
238+
}
239+
for (const auto& hTrack : tracks) {
240+
if (!selAssoHadron(hTrack)) {
241+
continue;
242+
}
241243

242-
// Mc rec hadron efficiency
243-
if constexpr (IsMc) {
244-
if (hTrack.has_mcParticle()) {
245-
auto mcParticle = hTrack.template mcParticle_as<aod::McParticles>();
246-
if ((std::abs(mcParticle.pdgCode()) != kElectron) && (std::abs(mcParticle.pdgCode()) != kMuonMinus) && (std::abs(mcParticle.pdgCode()) != kPiPlus) && (std::abs(mcParticle.pdgCode()) != kKPlus) && (std::abs(mcParticle.pdgCode()) != kProton)) {
247-
continue;
248-
}
244+
// Mc rec hadron efficiency
245+
if constexpr (IsMc) {
246+
if (hTrack.has_mcParticle()) {
247+
auto mcParticle = hTrack.template mcParticle_as<aod::McParticles>();
248+
if ((std::abs(mcParticle.pdgCode()) != kElectron) && (std::abs(mcParticle.pdgCode()) != kMuonMinus) && (std::abs(mcParticle.pdgCode()) != kPiPlus) && (std::abs(mcParticle.pdgCode()) != kKPlus) && (std::abs(mcParticle.pdgCode()) != kProton)) {
249+
continue;
250+
}
249251

250-
registry.fill(HIST("hptHadronMcRec"), hTrack.pt());
251-
if (mcParticle.isPhysicalPrimary()) {
252-
253-
registry.fill(HIST("hptHadronMcRecPrimary"), hTrack.pt());
254-
255-
if (std::abs(mcParticle.pdgCode()) == kElectron) {
256-
registry.fill(HIST("hMCRecptEleHadron"), hTrack.pt());
257-
} else if (std::abs(mcParticle.pdgCode()) == kMuonMinus) {
258-
registry.fill(HIST("hMCRecptMuonHadron"), hTrack.pt());
259-
} else if (std::abs(mcParticle.pdgCode()) == kPiPlus) {
260-
registry.fill(HIST("hMCRecptPionHadron"), hTrack.pt());
261-
} else if (std::abs(mcParticle.pdgCode()) == kKPlus) {
262-
registry.fill(HIST("hMCRecptKaonHadron"), hTrack.pt());
263-
} else if (std::abs(mcParticle.pdgCode()) == kProton) {
264-
registry.fill(HIST("hMCRecptProtonHadron"), hTrack.pt());
265-
}
252+
registry.fill(HIST("hptHadronMcRec"), hTrack.pt());
253+
if (mcParticle.isPhysicalPrimary()) {
254+
255+
registry.fill(HIST("hptHadronMcRecPrimary"), hTrack.pt());
256+
257+
if (std::abs(mcParticle.pdgCode()) == kElectron) {
258+
registry.fill(HIST("hMCRecptEleHadron"), hTrack.pt());
259+
} else if (std::abs(mcParticle.pdgCode()) == kMuonMinus) {
260+
registry.fill(HIST("hMCRecptMuonHadron"), hTrack.pt());
261+
} else if (std::abs(mcParticle.pdgCode()) == kPiPlus) {
262+
registry.fill(HIST("hMCRecptPionHadron"), hTrack.pt());
263+
} else if (std::abs(mcParticle.pdgCode()) == kKPlus) {
264+
registry.fill(HIST("hMCRecptKaonHadron"), hTrack.pt());
265+
} else if (std::abs(mcParticle.pdgCode()) == kProton) {
266+
registry.fill(HIST("hMCRecptProtonHadron"), hTrack.pt());
266267
}
267268
}
268269
}
269-
registry.fill(HIST("hTracksBin"), poolBin);
270-
271-
registry.fill(HIST("hptHadron"), hTrack.pt());
272-
273-
entryHadron(hTrack.phi(), hTrack.eta(), hTrack.pt(), poolBin, gCollisionId, timeStamp);
274270
}
275271
}
276272

@@ -279,7 +275,7 @@ struct HfCorrelatorHfeHadrons {
279275
double ptElectron = -999;
280276
double phiElectron = -999;
281277
double etaElectron = -999;
282-
278+
int cntEle = 0;
283279
for (const auto& eTrack : electrons) {
284280
ptElectron = eTrack.ptTrack();
285281
phiElectron = eTrack.phiTrack();
@@ -377,10 +373,17 @@ struct HfCorrelatorHfeHadrons {
377373
++nElHadUSCorr;
378374
}
379375
}
376+
380377
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);
378+
if (!skipEventTableFilling) {
379+
if (cntEle == 0) {
380+
registry.fill(HIST("hptHadron"), hTrack.pt());
381381

382+
entryHadron(hTrack.phi(), hTrack.eta(), hTrack.pt(), poolBin, gCollisionId, timeStamp);
383+
}
384+
}
382385
} // end Hadron Track loop
383-
386+
cntEle++;
384387
} // end Electron loop
385388
}
386389

PWGHF/HFL/DataModel/ElectronSelectionTable.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,9 @@ DECLARE_SOA_COLUMN(TpcChi2NClTrack, tpcChi2NClTrack, float); //! Chi2 /
9393
DECLARE_SOA_COLUMN(DcaXYTrack, dcaXYTrack, float); //! dca of the electron in xy direction
9494
DECLARE_SOA_COLUMN(DcaZTrack, dcaZTrack, float); //! dca of the electron in z direction
9595

96-
DECLARE_SOA_COLUMN(M02El, m02El, float); //! M02 of the electron cluster
97-
DECLARE_SOA_COLUMN(EopEl, eopEl, float); //! energy momentum ratio of the electron
96+
DECLARE_SOA_COLUMN(EopEl, eopEl, float); //! energy momentum ratio of the electron
97+
DECLARE_SOA_COLUMN(M02El, m02El, float); //! M02 of the electron cluster
98+
9899
DECLARE_SOA_COLUMN(LSMassEE, lSMassEE, std::vector<float>); //! mass of the Like sign electron pair
99100
DECLARE_SOA_COLUMN(ULSMassEE, uLSMassEE, std::vector<float>); //! mass of UnLike sign electron pair
100101
DECLARE_SOA_COLUMN(NElPairLS, nElPairLS, int); //! Number of Like sign electron pair

PWGHF/HFL/TableProducer/electronSelectionWithTpcEmcal.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ struct HfElectronSelectionWithTpcEmcal {
8585
Configurable<float> dcaZTrackMax{"dcaZTrackMax", 1.0f, "DCA Z cut"};
8686
Configurable<float> etaTrackMax{"etaTrackMax", 0.6f, "Eta range for electron tracks"};
8787
Configurable<float> etaTrackMin{"etaTrackMin", -0.6f, "Eta range for electron tracks"};
88-
Configurable<float> ptTrackMin{"ptTrackMin", 3.0f, "Transverse MOmentum range for electron tracks"};
88+
Configurable<float> ptTrackMin{"ptTrackMin", 3.0f, "Min Transverse MOmentum range for electron tracks"};
89+
Configurable<float> ptTrackMax{"ptTrackMax", 12.0f, "Max Transverse MOmentum range for electron tracks"};
8990
Configurable<float> tpccrossCut{"tpccrossCut", 70, "TPC crossrows cut"};
9091
Configurable<float> itsChi2{"itsChi2", 36, "ITS chi2 cluster cut"};
9192
Configurable<float> tpcChi2NCl{"tpcChi2NCl", 4, "TPC chi2 cluster cut"};
@@ -286,7 +287,7 @@ struct HfElectronSelectionWithTpcEmcal {
286287
if ((track.phi() < phiTrackEMCalMin || track.phi() > phiTrackEMCalMax) && (track.phi() < phiTrackDCalMin || track.phi() > phiTrackDCalMax)) {
287288
return false;
288289
}
289-
if (track.pt() < ptTrackMin) {
290+
if (track.pt() < ptTrackMin || track.pt() > ptTrackMax) {
290291
return false;
291292
}
292293
return true;
@@ -325,7 +326,7 @@ struct HfElectronSelectionWithTpcEmcal {
325326
if ((track.phi() < phiTrackEMCalMin || track.phi() > phiTrackEMCalMax) && (track.phi() < phiTrackDCalMin || track.phi() > phiTrackDCalMax)) {
326327
return false;
327328
}
328-
if (track.pt() < ptTrackMin) {
329+
if (track.pt() < ptTrackMin || track.pt() > ptTrackMax) {
329330
return false;
330331
}
331332
return true;
@@ -589,7 +590,7 @@ struct HfElectronSelectionWithTpcEmcal {
589590
}
590591

591592
// Pass multiplicities and other required parameters for this electron
592-
hfElectronSelection(electron.collisionId(), electron.globalIndex(), electron.eta(), electron.phi(), electron.pt(), electron.tpcNSigmaEl(), electron.tofNSigmaEl(), electron.tpcNClsCrossedRows(), electron.tpcCrossedRowsOverFindableCls(), electron.itsChi2NCl(), electron.tpcChi2NCl(), electron.dcaXY(), electron.dcaZ(), m02, eop, vecLSMass, vecULSMass, nElPairsLS, nElPairsUS, isEMcal);
593+
hfElectronSelection(electron.collisionId(), electron.globalIndex(), electron.eta(), electron.phi(), electron.pt(), electron.tpcNSigmaEl(), electron.tofNSigmaEl(), electron.tpcNClsCrossedRows(), electron.tpcCrossedRowsOverFindableCls(), electron.itsChi2NCl(), electron.tpcChi2NCl(), electron.dcaXY(), electron.dcaZ(), eop, m02, vecLSMass, vecULSMass, nElPairsLS, nElPairsUS, isEMcal);
593594
}
594595
// Electron Identification
595596
template <bool IsMc, typename TracksType, typename EmcClusterType, typename MatchType, typename CollisionType, typename ParticleType>

0 commit comments

Comments
 (0)