10#include "TTimeStamp.h"
65 uuid_clear(this->header_uuid);
74 void print(std::ostream& out = std::cout)
const
76 out <<
"Evt: id=" <<
id <<
78 " #hits=" <<
hits.size() <<
79 " #mc_hits=" <<
mc_hits.size() <<
80 " #trks=" <<
trks.size() <<
81 " #mc_trks=" <<
mc_trks.size() << std::endl;
101 for (
auto&
t :
trks )
t.hit_ids.clear();
102 for (
auto&
t :
mc_trks )
t.hit_ids.clear();
119 if (
t.is_primary() ) r.push_back(&
t);
136 if (
t.is_primary() ) r.push_back(&
t);
151 if (
t.is_neutrino() )
return &
t;
165 return const_cast<Trk *
>(
static_cast<const Evt &
>(*this).
neutrino() );
180 if (
t.is_neutrino() and
t.is_primary() )
return &
t;
209 if (!nu)
return nullptr;
213 if (
t.is_lepton() &&
214 t.mother_id == nu->
id &&
215 !
t.is_orphan() )
return &
t;
#define ClassDef(name, version)
AAObject is a base class for I/O-classes that adds the possibility to add 'user' information which wi...
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
std::vector< double > w
MC: Weights w[0]=w1, w[1]=w2, w[2]=w3 (see e.g. Tag list or km3net-dataformat/definitions)
int mc_id
identifier of the MC event (as found in ascii or antcc file).
int frame_index
from the raw data
int run_id
DAQ run identifier.
ULong64_t trigger_mask
trigger mask from raw data (i.e. the trigger bits)
const Trk * neutrino() const
Get a const pointer to the (first) neutrino from the MC track list.
double mc_t
MC: time where the mc-event was put in the timeslice, since start of run (offset+frameidx*timeslice_d...
void clear_hits()
Clear the hit vectors and all the references to hits in the tracks.
const Trk * primary_neutrino() const
Get a const pointer to primary neutrino from the MC track list.
std::vector< Trk * > primary_trks()
Return a vector of pointers to tracks that are 'primary'.
std::vector< const Trk * > primary_trks() const
Return a vector with const pointers to the tracks that are 'primary'.
TString comment
user can use this as he/she likes
std::vector< Hit > hits
list of hits
int index
user can use this as he/she likes
int mc_run_id
MC run identifier.
std::vector< Hit > mc_hits
MC: list of MC truth hits.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
int flags
user can use this as he/she likes
int det_id
detector identifier from DAQ
Trk * get_parent_of(const Trk &child)
Get a pointer ot the (first) parent of the track 'child'.
ULong64_t trigger_counter
trigger counter
void print(std::ostream &out=std::cout) const
Print event.
int id
offline event identifier
static void actionAtFileOpen(int version)
Action method at file open.
Trk * leading_lepton()
Get a pointer to leading lepton from the MC track list.
Evt()
Default constructor.
TTimeStamp mc_event_time
MC: true generation time (UTC) of the event, (default: 01 Jan 1970 00:00:00)
std::vector< double > w3list
MC: atmospheric flux information.
std::vector< double > w2list
MC: factors that make up w[1]=w2 (see e.g. Tag list or km3net-dataformat/definitions)
const Trk * get_parent_of(const Trk &child) const
Get a const pointer to the (first) parent of the track 'child'.
static int ROOT_IO_VERSION
Streamer version as obtained from ROOT file.
Trk * primary_neutrino()
Get a pointer to primary neutrino from the MC track list.
Trk * neutrino()
Get a pointer to the (first) neutrino from the MC track list.
std::vector< Trk > trks
list of reconstructed tracks (can be several because of prefits,showers, etc).
const Trk * leading_lepton() const
Get a const pointer to the first leading lepton from the MC track list.
TTimeStamp t
UTC time of the timeslice, or the event_time for MC. (default: 01 Jan 1970 00:00:00)
uuid_t header_uuid
UUID of header containing the event-weight information.
unsigned int overlays
number of overlaying triggered events
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
int mother_id
MC id of the parent particle.