25 if (genParticle->
mother() !=
nullptr) {
35 if (genParticle->status() <=
abs(
depth_) && (genParticle->pdg_id() < 88 || genParticle->pdg_id() > 99)) {
52 if (genVertex->particles_in_size())
63 if (!trackingParticle->genParticles().empty()) {
64 LogDebug(
"TrackHistory") <<
"Particle " << trackingParticle->pdgId() <<
" has a GenParicle image." << std::endl;
69 LogDebug(
"TrackHistory") <<
"No GenParticle image for " << trackingParticle->pdgId() << std::endl;
82 if (!trackingVertex->sourceTracks().empty()) {
83 LogDebug(
"TrackHistory") <<
"Moving on to the parent particle." << std::endl;
89 for (its = trackingVertex->sourceTracks_begin(); its != trackingVertex->sourceTracks_end(); its++) {
90 for (itd = trackingVertex->daughterTracks_begin(); itd != trackingVertex->daughterTracks_end(); itd++)
104 LogDebug(
"TrackHistory") <<
"WARNING: Looping track found." << std::endl;
111 }
else if (!trackingVertex->genVertices().empty()) {
113 LogDebug(
"TrackHistory") <<
"Vertex has " << trackingVertex->genVertices().size() <<
"GenVertex image." 116 ivertex != trackingVertex->genVertices_end();
121 LogDebug(
"TrackHistory") <<
"WARNING: Source track for tracking vertex cannot be found." << std::endl;
124 LogDebug(
"TrackHistory") <<
" WARNING: Vertex cannot be found.";
int pdgId() const final
PDG identifier.
bool isNonnull() const
Checks for non-null.
RecoGenParticleTrail recoGenParticleTrail_
SimVertexTrail simVertexTrail_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
GenVertexTrail genVertexTrail_
void traceGenHistory(HepMC::GenParticle const *)
GenVertexTrailHelper genVertexTrailHelper_
Abs< T >::type abs(const T &t)
void traceRecoGenHistory(reco::GenParticle const *)
SimParticleTrail simParticleTrail_
void depth(int d)
Set the depth of the history.
int status() const final
status word
bool traceSimHistory(TrackingParticleRef const &, int)
RecoGenParticleTrailHelper recoGenParticleTrailHelper_
GenParticleTrail genParticleTrail_
const HepMC::GenParticle * genParticle() const
const Candidate * mother(size_type=0) const override
return mother at a given position, i = 0, ... numberOfMothers() - 1 (read only mode) ...