8 #include <tracking/ckf/cdc/filters/states/CDCfromEclStateTruthVarSet.h>
10 #include <tracking/ckf/cdc/entities/CDCCKFState.h>
11 #include <ecl/dataobjects/ECLShower.h>
13 #include <mdst/dataobjects/MCParticle.h>
15 #include <tracking/dataobjects/RecoTrack.h>
22 const auto& path = pair->first;
23 const auto& state = pair->second;
26 const auto& seed = path->front();
27 const auto* seedRecoTrack = seed.getSeed();
28 const auto* seedEclShower = seedRecoTrack->getRelated<
ECLShower>(
"ECLShowers");
31 const auto* wireHit = state->getWireHit();
32 const auto* cdcHit = wireHit->getHit();
36 while (hitMCParticle->getMother()) {
37 hitMCParticle = hitMCParticle->
getMother();
41 var<named(
"match")>() = seedMCParticle == hitMCParticle ?
true :
false;
42 var<named(
"PDG")>() = seedMCParticle->getPDG();
45 var<named(
"seed_p_truth")>() = seedMom.Mag();
46 var<named(
"seed_theta_truth")>() = seedMom.Theta() * 180. / M_PI;
47 var<named(
"seed_pt_truth")>() = seedMom.Perp();
48 var<named(
"seed_pz_truth")>() = seedMom.Z();
49 var<named(
"seed_px_truth")>() = seedMom.X();
50 var<named(
"seed_py_truth")>() = seedMom.Y();
Class to store ECL Showers.
TVector3 getMomentum() const
The method to get return TVector3 Momentum.
A Class to store the Monte Carlo particle information.
T * getRelated(const std::string &name="", const std::string &namedRelation="") const
Get the object to or from which this object has a relation.
AObject Object
Type of the object to be analysed.
MCParticle * getMother() const
Returns a pointer to the mother particle.
Abstract base class for different kinds of events.