Skip to content

Commit 7b6e3e9

Browse files
authored
[PWGEM/Dilepton] update matchingMFT.cxx in MC (#10831)
1 parent 4ec091b commit 7b6e3e9

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

PWGEM/Dilepton/Tasks/matchingMFT.cxx

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ struct matchingMFT {
169169
fRegistry.add("MFTMCHMID/primary/correct/hDeltaPhi_Neg", "#varphi resolution;p_{T}^{gen} (GeV/c);#varphi^{rec} - #varphi^{gen} (rad.)", kTH2F, {{100, 0, 10}, {400, -0.2, +0.2}}, true);
170170
fRegistry.addClone("MFTMCHMID/primary/correct/", "MFTMCHMID/primary/wrong/");
171171
fRegistry.addClone("MFTMCHMID/primary/", "MFTMCHMID/secondary/");
172+
173+
fRegistry.add("Generated/primary/hs", "gen. info;p_{T} (GeV/c);#eta;#varphi (rad.)", kTHnSparseF, {{100, 0.0f, 10}, {100, -6, -1}, {90, 0, 2.f * M_PI}}, false);
172174
}
173175

174176
bool isSelected(const float pt, const float eta, const float rAtAbsorberEnd, const float pDCA, const float chi2, const uint8_t trackType, const float dcaXY)
@@ -416,6 +418,25 @@ struct matchingMFT {
416418
fRegistry.fill(HIST("Event/hMultFT0CvsMultNTracksPV"), collision.multFT0C(), collision.multNTracksPV());
417419
}
418420

421+
template <typename TMCParticles>
422+
void runGen(TMCParticles const& mcParticles)
423+
{
424+
for (const auto& mcParticle : mcParticles) {
425+
if (std::abs(mcParticle.pdgCode()) != 13) { // select true muon
426+
continue;
427+
}
428+
if (!(mcParticle.isPhysicalPrimary() || mcParticle.producedByGenerator())) {
429+
continue;
430+
}
431+
if (mcParticle.eta() < minEtaGL || maxEtaGL < mcParticle.eta()) {
432+
continue;
433+
}
434+
435+
fRegistry.fill(HIST("Generated/primary/hs"), mcParticle.pt(), mcParticle.eta(), mcParticle.phi());
436+
437+
} // end of mc particles
438+
}
439+
419440
SliceCache cache;
420441
PresliceUnsorted<aod::FwdTracks> perMFTTrack = o2::aod::fwdtrack::matchMFTTrackId;
421442
Preslice<aod::FwdTracks> perCollision = o2::aod::fwdtrack::collisionId;
@@ -426,7 +447,7 @@ struct matchingMFT {
426447
Filter collisionFilter_centrality = (cfgCentMin < o2::aod::cent::centFT0M && o2::aod::cent::centFT0M < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0A && o2::aod::cent::centFT0A < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0C && o2::aod::cent::centFT0C < cfgCentMax);
427448
using FilteredMyCollisions = soa::Filtered<MyCollisions>;
428449

429-
void processWithoutFTTCA(FilteredMyCollisions const& collisions, MyFwdTracks const& fwdtracks, MyMFTTracks const& mfttracks, aod::BCsWithTimestamps const&, aod::McParticles const&)
450+
void processWithoutFTTCA(FilteredMyCollisions const& collisions, MyFwdTracks const& fwdtracks, MyMFTTracks const& mfttracks, aod::BCsWithTimestamps const&, aod::McParticles const& mcParticles)
430451
{
431452
for (const auto& collision : collisions) {
432453
const auto& bc = collision.template bc_as<aod::BCsWithTimestamps>();
@@ -450,10 +471,11 @@ struct matchingMFT {
450471
fillHistograms(collision, fwdtrack, fwdtracks, mfttracks);
451472
} // end of fwdtrack loop
452473
} // end of collision loop
474+
runGen(mcParticles);
453475
}
454476
PROCESS_SWITCH(matchingMFT, processWithoutFTTCA, "process without FTTCA", false);
455477

456-
void processWithFTTCA(FilteredMyCollisions const& collisions, MyFwdTracks const& fwdtracks, MyMFTTracks const& mfttracks, aod::BCsWithTimestamps const&, aod::FwdTrackAssoc const& fwdtrackIndices, aod::McParticles const&)
478+
void processWithFTTCA(FilteredMyCollisions const& collisions, MyFwdTracks const& fwdtracks, MyMFTTracks const& mfttracks, aod::BCsWithTimestamps const&, aod::FwdTrackAssoc const& fwdtrackIndices, aod::McParticles const& mcParticles)
457479
{
458480
for (const auto& collision : collisions) {
459481
const auto& bc = collision.template bc_as<aod::BCsWithTimestamps>();
@@ -478,6 +500,7 @@ struct matchingMFT {
478500
fillHistograms(collision, fwdtrack, fwdtracks, mfttracks);
479501
} // end of fwdtrack loop
480502
} // end of collision loop
503+
runGen(mcParticles);
481504
}
482505
PROCESS_SWITCH(matchingMFT, processWithFTTCA, "process with FTTCA", true);
483506
};

0 commit comments

Comments
 (0)