Skip to content

Commit 480d99f

Browse files
committed
incapsulate fill RecSig histograms into function
1 parent 8a1299c commit 480d99f

File tree

1 file changed

+46
-116
lines changed

1 file changed

+46
-116
lines changed

PWGHF/D2H/Tasks/taskLc.cxx

Lines changed: 46 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -336,127 +336,57 @@ struct HfTaskLc {
336336
auto numPvContributors = collision.numContrib();
337337
auto ptRecB = candidate.ptBhadMotherPart();
338338

339-
/// MC reconstructed signal
340-
if ((candidate.isSelLcToPKPi() >= selectionFlagLc) && pdgCodeProng0 == kProton) {
341-
registry.fill(HIST("MC/reconstructed/signal/hMassRecSig"), hfHelper.invMassLcToPKPi(candidate));
342-
registry.fill(HIST("MC/reconstructed/signal/hMassVsPtRecSig"), hfHelper.invMassLcToPKPi(candidate), pt);
343-
}
344-
if ((candidate.isSelLcToPiKP() >= selectionFlagLc) && pdgCodeProng0 == kPiPlus) {
345-
registry.fill(HIST("MC/reconstructed/signal/hMassRecSig"), hfHelper.invMassLcToPiKP(candidate));
346-
registry.fill(HIST("MC/reconstructed/signal/hMassVsPtRecSig"), hfHelper.invMassLcToPiKP(candidate), pt);
347-
}
348-
registry.fill(HIST("MC/reconstructed/signal/hPtRecSig"), pt);
349-
registry.fill(HIST("MC/reconstructed/signal/hPtProng0RecSig"), ptProng0);
350-
registry.fill(HIST("MC/reconstructed/signal/hPtProng1RecSig"), ptProng1);
351-
registry.fill(HIST("MC/reconstructed/signal/hPtProng2RecSig"), ptProng2);
352-
353-
registry.fill(HIST("MC/reconstructed/signal/hd0Prong0RecSig"), candidate.impactParameter0());
354-
registry.fill(HIST("MC/reconstructed/signal/hd0Prong1RecSig"), candidate.impactParameter1());
355-
registry.fill(HIST("MC/reconstructed/signal/hd0Prong2RecSig"), candidate.impactParameter2());
356-
registry.fill(HIST("MC/reconstructed/signal/hd0VsPtProng0RecSig"), candidate.impactParameter0(), pt);
357-
registry.fill(HIST("MC/reconstructed/signal/hd0VsPtProng1RecSig"), candidate.impactParameter1(), pt);
358-
registry.fill(HIST("MC/reconstructed/signal/hd0VsPtProng2RecSig"), candidate.impactParameter2(), pt);
359-
registry.fill(HIST("MC/reconstructed/signal/hDecLengthRecSig"), decayLength);
360-
registry.fill(HIST("MC/reconstructed/signal/hDecLengthVsPtRecSig"), decayLength, pt);
361-
registry.fill(HIST("MC/reconstructed/signal/hDecLengthxyRecSig"), decayLengthXY);
362-
registry.fill(HIST("MC/reconstructed/signal/hDecLengthxyVsPtRecSig"), decayLengthXY, pt);
363-
registry.fill(HIST("MC/reconstructed/signal/hCtRecSig"), hfHelper.ctLc(candidate));
364-
registry.fill(HIST("MC/reconstructed/signal/hCtVsPtRecSig"), hfHelper.ctLc(candidate), pt);
365-
registry.fill(HIST("MC/reconstructed/signal/hCPARecSig"), cpa);
366-
registry.fill(HIST("MC/reconstructed/signal/hCPAVsPtRecSig"), cpa, pt);
367-
registry.fill(HIST("MC/reconstructed/signal/hCPAxyRecSig"), cpaXY);
368-
registry.fill(HIST("MC/reconstructed/signal/hCPAxyVsPtRecSig"), cpaXY, pt);
369-
registry.fill(HIST("MC/reconstructed/signal/hDca2RecSig"), chi2PCA);
370-
registry.fill(HIST("MC/reconstructed/signal/hDca2VsPtRecSig"), chi2PCA, pt);
371-
registry.fill(HIST("MC/reconstructed/signal/hEtaRecSig"), candidate.eta());
372-
registry.fill(HIST("MC/reconstructed/signal/hEtaVsPtRecSig"), candidate.eta(), pt);
373-
registry.fill(HIST("MC/reconstructed/signal/hPhiRecSig"), candidate.phi());
374-
registry.fill(HIST("MC/reconstructed/signal/hPhiVsPtRecSig"), candidate.phi(), pt);
375-
registry.fill(HIST("MC/reconstructed/signal/hImpParErrProng0VsPtRecSig"), candidate.errorImpactParameter0(), pt);
376-
registry.fill(HIST("MC/reconstructed/signal/hImpParErrProng1VsPtRecSig"), candidate.errorImpactParameter1(), pt);
377-
registry.fill(HIST("MC/reconstructed/signal/hImpParErrProng2VsPtRecSig"), candidate.errorImpactParameter2(), pt);
378-
registry.fill(HIST("MC/reconstructed/signal/hDecLenErrVsPtRecSig"), candidate.errorDecayLength(), pt);
379-
380-
/// reconstructed signal prompt
381-
if (candidate.originMcRec() == RecoDecay::OriginType::Prompt) {
339+
auto fillHistogramsRecSig = [&](const std::string& signalFolder, const std::string& signalSuffix) {
382340
if ((candidate.isSelLcToPKPi() >= selectionFlagLc) && pdgCodeProng0 == kProton) {
383-
registry.fill(HIST("MC/reconstructed/prompt/hMassRecSigPrompt"), hfHelper.invMassLcToPKPi(candidate));
384-
registry.fill(HIST("MC/reconstructed/prompt/hMassVsPtRecSigPrompt"), hfHelper.invMassLcToPKPi(candidate), pt);
341+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hMassRecSig" + signalSuffix)).c_str(), hfHelper.invMassLcToPKPi(candidate));
342+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hMassVsPtRecSig" + signalSuffix)).c_str(), hfHelper.invMassLcToPKPi(candidate), pt);
385343
}
386344
if ((candidate.isSelLcToPiKP() >= selectionFlagLc) && pdgCodeProng0 == kPiPlus) {
387-
registry.fill(HIST("MC/reconstructed/prompt/hMassRecSigPrompt"), hfHelper.invMassLcToPiKP(candidate));
388-
registry.fill(HIST("MC/reconstructed/prompt/hMassVsPtRecSigPrompt"), hfHelper.invMassLcToPiKP(candidate), pt);
389-
}
390-
registry.fill(HIST("MC/reconstructed/prompt/hPtRecSigPrompt"), pt);
391-
registry.fill(HIST("MC/reconstructed/prompt/hPtProng0RecSigPrompt"), ptProng0);
392-
registry.fill(HIST("MC/reconstructed/prompt/hPtProng1RecSigPrompt"), ptProng1);
393-
registry.fill(HIST("MC/reconstructed/prompt/hPtProng2RecSigPrompt"), ptProng2);
394-
registry.fill(HIST("MC/reconstructed/prompt/hd0Prong0RecSigPrompt"), candidate.impactParameter0());
395-
registry.fill(HIST("MC/reconstructed/prompt/hd0Prong1RecSigPrompt"), candidate.impactParameter1());
396-
registry.fill(HIST("MC/reconstructed/prompt/hd0Prong2RecSigPrompt"), candidate.impactParameter2());
397-
registry.fill(HIST("MC/reconstructed/prompt/hd0VsPtProng0RecSigPrompt"), candidate.impactParameter0(), pt);
398-
registry.fill(HIST("MC/reconstructed/prompt/hd0VsPtProng1RecSigPrompt"), candidate.impactParameter1(), pt);
399-
registry.fill(HIST("MC/reconstructed/prompt/hd0VsPtProng2RecSigPrompt"), candidate.impactParameter2(), pt);
400-
registry.fill(HIST("MC/reconstructed/prompt/hDecLengthRecSigPrompt"), decayLength);
401-
registry.fill(HIST("MC/reconstructed/prompt/hDecLengthVsPtRecSigPrompt"), decayLength, pt);
402-
registry.fill(HIST("MC/reconstructed/prompt/hDecLengthxyRecSigPrompt"), decayLengthXY);
403-
registry.fill(HIST("MC/reconstructed/prompt/hDecLengthxyVsPtRecSigPrompt"), decayLengthXY, pt);
404-
registry.fill(HIST("MC/reconstructed/prompt/hCtRecSigPrompt"), hfHelper.ctLc(candidate));
405-
registry.fill(HIST("MC/reconstructed/prompt/hCtVsPtRecSigPrompt"), hfHelper.ctLc(candidate), pt);
406-
registry.fill(HIST("MC/reconstructed/prompt/hCPARecSigPrompt"), cpa);
407-
registry.fill(HIST("MC/reconstructed/prompt/hCPAVsPtRecSigPrompt"), cpa, pt);
408-
registry.fill(HIST("MC/reconstructed/prompt/hCPAxyRecSigPrompt"), cpaXY);
409-
registry.fill(HIST("MC/reconstructed/prompt/hCPAxyVsPtRecSigPrompt"), cpaXY, pt);
410-
registry.fill(HIST("MC/reconstructed/prompt/hDca2RecSigPrompt"), chi2PCA);
411-
registry.fill(HIST("MC/reconstructed/prompt/hDca2VsPtRecSigPrompt"), chi2PCA, pt);
412-
registry.fill(HIST("MC/reconstructed/prompt/hEtaRecSigPrompt"), candidate.eta());
413-
registry.fill(HIST("MC/reconstructed/prompt/hEtaVsPtRecSigPrompt"), candidate.eta(), pt);
414-
registry.fill(HIST("MC/reconstructed/prompt/hPhiRecSigPrompt"), candidate.phi());
415-
registry.fill(HIST("MC/reconstructed/prompt/hPhiVsPtRecSigPrompt"), candidate.phi(), pt);
416-
registry.fill(HIST("MC/reconstructed/prompt/hImpParErrProng0VsPtRecSigPrompt"), candidate.errorImpactParameter0(), pt);
417-
registry.fill(HIST("MC/reconstructed/prompt/hImpParErrProng1VsPtRecSigPrompt"), candidate.errorImpactParameter1(), pt);
418-
registry.fill(HIST("MC/reconstructed/prompt/hImpParErrProng2VsPtRecSigPrompt"), candidate.errorImpactParameter2(), pt);
419-
registry.fill(HIST("MC/reconstructed/prompt/hDecLenErrVsPtRecSigPrompt"), candidate.errorDecayLength(), pt);
420-
} else {
421-
if ((candidate.isSelLcToPKPi() >= selectionFlagLc) && pdgCodeProng0 == kProton) {
422-
registry.fill(HIST("MC/reconstructed/nonprompt/hMassRecSigNonPrompt"), hfHelper.invMassLcToPKPi(candidate));
423-
registry.fill(HIST("MC/reconstructed/nonprompt/hMassVsPtRecSigNonPrompt"), hfHelper.invMassLcToPKPi(candidate), pt);
345+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hMassRecSig" + signalSuffix)).c_str(), hfHelper.invMassLcToPiKP(candidate));
346+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hMassVsPtRecSig" + signalSuffix)).c_str(), hfHelper.invMassLcToPiKP(candidate), pt);
424347
}
425-
if ((candidate.isSelLcToPiKP() >= selectionFlagLc) && pdgCodeProng0 == kPiPlus) {
426-
registry.fill(HIST("MC/reconstructed/nonprompt/hMassRecSigNonPrompt"), hfHelper.invMassLcToPiKP(candidate));
427-
registry.fill(HIST("MC/reconstructed/nonprompt/hMassVsPtRecSigNonPrompt"), hfHelper.invMassLcToPiKP(candidate), pt);
428-
}
429-
registry.fill(HIST("MC/reconstructed/nonprompt/hPtRecSigNonPrompt"), pt);
430-
registry.fill(HIST("MC/reconstructed/nonprompt/hPtProng0RecSigNonPrompt"), ptProng0);
431-
registry.fill(HIST("MC/reconstructed/nonprompt/hPtProng1RecSigNonPrompt"), ptProng1);
432-
registry.fill(HIST("MC/reconstructed/nonprompt/hPtProng2RecSigNonPrompt"), ptProng2);
433-
registry.fill(HIST("MC/reconstructed/nonprompt/hd0Prong0RecSigNonPrompt"), candidate.impactParameter0());
434-
registry.fill(HIST("MC/reconstructed/nonprompt/hd0Prong1RecSigNonPrompt"), candidate.impactParameter1());
435-
registry.fill(HIST("MC/reconstructed/nonprompt/hd0Prong2RecSigNonPrompt"), candidate.impactParameter2());
436-
registry.fill(HIST("MC/reconstructed/nonprompt/hd0VsPtProng0RecSigNonPrompt"), candidate.impactParameter0(), pt);
437-
registry.fill(HIST("MC/reconstructed/nonprompt/hd0VsPtProng1RecSigNonPrompt"), candidate.impactParameter1(), pt);
438-
registry.fill(HIST("MC/reconstructed/nonprompt/hd0VsPtProng2RecSigNonPrompt"), candidate.impactParameter2(), pt);
439-
registry.fill(HIST("MC/reconstructed/nonprompt/hDecLengthRecSigNonPrompt"), decayLength);
440-
registry.fill(HIST("MC/reconstructed/nonprompt/hDecLengthVsPtRecSigNonPrompt"), decayLength, pt);
441-
registry.fill(HIST("MC/reconstructed/nonprompt/hDecLengthxyRecSigNonPrompt"), decayLengthXY);
442-
registry.fill(HIST("MC/reconstructed/nonprompt/hDecLengthxyVsPtRecSigNonPrompt"), decayLengthXY, pt);
443-
registry.fill(HIST("MC/reconstructed/nonprompt/hCtRecSigNonPrompt"), hfHelper.ctLc(candidate));
444-
registry.fill(HIST("MC/reconstructed/nonprompt/hCtVsPtRecSigNonPrompt"), hfHelper.ctLc(candidate), pt);
445-
registry.fill(HIST("MC/reconstructed/nonprompt/hCPARecSigNonPrompt"), cpa);
446-
registry.fill(HIST("MC/reconstructed/nonprompt/hCPAVsPtRecSigNonPrompt"), cpa, pt);
447-
registry.fill(HIST("MC/reconstructed/nonprompt/hCPAxyRecSigNonPrompt"), cpaXY);
448-
registry.fill(HIST("MC/reconstructed/nonprompt/hCPAxyVsPtRecSigNonPrompt"), cpaXY, pt);
449-
registry.fill(HIST("MC/reconstructed/nonprompt/hDca2RecSigNonPrompt"), chi2PCA);
450-
registry.fill(HIST("MC/reconstructed/nonprompt/hDca2VsPtRecSigNonPrompt"), chi2PCA, pt);
451-
registry.fill(HIST("MC/reconstructed/nonprompt/hEtaRecSigNonPrompt"), candidate.eta());
452-
registry.fill(HIST("MC/reconstructed/nonprompt/hEtaVsPtRecSigNonPrompt"), candidate.eta(), pt);
453-
registry.fill(HIST("MC/reconstructed/nonprompt/hPhiRecSigNonPrompt"), candidate.phi());
454-
registry.fill(HIST("MC/reconstructed/nonprompt/hPhiVsPtRecSigNonPrompt"), candidate.phi(), pt);
455-
registry.fill(HIST("MC/reconstructed/nonprompt/hImpParErrProng0VsPtRecSigNonPrompt"), candidate.errorImpactParameter0(), pt);
456-
registry.fill(HIST("MC/reconstructed/nonprompt/hImpParErrProng1VsPtRecSigNonPrompt"), candidate.errorImpactParameter1(), pt);
457-
registry.fill(HIST("MC/reconstructed/nonprompt/hImpParErrProng2VsPtRecSigNonPrompt"), candidate.errorImpactParameter2(), pt);
458-
registry.fill(HIST("MC/reconstructed/nonprompt/hDecLenErrVsPtRecSigNonPrompt"), candidate.errorDecayLength(), pt);
348+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hPtRecSig" + signalSuffix)).c_str(), pt);
349+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hPtProng0RecSig" + signalSuffix)).c_str(), ptProng0);
350+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hPtProng1RecSig" + signalSuffix)).c_str(), ptProng1);
351+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hPtProng2RecSig" + signalSuffix)).c_str(), ptProng2);
352+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hd0Prong0RecSig" + signalSuffix)).c_str(), candidate.impactParameter0());
353+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hd0Prong1RecSig" + signalSuffix)).c_str(), candidate.impactParameter1());
354+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hd0Prong2RecSig" + signalSuffix)).c_str(), candidate.impactParameter2());
355+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hd0VsPtProng0RecSig" + signalSuffix)).c_str(), candidate.impactParameter0(), pt);
356+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hd0VsPtProng1RecSig" + signalSuffix)).c_str(), candidate.impactParameter1(), pt);
357+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hd0VsPtProng2RecSig" + signalSuffix)).c_str(), candidate.impactParameter2(), pt);
358+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hDecLengthRecSig" + signalSuffix)).c_str(), decayLength);
359+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hDecLengthVsPtRecSig" + signalSuffix)).c_str(), decayLength, pt);
360+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hDecLengthxyRecSig" + signalSuffix)).c_str(), decayLengthXY);
361+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hDecLengthxyVsPtRecSig" + signalSuffix)).c_str(), decayLengthXY, pt);
362+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hCtRecSig" + signalSuffix)).c_str(), hfHelper.ctLc(candidate));
363+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hCtVsPtRecSig" + signalSuffix)).c_str(), hfHelper.ctLc(candidate), pt);
364+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hCPARecSig" + signalSuffix)).c_str(), cpa);
365+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hCPAVsPtRecSig" + signalSuffix)).c_str(), cpa, pt);
366+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hCPAxyRecSig" + signalSuffix)).c_str(), cpaXY);
367+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hCPAxyVsPtRecSig" + signalSuffix)).c_str(), cpaXY, pt);
368+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hDca2RecSig" + signalSuffix)).c_str(), chi2PCA);
369+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hDca2VsPtRecSig" + signalSuffix)).c_str(), chi2PCA, pt);
370+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hEtaRecSig" + signalSuffix)).c_str(), candidate.eta());
371+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hEtaVsPtRecSig" + signalSuffix)).c_str(), candidate.eta(), pt);
372+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hPhiRecSig" + signalSuffix)).c_str(), candidate.phi());
373+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hPhiVsPtRecSig" + signalSuffix)).c_str(), candidate.phi(), pt);
374+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hImpParErrProng0VsPtRecSig" + signalSuffix)).c_str(), candidate.errorImpactParameter0(), pt);
375+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hImpParErrProng1VsPtRecSig" + signalSuffix)).c_str(), candidate.errorImpactParameter1(), pt);
376+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hImpParErrProng2VsPtRecSig" + signalSuffix)).c_str(), candidate.errorImpactParameter2(), pt);
377+
registry.fill(HIST(("MC/reconstructed/" + signalFolder + "/hDecLenErrVsPtRecSig" + signalSuffix)).c_str(), candidate.errorDecayLength(), pt);
378+
};
379+
380+
/// MC reconstructed signal
381+
fillHistogramsRecSig("signal", "");
382+
/// reconstructed signal prompt
383+
if (candidate.originMcRec() == RecoDecay::OriginType::Prompt) {
384+
fillHistogramsRecSig("prompt", "Prompt");
385+
/// reconstructed signal nonprompt
386+
} else if (candidate.originMcRec() == RecoDecay::OriginType::NonPrompt) {
387+
fillHistogramsRecSig("nonprompt", "NonPrompt");
459388
}
389+
460390
if (fillTHn) {
461391
float cent = evaluateCentralityColl(collision);
462392
float occ{-1.};

0 commit comments

Comments
 (0)