Skip to content

Commit b01b3e7

Browse files
committed
fix gen mixing
1 parent f4a998f commit b01b3e7

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

PWGLF/Tasks/Nuspex/hadronnucleicorrelation.cxx

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ struct HadronNucleiCorrelation {
8787
Configurable<bool> isMC{"isMC", false, "is MC"};
8888
Configurable<bool> isMCGen{"isMCGen", false, "is isMCGen"};
8989
Configurable<bool> isPrim{"isPrim", true, "is isPrim"};
90-
Configurable<bool> docorrection{"docorrection", false, "do efficiency correction"};
90+
Configurable<bool> doCorrection{"doCorrection", false, "do efficiency correction"};
9191

9292
Configurable<std::string> fCorrectionPath{"fCorrectionPath", "", "Correction path to file"};
9393
Configurable<std::string> fCorrectionHisto{"fCorrectionHisto", "", "Correction histogram"};
@@ -103,9 +103,9 @@ struct HadronNucleiCorrelation {
103103
Configurable<float> min_TPC_nCrossedRowsOverFindableCls{"min_TPC_nCrossedRowsOverFindableCls", 0.8, "n TPC Crossed Rows Over Findable Cls"};
104104
Configurable<float> max_chi2_TPC{"max_chi2_TPC", 4.0f, "maximum TPC chi^2/Ncls"};
105105
Configurable<float> max_chi2_ITS{"max_chi2_ITS", 36.0f, "maximum ITS chi^2/Ncls"};
106-
Configurable<float> etacut{"etacut", 0.8f, "eta cut"};
107-
Configurable<float> max_dcaxy{"max_dcaxy", 0.14f, "Maximum DCAxy"};
108-
Configurable<float> max_dcaz{"max_dcaz", 0.1f, "Maximum DCAz"};
106+
Configurable<float> etaCut{"etaCut", 0.8f, "eta cut"};
107+
Configurable<float> max_DCAxy{"max_DCAxy", 0.14f, "Maximum DCAxy"};
108+
Configurable<float> max_DCAz{"max_DCAz", 0.1f, "Maximum DCAz"};
109109
Configurable<float> nsigmaTPC{"nsigmaTPC", 3.0f, "cut nsigma TPC"};
110110
Configurable<float> nsigmaElPr{"nsigmaElPr", 1.0f, "cut nsigma TPC El for protons"};
111111
Configurable<float> nsigmaElDe{"nsigmaElDe", 3.0f, "cut nsigma TPC El for protons"};
@@ -129,7 +129,7 @@ struct HadronNucleiCorrelation {
129129
ConfigurableAxis confMultBins{"confMultBins", {VARIABLE_WIDTH, 0.0f, 4.0f, 8.0f, 12.0f, 16.0f, 20.0f, 24.0f, 28.0f, 50.0f, 100.0f, 99999.f}, "Mixing bins - multiplicity"};
130130
ConfigurableAxis confVtxBins{"confVtxBins", {VARIABLE_WIDTH, -10.0f, -8.f, -6.f, -4.f, -2.f, 0.f, 2.f, 4.f, 6.f, 8.f, 10.f}, "Mixing bins - z-vertex"};
131131
ColumnBinningPolicy<aod::singletrackselector::PosZ, aod::singletrackselector::Mult> colBinning{{confVtxBins, confMultBins}, true};
132-
ColumnBinningPolicy<aod::mccollision::PosZ, o2::aod::mult::MultMCNParticlesEta05> colBinningGen{{confVtxBins, confMultBins}, true};
132+
ColumnBinningPolicy<aod::mccollision::PosZ, o2::aod::mult::MultMCNParticlesEta10> colBinningGen{{confVtxBins, confMultBins}, true};
133133

134134
// pT/A bins
135135
Configurable<std::vector<double>> pTBins{"pTBins", {0.6f, 1.0f, 1.2f, 2.f}, "p_{T} bins"};
@@ -179,7 +179,7 @@ struct HadronNucleiCorrelation {
179179
ccdb->setCreatedNotAfter(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
180180
ccdb->setFatalWhenNull(false);
181181

182-
if (docorrection) {
182+
if (doCorrection) {
183183
GetCorrection(ccdb, TString(fCorrectionPath), TString(fCorrectionHisto));
184184
} else {
185185
hEffpTEta_proton = nullptr;
@@ -420,9 +420,9 @@ struct HadronNucleiCorrelation {
420420
o2::aod::singletrackselector::unPack<singletrackselector::binning::chi2>(o2::aod::singletrackselector::storedTpcChi2NCl) <= max_chi2_TPC &&
421421
o2::aod::singletrackselector::unPack<singletrackselector::binning::rowsOverFindable>(o2::aod::singletrackselector::storedTpcCrossedRowsOverFindableCls) >= min_TPC_nCrossedRowsOverFindableCls &&
422422
o2::aod::singletrackselector::unPack<singletrackselector::binning::chi2>(o2::aod::singletrackselector::storedItsChi2NCl) <= max_chi2_ITS &&
423-
nabs(o2::aod::singletrackselector::unPack<singletrackselector::binning::dca>(o2::aod::singletrackselector::storedDcaXY)) <= max_dcaxy &&
424-
nabs(o2::aod::singletrackselector::unPack<singletrackselector::binning::dca>(o2::aod::singletrackselector::storedDcaXY)) <= max_dcaz &&
425-
nabs(o2::aod::singletrackselector::eta) <= etacut;
423+
nabs(o2::aod::singletrackselector::unPack<singletrackselector::binning::dca>(o2::aod::singletrackselector::storedDcaXY)) <= max_DCAxy &&
424+
nabs(o2::aod::singletrackselector::unPack<singletrackselector::binning::dca>(o2::aod::singletrackselector::storedDcaXY)) <= max_DCAz &&
425+
nabs(o2::aod::singletrackselector::eta) <= etaCut;
426426

427427
template <typename Type>
428428
bool IsProton(Type const& track, int sign)
@@ -575,7 +575,7 @@ struct HadronNucleiCorrelation {
575575

576576
float corr0 = 1, corr1 = 1;
577577

578-
if (docorrection) { // Apply corrections
578+
if (doCorrection) { // Apply corrections
579579
switch (mode) {
580580
case 0:
581581
corr0 = hEffpTEta_antideuteron->Interpolate(part0.pt(), part0.eta());
@@ -1354,7 +1354,7 @@ struct HadronNucleiCorrelation {
13541354
registry.fill(HIST("Generated/hAntiDeuteronsVsPt"), particle.pt());
13551355
}
13561356

1357-
if (std::abs(particle.eta()) > etacut) {
1357+
if (std::abs(particle.eta()) > etaCut) {
13581358
continue;
13591359
}
13601360
if (particle.pdgCode() == PDG_t::kProton) {
@@ -1447,15 +1447,19 @@ struct HadronNucleiCorrelation {
14471447
}
14481448
PROCESS_SWITCH(HadronNucleiCorrelation, processSameEventGen, "processSameEventGen", false);
14491449

1450+
Preslice<SimParticles> perMcCollision = o2::aod::mcparticle::mcCollisionId;
1451+
14501452
void processMixedEventGen(SimCollisions const& mcCollisions, SimParticles const& mcParticles)
14511453
{
14521454

14531455
for (const auto& [collision1, collision2] : soa::selfCombinations(colBinningGen, 5, -1, mcCollisions, mcCollisions)) {
14541456

1455-
//LOGF(info, "Mixed event collisions: (%d, %d) zvtx (%.1f, %.1f) mult (%d, %d)", collision1.globalIndex(), collision2.globalIndex(), collision1.posZ(), collision2.posZ(), collision1.multMCNParticlesEta05(), collision2.multMCNParticlesEta05());
1457+
// LOGF(info, "Mixed event collisions: (%d, %d) zvtx (%.1f, %.1f) mult (%d, %d)", collision1.globalIndex(), collision2.globalIndex(), collision1.posZ(), collision2.posZ(), collision1.multMCNParticlesEta10(), collision2.multMCNParticlesEta10());
1458+
1459+
auto groupPartsOne = mcParticles.sliceBy(perMcCollision, collision1.globalIndex());
1460+
auto groupPartsTwo = mcParticles.sliceBy(perMcCollision, collision2.globalIndex());
14561461

1457-
auto groupPartsOne = mcParticles.sliceByCached(o2::aod::mcparticle::mcCollisionId, collision1.globalIndex(), cache);
1458-
auto groupPartsTwo = mcParticles.sliceByCached(o2::aod::mcparticle::mcCollisionId, collision2.globalIndex(), cache);
1462+
registry.fill(HIST("hMult"), collision1.multMCNParticlesEta10());
14591463

14601464
for (const auto& [part0, part1] : combinations(CombinationsFullIndexPolicy(groupPartsOne, groupPartsTwo))) {
14611465

0 commit comments

Comments
 (0)