Skip to content

Commit b513806

Browse files
authored
Add mc gen for hadron
1 parent 37b3c19 commit b513806

File tree

1 file changed

+26
-6
lines changed

1 file changed

+26
-6
lines changed

PWGHF/HFC/TableProducer/correlatorHfeHadrons.cxx

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ using namespace o2::aod::hf_sel_electron;
4848
std::vector<double> zBins{VARIABLE_WIDTH, -10.0, -2.5, 2.5, 10.0};
4949
std::vector<double> multBins{VARIABLE_WIDTH, 0., 200., 500.0, 5000.};
5050
std::vector<double> multBinsMcGen{VARIABLE_WIDTH, 0., 20., 50.0, 500.}; // In MCGen multiplicity is defined by counting primaries
51-
using BinningType = ColumnBinningPolicy<aod::collision::PosZ, aod::mult::MultFV0M<aod::mult::MultFV0A, aod::mult::MultFV0C>>;
51+
using BinningType = ColumnBinningPolicy<aod::collision::PosZ, aod::mult::MultFT0M<aod::mult::MultFT0A, aod::mult::MultFT0C>>;
5252
BinningType corrBinning{{zBins, multBins}, true};
5353
using BinningTypeMcGen = ColumnBinningPolicy<aod::mccollision::PosZ, o2::aod::mult::MultMCFT0A>;
5454

@@ -109,6 +109,9 @@ struct HfCorrelatorHfeHadrons {
109109
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}}});
110110
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}}});
111111
registry.add("hptElectron", "hptElectron", {HistType::kTH1D, {axisPt}});
112+
registry.add("hptHadron", "hptHadron", {HistType::kTH1D, {axisPt}});
113+
registry.add("hMCgenptHadron", "hMCgenptHadron", {HistType::kTH1D, {axisPt}});
114+
registry.add("hMCgenptHadronprimary", "hMCgenptHadronprimary", {HistType::kTH1D, {axisPt}});
112115

113116
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}}});
114117
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}}});
@@ -147,7 +150,7 @@ struct HfCorrelatorHfeHadrons {
147150
{
148151
if (!(isRun3 ? collision.sel8() : (collision.sel7() && collision.alias_bit(kINT7))))
149152
return;
150-
int poolBin = corrBinning.getBin(std::make_tuple(collision.posZ(), collision.multFV0M()));
153+
int poolBin = corrBinning.getBin(std::make_tuple(collision.posZ(), collision.multFT0M()));
151154
auto bc = collision.template bc_as<aod::BCsWithTimestamps>();
152155
int gCollisionId = collision.globalIndex();
153156
int64_t timeStamp = bc.timestamp();
@@ -158,6 +161,7 @@ struct HfCorrelatorHfeHadrons {
158161
continue;
159162
}
160163
registry.fill(HIST("hTracksBin"), poolBin);
164+
registry.fill(HIST("hptHadron"), hTrack.pt());
161165
entryHadron(hTrack.phi(), hTrack.eta(), hTrack.pt(), poolBin, gCollisionId, timeStamp);
162166
}
163167

@@ -260,7 +264,7 @@ struct HfCorrelatorHfeHadrons {
260264
double ptHadronMix = -999;
261265
double etaHadronMix = -999;
262266
double phiHadronMix = -999;
263-
int poolBin = corrBinning.getBin(std::make_tuple(c2.posZ(), c2.multFV0M()));
267+
int poolBin = corrBinning.getBin(std::make_tuple(c2.posZ(), c2.multFT0M()));
264268
for (const auto& [t1, t2] : combinations(CombinationsFullIndexPolicy(tracks1, tracks2))) {
265269
if (!t1.isEmcal()) {
266270
continue;
@@ -313,7 +317,7 @@ struct HfCorrelatorHfeHadrons {
313317
fillCorrelation(collision, electron, tracks, bc);
314318
}
315319

316-
PROCESS_SWITCH(HfCorrelatorHfeHadrons, processData, "Process for Data", true);
320+
PROCESS_SWITCH(HfCorrelatorHfeHadrons, processData, "Process for Data", false);
317321

318322
// ======= Process starts for McRec, Same event ============
319323

@@ -332,9 +336,25 @@ struct HfCorrelatorHfeHadrons {
332336
BinningTypeMcGen corrBinningMcGen{{zBins, multBinsMcGen}, true};
333337
int poolBin = corrBinningMcGen.getBin(std::make_tuple(mcCollision.posZ(), mcCollision.multMCFT0A()));
334338

339+
for (const auto& particleMc : mcParticles) {
340+
if (particleMc.eta() < etaTrackMin || particleMc.eta() > etaTrackMax) {
341+
continue;
342+
}
343+
if (particleMc.pt() < ptTrackMin) {
344+
continue;
345+
}
346+
347+
registry.fill(HIST("hMCgenptHadron"), particleMc.pt());
348+
if (particleMc.isPhysicalPrimary()) {
349+
350+
registry.fill(HIST("hMCgenptHadronprimary"), particleMc.pt());
351+
}
352+
}
353+
335354
double ptElectron = 0;
336355
double phiElectron = 0;
337356
double etaElectron = 0;
357+
338358
for (const auto& electronMc : electron) {
339359
double ptHadron = 0;
340360
double phiHadron = 0;
@@ -382,7 +402,7 @@ struct HfCorrelatorHfeHadrons {
382402
}
383403
}
384404
}
385-
PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcGen, "Process MC Gen mode", false);
405+
PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcGen, "Process MC Gen mode", true);
386406
// ====================== Implement Event mixing on Data ===============================
387407

388408
// ====================== Implement Event mixing on Data ===================================
@@ -465,7 +485,7 @@ struct HfCorrelatorHfeHadrons {
465485
}
466486
}
467487
}
468-
PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcGenMixedEvent, "Process Mixed Event MC Gen mode", false);
488+
PROCESS_SWITCH(HfCorrelatorHfeHadrons, processMcGenMixedEvent, "Process Mixed Event MC Gen mode", true);
469489
};
470490
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
471491
{

0 commit comments

Comments
 (0)