hpstr
The Heavy Photon Search Toolkit for Reconstruction (hpstr) provides an interface to physics data from the HPS experiment saved in the LCIO format and converts it into an ROOT based format.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Particle.h
Go to the documentation of this file.
1
7#ifndef _PARTICLE_H_
8#define _PARTICLE_H_
9
10//----------//
11// ROOT //
12//----------//
13#include <TClonesArray.h>
14#include <TObject.h>
15#include <TRef.h>
16#include <TRefArray.h>
17
18//----------//
19// hpstr //
20//----------//
21#include "Track.h"
22#include "CalCluster.h"
23
24class Particle : public TObject {
25
26 public:
27
30
32 ~Particle();
33
35 void Clear(Option_t *option="");
36
42 void setTrack(Track* track) { track_ = *track; }
43
48 Track getTrack() const { return track_; }
49
56 void setCluster(CalCluster* cluster) {cluster_ = *cluster;}
57
62 CalCluster getCluster() const { return cluster_; };
63
70 void addParticle(Particle* particle);
71
77 void setCharge(const int charge) { charge_ = charge; };
78
84 void setGoodnessOfPID(const double goodness_pid) { goodness_pid_ = goodness_pid; };
85
91 void setType(const int type) { type_ = type; };
92
98 void setPDG(const int pdg) { pdg_ = pdg; };
99
105 void setEnergy(const double energy) { energy_ = energy; };
106
112 void setMass(const double mass) { mass_ = mass; };
113
120 void setMomentum(const double* momentum);
121
128 void setCorrMomentum(const double* momentum);
129
131 int getCharge() const { return charge_; };
132
134 double getGoodnessOfPID() const { return goodness_pid_; };
135
137 int getType() const { return type_; };
138
140 int getPDG() const { return pdg_; };
141
143 double getEnergy() const { return energy_; };
144
146 double getP() const {return sqrt(px_*px_ + py_*py_ + pz_*pz_);};
147
149 double getMass() const { return mass_; };
150
152 std::vector<double> getMomentum() const;
153
155 std::vector<double> getCorrMomentum() const;
156
158 std::vector<double> getVertexPosition() const;
159
161
162 private:
163
166
169
171 int charge_{-9999};
172
174 int type_{-9999};
175
177 int pdg_{-9999};
178
180 double goodness_pid_{-9999};
181
183 double px_{-9999};
184
186 double px_corr_{-9999};
187
189 double py_{-9999};
190
192 double py_corr_{-9999};
193
195 double pz_{-9999};
196
198 double pz_corr_{-9999};
199
201 double energy_{-9999};
202
204 double mass_{-9999};
205
206}; // Particle
207
208#endif // _PARTICLE_H_
Class used to encapsulate track information.
double energy_
Definition Particle.h:201
int type_
Definition Particle.h:174
double py_corr_
Definition Particle.h:192
Track getTrack() const
Definition Particle.h:48
std::vector< double > getMomentum() const
Definition Particle.cxx:29
double mass_
Definition Particle.h:204
double px_
Definition Particle.h:183
CalCluster getCluster() const
Definition Particle.h:62
double goodness_pid_
Definition Particle.h:180
Track track_
Definition Particle.h:165
void setGoodnessOfPID(const double goodness_pid)
Definition Particle.h:84
void setPDG(const int pdg)
Definition Particle.h:98
void setMass(const double mass)
Definition Particle.h:112
std::vector< double > getVertexPosition() const
double getEnergy() const
Definition Particle.h:143
double py_
Definition Particle.h:189
double px_corr_
Definition Particle.h:186
std::vector< double > getCorrMomentum() const
Definition Particle.cxx:37
void setCharge(const int charge)
Definition Particle.h:77
int pdg_
Definition Particle.h:177
int getCharge() const
Definition Particle.h:131
void setType(const int type)
Definition Particle.h:91
void Clear(Option_t *option="")
Definition Particle.cxx:19
void setMomentum(const double *momentum)
Definition Particle.cxx:23
void setTrack(Track *track)
Definition Particle.h:42
void setEnergy(const double energy)
Definition Particle.h:105
int getPDG() const
Definition Particle.h:140
double pz_corr_
Definition Particle.h:198
void setCorrMomentum(const double *momentum)
Definition Particle.cxx:31
int charge_
Definition Particle.h:171
double pz_
Definition Particle.h:195
void setCluster(CalCluster *cluster)
Definition Particle.h:56
ClassDef(Particle, 1)
double getGoodnessOfPID() const
Definition Particle.h:134
int getType() const
Definition Particle.h:137
void addParticle(Particle *particle)
double getP() const
Definition Particle.h:146
CalCluster cluster_
Definition Particle.h:168
double getMass() const
Definition Particle.h:149
Definition Track.h:32