Skip to content

Commit 1ce3e93

Browse files
authored
Added QA histos
1 parent a8d82e9 commit 1ce3e93

File tree

1 file changed

+118
-0
lines changed

1 file changed

+118
-0
lines changed

PWGLF/Tasks/Resonances/lambda1520analysisinpp.cxx

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,11 @@ struct Lambda1520analysisinpp {
428428
histos.add("Result/MC/h3lambda1520Recoinvmass", "Invariant mass of Reconstructed MC #Lambda(1520)0", kTHnSparseF, {axisMult, axisPt, axisMassLambda1520});
429429
histos.add("Result/MC/h3antilambda1520Recoinvmass", "Invariant mass of Reconstructed MC Anti-#Lambda(1520)0", kTHnSparseF, {axisMult, axisPt, axisMassLambda1520});
430430
}
431+
if (doprocessdummy) {
432+
histos.add("Result/dummy/Genprotonpt", "pT distribution of True MC Proton", kTH3F, {axisMClabel, axisPt, axisMult});
433+
histos.add("Result/dummy/Genlambdapt", "pT distribution of True MC #Lambda(1520)", kTH3F, {axisMClabel, axisPt, axisMult});
434+
histos.add("Result/dummy/Genxipt", "pT distribution of True MC #Xi(1520)", kTH3F, {axisMClabel, axisPt, axisMult});
435+
}
431436

432437
// Print output histograms statistics
433438
LOG(info) << "Size of the histograms in Lambda1520analysisinpp:";
@@ -1284,6 +1289,119 @@ struct Lambda1520analysisinpp {
12841289
}
12851290
}
12861291
PROCESS_SWITCH(Lambda1520analysisinpp, processME, "Process EventMixing light without partition", false);
1292+
1293+
void processdummy(MCEventCandidates::iterator const& collision, aod::McCollisions const&, aod::McParticles const& mcParticles)
1294+
{
1295+
bool isInAfterAllCuts = colCuts.isSelected(collision, false);
1296+
bool inVtx10 = (std::abs(collision.mcCollision().posZ()) > configEvents.cfgEvtZvtx) ? false : true;
1297+
bool isTriggerTVX = collision.selection_bit(aod::evsel::kIsTriggerTVX);
1298+
bool isSel8 = collision.sel8();
1299+
1300+
auto mcPartsAll = mcParticles.sliceBy(perMcCollision, collision.mcCollision().globalIndex());
1301+
1302+
bool isTrueINELgt0 = pwglf::isINELgt0mc(mcPartsAll, pdg);
1303+
// bool isTrueINELgt0 = collision.isInelGt0();
1304+
1305+
auto centrality = centEst(collision);
1306+
1307+
auto computePtL = [&](float pt, float m_ref) {
1308+
float ptL2 = pt * pt + m_ref * m_ref - MassLambda1520 * MassLambda1520;
1309+
return (ptL2 > 0) ? std::sqrt(ptL2) : -1.f;
1310+
};
1311+
1312+
for (auto& part : mcPartsAll) {
1313+
1314+
if (!part.isPhysicalPrimary())
1315+
continue;
1316+
1317+
float pt = part.pt();
1318+
1319+
if (cUseRapcutMC && std::abs(part.y()) > configTracks.cfgCutRapidity) // rapidity cut
1320+
continue;
1321+
1322+
if (std::abs(part.pdgCode()) == kProton) {
1323+
1324+
float ptL = computePtL(pt, massPr);
1325+
if (ptL < 0)
1326+
continue;
1327+
1328+
histos.fill(HIST("Result/dummy/Genprotonpt"), 0, ptL, centrality);
1329+
1330+
if (inVtx10) // vtx10
1331+
histos.fill(HIST("Result/dummy/Genprotonpt"), 1, ptL, centrality);
1332+
1333+
if (inVtx10 && isSel8) // vtx10, sel8
1334+
histos.fill(HIST("Result/dummy/Genprotonpt"), 2, ptL, centrality);
1335+
1336+
if (inVtx10 && isTriggerTVX) // vtx10, TriggerTVX
1337+
histos.fill(HIST("Result/dummy/Genprotonpt"), 3, ptL, centrality);
1338+
1339+
if (inVtx10 && isTrueINELgt0) // vtx10, INEL>0
1340+
histos.fill(HIST("Result/dummy/Genprotonpt"), 4, ptL, centrality);
1341+
1342+
if (isInAfterAllCuts) // after all event selection
1343+
histos.fill(HIST("Result/dummy/Genprotonpt"), 5, ptL, centrality);
1344+
1345+
if (isInAfterAllCuts && isTrueINELgt0) // after all event selection && INEL>0
1346+
histos.fill(HIST("Result/dummy/Genprotonpt"), 6, ptL, centrality);
1347+
}
1348+
1349+
if (std::abs(part.pdgCode()) == kLambda0) {
1350+
1351+
float ptL = computePtL(pt, MassLambda0);
1352+
if (ptL < 0)
1353+
continue;
1354+
1355+
histos.fill(HIST("Result/dummy/Genlambdapt"), 0, ptL, centrality);
1356+
1357+
if (inVtx10) // vtx10
1358+
histos.fill(HIST("Result/dummy/Genlambdapt"), 1, ptL, centrality);
1359+
1360+
if (inVtx10 && isSel8) // vtx10, sel8
1361+
histos.fill(HIST("Result/dummy/Genlambdapt"), 2, ptL, centrality);
1362+
1363+
if (inVtx10 && isTriggerTVX) // vtx10, TriggerTVX
1364+
histos.fill(HIST("Result/dummy/Genlambdapt"), 3, ptL, centrality);
1365+
1366+
if (inVtx10 && isTrueINELgt0) // vtx10, INEL>0
1367+
histos.fill(HIST("Result/dummy/Genlambdapt"), 4, ptL, centrality);
1368+
1369+
if (isInAfterAllCuts) // after all event selection
1370+
histos.fill(HIST("Result/dummy/Genlambdapt"), 5, ptL, centrality);
1371+
1372+
if (isInAfterAllCuts && isTrueINELgt0) // after all event selection && INEL>0
1373+
histos.fill(HIST("Result/dummy/Genlambdapt"), 6, ptL, centrality);
1374+
}
1375+
1376+
if (std::abs(part.pdgCode()) == PDG_t::kXiMinus) {
1377+
1378+
float ptL = computePtL(pt, MassXiMinus);
1379+
if (ptL < 0)
1380+
continue;
1381+
1382+
histos.fill(HIST("Result/dummy/Genxipt"), 0, ptL, centrality);
1383+
1384+
if (inVtx10) // vtx10
1385+
histos.fill(HIST("Result/dummy/Genxipt"), 1, ptL, centrality);
1386+
1387+
if (inVtx10 && isSel8) // vtx10, sel8
1388+
histos.fill(HIST("Result/dummy/Genxipt"), 2, ptL, centrality);
1389+
1390+
if (inVtx10 && isTriggerTVX) // vtx10, TriggerTVX
1391+
histos.fill(HIST("Result/dummy/Genxipt"), 3, ptL, centrality);
1392+
1393+
if (inVtx10 && isTrueINELgt0) // vtx10, INEL>0
1394+
histos.fill(HIST("Result/dummy/Genxipt"), 4, ptL, centrality);
1395+
1396+
if (isInAfterAllCuts) // after all event selection
1397+
histos.fill(HIST("Result/dummy/Genxipt"), 5, ptL, centrality);
1398+
1399+
if (isInAfterAllCuts && isTrueINELgt0) // after all event selection && INEL>0
1400+
histos.fill(HIST("Result/dummy/Genxipt"), 6, ptL, centrality);
1401+
}
1402+
}
1403+
}
1404+
PROCESS_SWITCH(Lambda1520analysisinpp, processdummy, "Process dummy", false);
12871405
};
12881406

12891407
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)