1 #ifndef TRK_HH_INCLUDED 
    2 #define TRK_HH_INCLUDED 
    5 #include "TDatabasePDG.h" 
   67     TParticlePDG* p = TDatabasePDG::Instance()->GetParticle( 
type );
 
  112      return type == kElectron || 
type == kPositron;
 
  124     return type == kMuonMinus || 
type == kMuonPlus;
 
  136     return type == kTauMinus || 
type == kTauPlus;
 
  171     for( 
auto& 
t : mctrks )
 
  173              if ( 
t.mother_id == 
id ) r.push_back( &
t );
 
  183   void print(std::ostream& out=std::cout)
 const 
  185     out << 
"Trk: id=" << 
id << 
" pos="; 
pos.
print(out);
 
  187     out << 
" t=" << 
t << 
" E=" << 
E << 
" pdg-type=" << 
type;
 
int counter
can be used for corsika MC generation. 
 
std::vector< Trk * > get_daughters(std::vector< Trk > &mctrks)
Get list of of pointers to tracks, all of which have their mother identifier set to identifier of thi...
 
double t
track time [ns] (when the particle is at pos ) 
 
static const int TRK_MOTHER_NONE
mother id of a particle if it has no parent 
 
bool is_neutrino() const 
Check if this is a netrino. 
 
std::string comment
use as you like 
 
bool is_primary() const 
Check if this is a primary particle. 
 
double E
Energy [GeV] (either MC truth or reconstructed) 
 
std::string name() const 
Get the name of the MC particle type. 
 
bool is_lepton() const 
Check if this is a charged lepton. 
 
int mother_id
MC id of the parent particle. 
 
void read(const Trk &t)
Read track (useful in python). 
 
The Vec class is a straightforward 3-d vector, which also works in pyroot. 
 
std::vector< int > hit_ids
list of associated hit-ids (corresponds to Hit::id). 
 
std::vector< double > fitinf
place to store additional fit info, for jgandalf, see JFitParameters.hh 
 
double len
length, if applicable [m] 
 
static const int TRK_ST_PRIMARYNEUTRINO
initial state neutrino ('neutrino' tag in evt files from gseagen and genhen). 
 
bool is_muon() const 
Check if this is a muon. 
 
static const int TRK_ST_PRIMARYCOSMIC
initial state cosmic ray ('track_primary' tag in evt files from corant). 
 
void write(Trk &t) const 
Write track (useful in python). 
 
static const int TRK_ST_UNDEFINED
status was not defined for this MC track (all reco tracks have this value) 
 
static const int TRK_MOTHER_UNDEFINED
KM3NeT Data Definitions v2.2.0-12-ge740342 https://git.km3net.de/common/km3net-dataformat. 
 
int type
MC: particle type in PDG encoding. 
 
int status
MC status code, see km3net-dataformat/definitions/trkmembers.csv for values. 
 
#define ClassDef(name, version)
 
bool is_finalstate() const 
Test whether given particle is a final state inside the detector. 
 
static const int TRK_ST_FINALSTATE
particle to be tracked by detector-level MC ('track_in' tag in evt files from gseagen ...
 
Vec pos
postion of the track at time t [m] 
 
bool is_tau() const 
Check if this is a tau. 
 
AAObject is a base class for I/O-classes that adds the possibility to add 'user' information which wi...
 
std::vector< int > rec_stages
list of identifyers of succesfull fitting stages resulting in this track 
 
bool is_e() const 
Check if this is an electron or positron. 
 
std::vector< double > error_matrix
(NxN) error covariance matrix for fit parameters (stored as linear vector) 
 
double lik
likelihood or lambda value (for aafit, lambda) 
 
std::string to_string(const T &value)
Convert value to string. 
 
void print(std::ostream &out=std::cout) const 
Print vector. 
 
Trk()
Default constructor. 
 
void print(std::ostream &out=std::cout) const 
Print track. 
 
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower. 
 
bool is_orphan() const 
Check if this is an orphan (i.e. 
 
int rec_type
identifyer for the overall fitting algorithm/chain/strategy