1 #ifndef __JAANETTESTKIT__
2 #define __JAANETTESTKIT__
32 p->
x = getRandom<double>();
33 p->
y = getRandom<double>();
34 p->
z = getRandom<double>();
51 p->
x = getRandom<double>(-1.0e4, +1.0e4, 1.0);
52 p->
y = getRandom<double>(-1.0e4, +1.0e4, 1.0);
53 p->
z = getRandom<double>(-1.0e4, +1.0e4, 1.0);
70 p->
x = getRandom<double>(-1.0, +1.0, 1.0e-3);
71 p->
y = getRandom<double>(-1.0, +1.0, 1.0e-3);
72 p->
z = getRandom<double>(-1.0, +1.0, 1.0e-3);
83 p->
id = getRandom<int>(0, 1000);
85 p->
dom_id = getRandom<int>(0, 1000);
86 p->
channel_id = getRandom<unsigned int>(0, 31);
87 p->
tdc = getRandom<unsigned int>();
88 p->
tot = getRandom<unsigned int>(0, 256);
89 p->
trig = getRandom<int>(0, 1000);
91 p->
pmt_id = getRandom<int>(0, 1000);
92 p->
t = getRandom<double>(0.0, 100.0e6, 0.1);
93 p->
a = getRandom<double>(0.0, 100.0e0, 0.1);
95 p->
pos = getRandom<pos_type>();
96 p->
dir = getRandom<dir_type>();
98 p->
type = getRandom<int>(0, 1000);
99 p->
origin = getRandom<int>(0, 1000);
108 operator int()
const {
return type; }
121 using namespace JAANET;
127 const JParticle& particle = pdb[getRandom<int>(0, pdb.size())];
146 p->
id = getRandom<int>(0, 1000);
147 p->
pos = getRandom<pos_type>();
148 p->
dir = getRandom<dir_type>();
149 p->
t = getRandom<double>(0.0, 1.0e6, 1.0);
150 p->
E = getRandom<double>(1.0, 1.0e6, 1.0);
152 p->
len = getRandom<double>();
153 p->
lik = getRandom<double>();
155 p->
type = getRandom<pdg_type>();
171 p->
id = getRandom<int>(0, 1000);
172 p->
det_id = getRandom<int>(0, 1000);
174 p->
mc_id = getRandom<int>(0, 1000);
176 p->
run_id = getRandom<int>(0, 1000);
183 for (
int i = getRandom<int>(1, 1000); i != 0; --i) {
184 p->
mc_hits.push_back(getRandom<Hit>());
187 for (
int i = getRandom<int>(1, 100); i != 0; --i) {
188 p->
mc_trks.push_back(getRandom<Trk>());
193 for (
int i = getRandom<int>(1, 1000); i != 0; --i) {
194 p->
hits.push_back(getRandom<Hit>());
197 for (
int i = getRandom<int>(1, 100); i != 0; --i) {
198 p->
trks.push_back(getRandom<Trk>());
213 return (first.
id == second.
id &&
215 first.
tdc == second.
tdc &&
216 first.
tot == second.
tot &&
219 first.
t == second.
t &&
220 first.
a == second.
a &&
221 first.
pos == second.
pos &&
222 first.
dir == second.
dir &&
237 return (first.
id == second.
id &&
238 first.
pos == second.
pos &&
239 first.
dir == second.
dir &&
240 first.
t == second.
t &&
241 first.
E == second.
E &&
242 first.
len == second.
len &&
243 first.
lik == second.
lik &&
262 return (first.
id == second.
id &&
double t
track time [ns] (when the particle is at pos )
std::string comment
use as you like
int pmt_id
global PMT identifier as found in evt files
ULong64_t trigger_counter
trigger counter
Definition of random value generator.
unsigned int tdc
hit tdc (=time in ns)
static bool use_root
Global file format parameter.
double E
Energy [GeV] (either MC truth or reconstructed)
int origin
track id of the track that created this hit
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
static const JPDB & getInstance()
Get particle data book.
double a
hit amplitude (in p.e.)
int frame_index
from the raw data
bool operator==(Packet const &p, ID const &id)
The Vec class is a straightforward 3-d vector, which also works in pyroot.
Type definition for direction.
int mc_run_id
MC run identifier.
std::vector< int > hit_ids
list of associated hit-ids (corresponds to Hit::id).
int mc_id
identifier of the MC event (as found in ascii or antcc file).
std::vector< double > fitinf
place to store additional fit info, for jgandalf, see JFitParameters.hh
double len
length, if applicable [m]
int run_id
DAQ run identifier.
Vec dir
hit direction; i.e. direction of the PMT
int det_id
detector identifier from DAQ
int type
MC: particle type in PDG encoding.
Auxiliary class to handle particle name, codes and mass.
Vec pos
postion of the track at time t [m]
std::vector< Trk > trks
list of reconstructed tracks (can be several because of prefits,showers, etc).
int geant
GEANT code of particle.
std::vector< int > rec_stages
list of identifyers of succesfull fitting stages resulting in this track
std::vector< double > error_matrix
(NxN) error covariance matrix for fit parameters (stored as linear vector)
ULong64_t trig
non-zero if the hit is a trigger hit.
double lik
likelihood or lambda value (for aafit, lambda)
std::vector< Hit > mc_hits
MC: list of MC truth hits.
double t
hit time (from tdc+calibration or MC truth)
int dom_id
module identifier from the data (unique in the detector).
unsigned int tot
tot value as stored in raw data (int for pyroot)
T getRandom()
Get random value.
int id
offline event identifier
unsigned int channel_id
PMT channel id {0,1, .., 30} local to moduke.
std::vector< Hit > hits
list of hits
int pdg
PDG code of particle.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
int type
particle type or parametrisation used for hit (mc only)
void randomize(Vec *p)
Randomize 3D vector.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
Type definition for position.
ULong64_t trigger_mask
trigger mask from raw data (i.e. the trigger bits)
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
int rec_type
identifyer for the overall fitting algorithm/chain/strategy