22 const auto& seed = path->front();
23 const auto* seedRecoTrack = seed.getSeed();
24 const auto* seedEclShower = seedRecoTrack->getRelated<
ECLShower>(
"ECLShowers");
29 std::vector<MCParticle*> daughterMCParticles;
30 if (seedMCParticle->getNDaughters() > 0) {
31 daughterMCParticles = seedMCParticle->getDaughters();
36 for (
auto const& state : *path) {
41 const auto wireHit = state.getWireHit();
42 const auto cdcHit = wireHit->getHit();
43 auto* hitMCTrack = cdcHit->getRelated<
RecoTrack>(
"MCRecoTracks");
45 if (seedMCTrack != 0 && seedMCTrack == hitMCTrack) {
52 var<
named(
"daughters")>() = daughters;
53 var<
named(
"PDG")>() = seedMCParticle->getPDG();
56 var<
named(
"seed_p_truth")>() = seedMom.R();
57 var<
named(
"seed_theta_truth")>() = seedMom.Theta() * 180. / M_PI;
58 var<
named(
"seed_pt_truth")>() = seedMom.Rho();
59 var<
named(
"seed_pz_truth")>() = seedMom.Z();
60 var<
named(
"seed_px_truth")>() = seedMom.X();
61 var<
named(
"seed_py_truth")>() = seedMom.Y();
67 if (particleMCTrack) {
68 mcTrackHits = particleMCTrack->getNumberOfCDCHits();
70 var<
named(
"mcTrackHits")>() = mcTrackHits;
A Class to store the Monte Carlo particle information.