00001 #ifndef XEXAMPLE_XEXAMPLEUTIL_H 00002 #define XEXAMPLE_XEXAMPLEUTIL_H 00003 00004 // TruthParticle utilities for xExample 00005 // Use forward references for xAOD classes 00006 00007 #include <vector> 00008 00009 namespace xAOD{ 00010 class TruthParticle_v1; 00011 typedef TruthParticle_v1 TruthParticle; 00012 class TruthVertex_v1; 00013 typedef TruthVertex_v1 TruthVertex; 00014 } 00015 00016 // Long-lived B hadron (5x1,5xx2) 00017 bool isBHadron(const xAOD::TruthParticle* p); 00018 00019 // Implement HepMC isGenStable 00020 bool isGenStable(const xAOD::TruthParticle* p); 00021 00022 // Emulate HepMC descendant iterator 00023 // Multiple particles can give same descendant (string/cluster) 00024 // Remove Geant descendants 00025 int getDescendants(const xAOD::TruthParticle* p, 00026 std::vector< const xAOD::TruthParticle* >& dscd ); 00027 00028 00029 #endif //XEXAMPLE_XEXAMPLEUTIL_H