Skip to content

Commit 26f5eba

Browse files
Merge branch 'AliceO2Group:master' into master
2 parents 176e851 + 425c429 commit 26f5eba

11 files changed

Lines changed: 2103 additions & 627 deletions

File tree

PWGCF/Femto/FemtoNuclei/DataModel/HadronNucleiTables.h

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ DECLARE_SOA_COLUMN(MassTOFNu, massTOFNu, float);
7171
DECLARE_SOA_COLUMN(MassTOFHad, massTOFHad, float);
7272
DECLARE_SOA_COLUMN(PidTrkNu, pidTrkNu, uint32_t);
7373
DECLARE_SOA_COLUMN(PidTrkHad, pidTrkHad, uint32_t);
74-
DECLARE_SOA_COLUMN(TrackIDHad, trackIDHad, int);
75-
DECLARE_SOA_COLUMN(TrackIDNu, trackIDNu, int);
74+
DECLARE_SOA_COLUMN(TrackIDHad, trackIDHad, int64_t);
75+
DECLARE_SOA_COLUMN(TrackIDNu, trackIDNu, int64_t);
7676

7777
DECLARE_SOA_COLUMN(ItsClusterSizeNu, itsClusterSizeNu, uint32_t);
7878
DECLARE_SOA_COLUMN(ItsClusterSizeHad, itsClusterSizeHad, uint32_t);
@@ -82,6 +82,23 @@ DECLARE_SOA_COLUMN(SharedClustersHad, sharedClustersHad, uint8_t);
8282

8383
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float);
8484
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float);
85+
DECLARE_SOA_COLUMN(RunNumber, runNumber, int32_t);
86+
DECLARE_SOA_COLUMN(MagneticField, magneticField, float);
87+
DECLARE_SOA_COLUMN(CollisionIdNu, collisionIdNu, int64_t);
88+
DECLARE_SOA_COLUMN(CollisionIdHad, collisionIdHad, int64_t);
89+
DECLARE_SOA_COLUMN(NClsFindableTPCNu, nClsFindableTPCNu, uint8_t);
90+
DECLARE_SOA_COLUMN(NClsFindableTPCHad, nClsFindableTPCHad, uint8_t);
91+
DECLARE_SOA_COLUMN(FractionSharedTPCNu, fractionSharedTPCNu, float);
92+
DECLARE_SOA_COLUMN(FractionSharedTPCHad, fractionSharedTPCHad, float);
93+
DECLARE_SOA_COLUMN(NClsITSNu, nClsITSNu, uint8_t);
94+
DECLARE_SOA_COLUMN(NClsITSHad, nClsITSHad, uint8_t);
95+
DECLARE_SOA_COLUMN(NClsITSInnerBarrelNu, nClsITSInnerBarrelNu, uint8_t);
96+
DECLARE_SOA_COLUMN(NClsITSInnerBarrelHad, nClsITSInnerBarrelHad, uint8_t);
97+
DECLARE_SOA_COLUMN(Chi2ITSNu, chi2ITSNu, float);
98+
DECLARE_SOA_COLUMN(Chi2ITSHad, chi2ITSHad, float);
99+
DECLARE_SOA_COLUMN(NSigmaTPCNuDe, nSigmaTPCNuDe, float);
100+
DECLARE_SOA_COLUMN(NSigmaTPCNuPr, nSigmaTPCNuPr, float);
101+
DECLARE_SOA_COLUMN(NSigmaTPCNuPi, nSigmaTPCNuPi, float);
85102

86103
// Reconstructed-MC pair information. The signed generated pT follows the
87104
// convention used by PtNu/PtHad: particles are positive and antiparticles
@@ -154,7 +171,26 @@ DECLARE_SOA_TABLE(HadronNucleiTable, "AOD", "HADNUCLEITABLE",
154171
hadron_nuclei_tables::NSigmaTOFNu,
155172
hadron_nuclei_tables::NSigmaITSNu,
156173
hadron_nuclei_tables::NSigmaTOFHad,
157-
hadron_nuclei_tables::NSigmaITSHad)
174+
hadron_nuclei_tables::NSigmaITSHad,
175+
hadron_nuclei_tables::RunNumber,
176+
hadron_nuclei_tables::MagneticField,
177+
hadron_nuclei_tables::TrackIDNu,
178+
hadron_nuclei_tables::TrackIDHad,
179+
hadron_nuclei_tables::CollisionIdNu,
180+
hadron_nuclei_tables::CollisionIdHad,
181+
hadron_nuclei_tables::NClsFindableTPCNu,
182+
hadron_nuclei_tables::NClsFindableTPCHad,
183+
hadron_nuclei_tables::FractionSharedTPCNu,
184+
hadron_nuclei_tables::FractionSharedTPCHad,
185+
hadron_nuclei_tables::NClsITSNu,
186+
hadron_nuclei_tables::NClsITSHad,
187+
hadron_nuclei_tables::NClsITSInnerBarrelNu,
188+
hadron_nuclei_tables::NClsITSInnerBarrelHad,
189+
hadron_nuclei_tables::Chi2ITSNu,
190+
hadron_nuclei_tables::Chi2ITSHad,
191+
hadron_nuclei_tables::NSigmaTPCNuDe,
192+
hadron_nuclei_tables::NSigmaTPCNuPr,
193+
hadron_nuclei_tables::NSigmaTPCNuPi)
158194
DECLARE_SOA_TABLE(HadronNucleiTableMC, "AOD", "HADNUCLEIMC",
159195
hadron_nuclei_tables::PtNuMC,
160196
hadron_nuclei_tables::EtaNuMC,

PWGCF/Femto/FemtoNuclei/TableProducer/HadNucleiFemto.cxx

Lines changed: 651 additions & 10 deletions
Large diffs are not rendered by default.

PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
#include "PWGHF/HFC/DataModel/CorrelationTables.h"
1818
#include "PWGHF/HFL/DataModel/ElectronSelectionTable.h"
19+
#include "PWGJE/DataModel/EMCALClusters.h"
1920

2021
#include "Common/CCDB/TriggerAliases.h"
2122
#include "Common/Core/RecoDecay.h"
@@ -62,7 +63,7 @@ struct HfCorrelatorHfeHadrons {
6263
// Event Selection
6364
Configurable<float> zPvPosMax{"zPvPosMax", 10., "Maximum z of the primary vertex (cm)"};
6465
Configurable<bool> isRun3{"isRun3", true, "Data is from Run3 or Run2"};
65-
66+
Configurable<bool> skipNoEmcClusters{"skipNoEmcClusters", false, "Skip events with no EMCal clusters"};
6667
Configurable<int> numberEventsMixed{"numberEventsMixed", 5, "number of events mixed in ME process"};
6768
Configurable<float> invMassEEMax{"invMassEEMax", 0.14f, "max Invariant Mass for Photonic electron"};
6869
// Associated Hadron selection
@@ -211,12 +212,17 @@ struct HfCorrelatorHfeHadrons {
211212
}
212213

213214
// Electron-hadron Correlation
214-
template <bool IsMc, typename TracksType, typename ElectronType, typename CollisionType, typename BcType, typename McParticlesType>
215-
void fillCorrelation(CollisionType const& collision, ElectronType const& electrons, TracksType const& tracks, BcType const&, McParticlesType const&)
215+
template <bool IsMc, typename TracksType, typename ElectronType, typename EmcClusterType, typename CollisionType, typename BcType, typename McParticlesType>
216+
void fillCorrelation(CollisionType const& collision, ElectronType const& electrons, TracksType const& tracks, EmcClusterType const& emcClusters, BcType const&, McParticlesType const&)
216217
{
217218
if (!(isRun3 ? collision.sel8() : (collision.sel7() && collision.alias_bit(kINT7)))) {
218219
return;
219220
}
221+
// skip events with no clusters
222+
if (emcClusters.size() == 0 && skipNoEmcClusters) {
223+
return;
224+
}
225+
220226
int poolBin = corrBinning.getBin(std::make_tuple(collision.posZ(), collision.multFT0M()));
221227
auto bc = collision.template bc_as<BcType>();
222228
int gCollisionId = collision.globalIndex();
@@ -240,7 +246,11 @@ struct HfCorrelatorHfeHadrons {
240246
if (!selAssoHadron(hTrack)) {
241247
continue;
242248
}
249+
if (!skipEventTableFilling) {
250+
registry.fill(HIST("hptHadron"), hTrack.pt());
243251

252+
entryHadron(hTrack.phi(), hTrack.eta(), hTrack.pt(), poolBin, gCollisionId, timeStamp);
253+
}
244254
// Mc rec hadron efficiency
245255
if constexpr (IsMc) {
246256
if (hTrack.has_mcParticle()) {
@@ -275,7 +285,6 @@ struct HfCorrelatorHfeHadrons {
275285
double ptElectron = -999;
276286
double phiElectron = -999;
277287
double etaElectron = -999;
278-
int cntEle = 0;
279288
for (const auto& eTrack : electrons) {
280289
ptElectron = eTrack.ptTrack();
281290
phiElectron = eTrack.phiTrack();
@@ -289,9 +298,7 @@ struct HfCorrelatorHfeHadrons {
289298
double etaHadron = -999;
290299
double phiHadron = -999;
291300
// EMCal electron
292-
if (eTrack.isEmcal() && requireEmcal) {
293-
acceptElectron = true;
294-
} else if (!eTrack.isEmcal() && !requireEmcal) {
301+
if (eTrack.isEmcal() == requireEmcal) {
295302
acceptElectron = true;
296303
}
297304

@@ -375,15 +382,9 @@ struct HfCorrelatorHfeHadrons {
375382
}
376383

377384
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());
381385

382-
entryHadron(hTrack.phi(), hTrack.eta(), hTrack.pt(), poolBin, gCollisionId, timeStamp);
383-
}
384-
}
385386
} // end Hadron Track loop
386-
cntEle++;
387+
387388
} // end Electron loop
388389
}
389390

@@ -451,10 +452,10 @@ struct HfCorrelatorHfeHadrons {
451452

452453
void processData(TableCollision const& collision,
453454
aod::HfCorrSelEl const& electrons,
454-
TableTracks const& tracks,
455+
TableTracks const& tracks, aod::EMCALClusters const& emcClusters,
455456
aod::BCsWithTimestamps const& bcs)
456457
{
457-
fillCorrelation<false>(collision, electrons, tracks, bcs, 0);
458+
fillCorrelation<false>(collision, electrons, tracks, emcClusters, bcs, 0);
458459
}
459460

460461
PROCESS_SWITCH(HfCorrelatorHfeHadrons, processData, "Process for Data", false);
@@ -463,10 +464,10 @@ struct HfCorrelatorHfeHadrons {
463464

464465
void processMcRec(McTableCollision const& mcCollision,
465466
aod::HfCorrSelEl const& mcElectrons,
466-
McTableTracks const& mcTracks,
467+
McTableTracks const& mcTracks, aod::EMCALClusters const& emcClusters,
467468
aod::BCsWithTimestamps const& bcs, aod::McParticles const& mcParticle)
468469
{
469-
fillCorrelation<true>(mcCollision, mcElectrons, mcTracks, bcs, mcParticle);
470+
fillCorrelation<true>(mcCollision, mcElectrons, mcTracks, emcClusters, bcs, mcParticle);
470471
}
471472

472473
PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcRec, "Process MC Reco mode", true);

PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,13 +257,13 @@ struct HfCandidateCreatorXicToXiPiPi {
257257
}
258258
}
259259

260-
if (std::abs(nSigTpcBachelorPi) < softTrigCuts.maxNsigmaXiDaus || (hasTofBachelorPi && std::abs(nSigTofBachelorPi) < softTrigCuts.maxNsigmaXiDaus)) {
260+
if (std::abs(nSigTpcBachelorPi) > softTrigCuts.maxNsigmaXiDaus || (hasTofBachelorPi && std::abs(nSigTofBachelorPi) > softTrigCuts.maxNsigmaXiDaus)) {
261261
return false;
262262
}
263-
if (std::abs(nSigTpcPiFromLambda) < softTrigCuts.maxNsigmaXiDaus || (hasTofPiFromLambda && std::abs(nSigTofPiFromLambda) < softTrigCuts.maxNsigmaXiDaus)) {
263+
if (std::abs(nSigTpcPiFromLambda) > softTrigCuts.maxNsigmaXiDaus || (hasTofPiFromLambda && std::abs(nSigTofPiFromLambda) > softTrigCuts.maxNsigmaXiDaus)) {
264264
return false;
265265
}
266-
if (std::abs(nSigTpcPrFromLambda) < softTrigCuts.maxNsigmaXiDaus || (hasTofPrFromLambda && std::abs(nSigTofPrFromLambda) < softTrigCuts.maxNsigmaXiDaus)) {
266+
if (std::abs(nSigTpcPrFromLambda) > softTrigCuts.maxNsigmaXiDaus || (hasTofPrFromLambda && std::abs(nSigTofPrFromLambda) > softTrigCuts.maxNsigmaXiDaus)) {
267267
return false;
268268
}
269269

0 commit comments

Comments
 (0)