Skip to content

Commit d509f33

Browse files
sawankumawatSawan Sawan
andauthored
[PWGLF] Optimised code (#12712)
Co-authored-by: Sawan Sawan <sawan.sawan@cern.ch>
1 parent c7ebcf6 commit d509f33

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

PWGLF/Tasks/Resonances/kstarqa.cxx

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ struct Kstarqa {
8585
Configurable<bool> isNoTimeFrameBorder{"isNoTimeFrameBorder", true, "kNoTimeFrameBorder"};
8686
Configurable<bool> isNoITSROFrameBorder{"isNoITSROFrameBorder", true, "kNoITSROFrameBorder"};
8787
Configurable<bool> isApplyParticleMID{"isApplyParticleMID", true, "Apply particle misidentification"};
88+
Configurable<bool> checkVzEvSigLoss{"checkVzEvSigLoss", false, "Check Vz event signal loss"};
8889

8990
Configurable<float> cutzvertex{"cutzvertex", 10.0f, "Accepted z-vertex range (cm)"};
9091
Configurable<float> configOccCut{"configOccCut", 1000., "Occupancy cut"};
@@ -328,7 +329,8 @@ struct Kstarqa {
328329
hInvMass.add("hAllRecCollisions", "All reconstructed events", kTH1F, {multiplicityAxis});
329330
hInvMass.add("hAllRecCollisionsCalib", "All reconstructed events", kTH1F, {multiplicityAxis});
330331
hInvMass.add("MCcorrections/hImpactParameterRec", "Impact parameter in reconstructed MC", kTH1F, {impactParAxis});
331-
hInvMass.add("MCcorrections/MultiplicityRec", "Multiplicity in reconstructed MC", kTH1F, {multiplicityAxis});
332+
hInvMass.add("MCcorrections/MultiplicityRec", "Multiplicity in generated MC with at least 1 reconstruction", kTH1F, {multiplicityAxis});
333+
hInvMass.add("MCcorrections/MultiplicityRec2", "Multiplicity in reconstructed MC", kTH1F, {multiplicityAxis});
332334
hInvMass.add("MCcorrections/hImpactParameterGen", "Impact parameter in generated MC", kTH1F, {impactParAxis});
333335
hInvMass.add("MCcorrections/MultiplicityGen", "Multiplicity in generated MC", kTH1F, {multiplicityAxis});
334336
hInvMass.add("MCcorrections/hImpactParametervsMultiplicity", "Impact parameter vs multiplicity in reconstructed MC", kTH2F, {{impactParAxis}, {multiplicityAxis}});
@@ -1639,18 +1641,27 @@ struct Kstarqa {
16391641
return;
16401642
}
16411643

1644+
if (selectionConfig.checkVzEvSigLoss && (std::abs(mcCollision.posZ()) >= selectionConfig.cutzvertex)) {
1645+
return;
1646+
}
1647+
16421648
auto impactPar = mcCollision.impactParameter();
1643-
multiplicity = -1;
1644-
multiplicity = mcCollision.centFT0M();
1649+
auto multiplicityRec = -1;
1650+
auto multiplicityGen = -1;
1651+
multiplicityGen = mcCollision.centFT0M();
16451652
hInvMass.fill(HIST("MCcorrections/hImpactParameterGen"), impactPar);
1646-
hInvMass.fill(HIST("MCcorrections/MultiplicityGen"), multiplicity);
1653+
hInvMass.fill(HIST("MCcorrections/MultiplicityGen"), multiplicityGen);
16471654

16481655
bool isSelectedEvent = false;
16491656
auto multiplicity1 = -999.;
16501657
for (const auto& RecCollision : recCollisions) {
1658+
if (!RecCollision.has_mcCollision())
1659+
continue;
16511660
if (!selectionEvent(RecCollision, false))
16521661
continue;
16531662
// multiplicity1 = RecCollision.centFT0M();
1663+
const auto& mcCollisionRec = RecCollision.mcCollision_as<EventMCGenerated>();
1664+
multiplicityRec = mcCollisionRec.centFT0M();
16541665

16551666
if (cSelectMultEstimator == kFT0M) {
16561667
multiplicity1 = RecCollision.centFT0M();
@@ -1670,7 +1681,8 @@ struct Kstarqa {
16701681
// Event loss
16711682
if (isSelectedEvent) {
16721683
hInvMass.fill(HIST("MCcorrections/hImpactParameterRec"), impactPar);
1673-
hInvMass.fill(HIST("MCcorrections/MultiplicityRec"), multiplicity);
1684+
hInvMass.fill(HIST("MCcorrections/MultiplicityRec"), multiplicityGen);
1685+
hInvMass.fill(HIST("MCcorrections/MultiplicityRec2"), multiplicityRec);
16741686
hInvMass.fill(HIST("MCcorrections/hImpactParametervsMultiplicity"), impactPar, multiplicity1);
16751687
}
16761688

@@ -1680,9 +1692,9 @@ struct Kstarqa {
16801692
continue;
16811693

16821694
// signal loss estimation
1683-
hInvMass.fill(HIST("MCcorrections/hSignalLossDenominator"), mcPart.pt(), multiplicity);
1695+
hInvMass.fill(HIST("MCcorrections/hSignalLossDenominator"), mcPart.pt(), multiplicityGen);
16841696
if (isSelectedEvent) {
1685-
hInvMass.fill(HIST("MCcorrections/hSignalLossNumerator"), mcPart.pt(), multiplicity);
1697+
hInvMass.fill(HIST("MCcorrections/hSignalLossNumerator"), mcPart.pt(), multiplicityGen);
16861698
}
16871699
} // end loop on gen particles
16881700
}

0 commit comments

Comments
 (0)