Skip to content

Commit a0462e4

Browse files
committed
Check also tracks associated to collisions for normalisation
1 parent cc20e0d commit a0462e4

1 file changed

Lines changed: 23 additions & 8 deletions

File tree

PWGHF/Tasks/HFMCValidation.cxx

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -242,15 +242,19 @@ struct ValidationRecLevel {
242242
std::array<std::shared_ptr<TH1>, nCharmHadrons> histDeltaPt, histDeltaPx, histDeltaPy, histDeltaPz, histDeltaSecondaryVertexX, histDeltaSecondaryVertexY, histDeltaSecondaryVertexZ, histDeltaDecayLength;
243243
std::array<std::array<std::array<std::shared_ptr<TH1>, 3>, 2>, nCharmHadrons> histPtDau, histEtaDau, histImpactParameterDau;
244244
std::array<std::array<std::shared_ptr<TH1>, 2>, nCharmHadrons> histPtReco;
245+
std::array<std::shared_ptr<TH1>, 2> histOriginTracks;
245246

246247
HistogramRegistry registry{"registry", {}};
247248
void init(o2::framework::InitContext&)
248249
{
249-
auto histOriginNonAssociatedTracks = registry.add<TH1>("histOriginNonAssociatedTracks", ";origin;entries", HistType::kTH1F, {{4, -1.5, 2.5}});
250-
histOriginNonAssociatedTracks->SetBinLabel(1, "no MC particle");
251-
histOriginNonAssociatedTracks->SetBinLabel(2, "no quark");
252-
histOriginNonAssociatedTracks->SetBinLabel(3, "charm");
253-
histOriginNonAssociatedTracks->SetBinLabel(4, "beauty");
250+
auto histOriginTracks[0] = registry.add<TH1>("histOriginNonAssociatedTracks", ";origin;entries", HistType::kTH1F, {{4, -1.5, 2.5}});
251+
auto histOriginTracks[1] = registry.add<TH1>("histOriginAssociatedTracks", ";origin;entries", HistType::kTH1F, {{4, -1.5, 2.5}});
252+
for (int iHist{0}; iHist < histOriginTracks.size(); ++iHist) {
253+
histOriginTracks[iHist]->SetBinLabel(1, "no MC particle");
254+
histOriginTracks[iHist]->SetBinLabel(2, "no quark");
255+
histOriginTracks[iHist]->SetBinLabel(3, "charm");
256+
histOriginTracks[iHist]->SetBinLabel(4, "beauty");
257+
}
254258
for (auto iHad = 0; iHad < nCharmHadrons; ++iHad) {
255259
histDeltaPt[iHad] = registry.add<TH1>(Form("histDeltaPt%s", particleNames[iHad].data()), Form("Pt difference reco - MC %s; #it{p}_{T}^{reco} - #it{p}_{T}^{gen} (GeV/#it{c}); entries", labels[iHad].data()), HistType::kTH1F, {{2000, -1., 1.}});
256260
histDeltaPx[iHad] = registry.add<TH1>(Form("histDeltaPx%s", particleNames[iHad].data()), Form("Px difference reco - MC %s; #it{p}_{x}^{reco} - #it{p}_{x}^{gen} (GeV/#it{c}); entries", labels[iHad].data()), HistType::kTH1F, {{2000, -1., 1.}});
@@ -275,17 +279,28 @@ struct ValidationRecLevel {
275279
using HfCandProng3WithMCRec = soa::Join<aod::HfCandProng3, aod::HfCandProng3MCRec>;
276280

277281
Partition<aod::McParticles> collNonAssociatedTracks = aod::track::collisionId < 0;
282+
Partition<aod::McParticles> collAssociatedTracks = aod::track::collisionId >= 0;
278283

279284
void process(HfCandProng2WithMCRec const& cand2Prongs, HfCandProng3WithMCRec const& cand3Prongs, aod::BigTracksMC const& tracks, aod::McParticles const& particlesMC)
280285
{
281-
// loop over tracks
286+
// loop over tracks without collision association
282287
for (auto& track : collNonAssociatedTracks) {
283288
if (track.has_mcParticle()) {
284289
auto particle = arrDaughters[iProng].mcParticle(); // get corresponding MC particle to check origin
285290
auto origin = RecoDecay::getCharmHadronOrigin(particlesMC, particle, true);
286-
histOriginNonAssociatedTracks->Fill(origin);
291+
histOriginTracks[0]->Fill(origin);
292+
} else {
293+
histOriginTracks[0]->Fill(-1.);
294+
}
295+
}
296+
// loop over tracks with collision association
297+
for (auto& track : collAssociatedTracks) {
298+
if (track.has_mcParticle()) {
299+
auto particle = arrDaughters[iProng].mcParticle(); // get corresponding MC particle to check origin
300+
auto origin = RecoDecay::getCharmHadronOrigin(particlesMC, particle, true);
301+
histOriginTracks[1]->Fill(origin);
287302
} else {
288-
histOriginNonAssociatedTracks->Fill(-1.);
303+
histOriginTracks[1]->Fill(-1.);
289304
}
290305
}
291306

0 commit comments

Comments
 (0)