19 #include "TLorentzVector.h" 39 std::vector<std::pair<TLorentzVector, TLorentzVector>>
_det_path;
61 return std::find(_daughters.begin(), _daughters.end(),
d) != _daughters.end();
72 for (
auto const&
d : _daughters)
100 void AddParticles(
const std::vector<simb::MCParticle>& mcp_v,
101 const std::vector<simb::Origin_t>& orig_v,
102 const std::vector<simb::MCParticle>& mcmp_v = {});
104 unsigned int AncestorTrackID(
const unsigned int part_index);
106 unsigned int MotherTrackID(
const unsigned int part_index)
const;
114 auto const iter(_track_index.find(track_id));
116 return (*iter).second;
119 bool InDetector(
const double&
x,
const double&
y,
const double&
z)
const;
const TLorentzVector & Position(const int i=0) const
void AddDaughter(const int trackID)
double _z_max
z-max of volume box used to determine whether to save track information
void AddTrajectoryPoint(TLorentzVector const &position, TLorentzVector const &momentum)
const TLorentzVector & EndPosition() const
enum simb::_ev_origin Origin_t
event origin types
virtual ~MCRecoPart()
Default destructor.
MCMiniPart(const simb::MCParticle &p)
double _y_max
y-max of volume box used to determine whether to save track information
double _y_min
y-min of volume box used to determine whether to save track information
std::map< unsigned int, unsigned int > _track_index
Track ID => Index Map.
std::string Process() const
TLorentzVector _start_vtx
TLorentzVector _start_mom
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
double _z_min
z-min of volume box used to determine whether to save track information
std::vector< unsigned int > _trackIDOffsets
Track ID offsets for different MCTruths.
bool HasDaughter(unsigned int d) const
ntupleExperimental Reset()
std::vector< std::pair< TLorentzVector, TLorentzVector > > _det_path
double _x_max
x-max of volume box used to determine whether to save track information
double _x_min
x-min of volume box used to determine whether to save track information
std::set< int > _pdg_list
PDG code list for which particle's trajectory within the detector is saved.
const TLorentzVector & Momentum(const int i=0) const
const unsigned int kINVALID_UINT
static const double kINVALID_DOUBLE
unsigned int TrackToParticleIndex(const unsigned int track_id) const
const TLorentzVector & EndMomentum() const
std::set< unsigned int > _daughters
void AddDaughter(unsigned int d)