23 closestDaughterId_(-1),
25 properDecayTime(1E99) {
44 closestDaughterId_(-1),
45 momentum_(
p->momentum()),
75 closestDaughterId_(-1),
149 XYZVector vertex1 =
t.vertex().position().Vect();
150 int vertexId1 =
t.vertex().id();
153 o.setf(std::ios::right, std::ios::adjustfield);
155 o << std::setw(4) <<
t.id() <<
"; " << std::setw(4) <<
t.genpartIndex() <<
"; " <<
name <<
"\n\t\t";
159 o <<
"Position: " << std::setw(6) << std::setprecision(2) << momentum1.eta() <<
"; " << std::setw(6)
160 << std::setprecision(2) << momentum1.phi() <<
"; " << std::setw(6) << std::setprecision(2) << momentum1.pt() <<
"; " 161 << std::setw(6) << std::setprecision(2) << momentum1.e() <<
"; " << std::setw(4) << vertexId1 <<
"; " 162 << std::setw(6) << std::setprecision(1) << vertex1.x() <<
"; " << std::setw(6) << std::setprecision(1)
163 << vertex1.y() <<
"; " << std::setw(6) << std::setprecision(1) << vertex1.z() <<
"; " << std::setw(4)
164 << (
t.particleInfo() ? (
t.noMother() ? -1 :
t.mother().id()) : -1) <<
"; " 167 if (!
t.noEndVertex()) {
169 int vertexId2 =
t.endVertex().id();
171 o <<
"Decayed particle: " << std::setw(4) << vertexId2 <<
"; " << std::setw(6) << std::setprecision(2)
172 << vertex2.eta() <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " << std::setw(5)
173 << std::setprecision(1) << vertex2.pt() <<
"; " << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; ";
174 for (
int i = 0;
i <
t.nDaughters(); ++
i)
175 o << std::setw(4) <<
t.daughter(
i).id() <<
"; " 182 o <<
"Layer 1: " << std::setw(4) << -
t.onLayer1() <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.eta()
183 <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " << std::setw(5) << std::setprecision(1)
184 << vertex2.pt() <<
"; " << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " << std::setw(6)
185 << std::setprecision(2) <<
t.layer1Entrance().pt() <<
"; " << std::setw(6) << std::setprecision(2)
186 <<
t.layer1Entrance().e() <<
"; " 192 o <<
"Layer 2: " << std::setw(4) << -
t.onLayer2() <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.eta()
193 <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " << std::setw(5) << std::setprecision(1)
194 << vertex2.pt() <<
"; " << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " << std::setw(6)
195 << std::setprecision(2) <<
t.layer2Entrance().pt() <<
"; " << std::setw(6) << std::setprecision(2)
196 <<
t.layer2Entrance().e() <<
"; " 203 o <<
"ECAL: " << std::setw(4) << -
t.onEcal() <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.eta()
204 <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " << std::setw(5) << std::setprecision(1)
205 << vertex2.pt() <<
"; " << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " << std::setw(6)
206 << std::setprecision(2) <<
t.ecalEntrance().pt() <<
"; " << std::setw(6) << std::setprecision(2)
207 <<
t.ecalEntrance().e() <<
"; " 212 vertex2 =
t.hcalEntrance().vertex();
214 o <<
"HCAL: " << std::setw(4) << -
t.onHcal() <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.eta()
215 <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " << std::setw(5) << std::setprecision(1)
216 << vertex2.pt() <<
"; " << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " << std::setw(6)
217 << std::setprecision(2) <<
t.hcalEntrance().pt() <<
"; " << std::setw(6) << std::setprecision(2)
218 <<
t.hcalEntrance().e() <<
"; " 223 vertex2 =
t.vfcalEntrance().vertex();
225 o <<
"VFCAL: " << std::setw(4) << -
t.onVFcal() <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.eta()
226 <<
"; " << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " << std::setw(5) << std::setprecision(1)
227 << vertex2.pt() <<
"; " << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " << std::setw(6)
228 << std::setprecision(2) <<
t.vfcalEntrance().pt() <<
"; " << std::setw(6) << std::setprecision(2)
229 <<
t.vfcalEntrance().e() <<
"; "
RawParticle Layer1_Entrance
const HepPDT::ParticleData * info_
RawParticle VFCAL_Entrance
virtual ~FSimTrack()
Destructor.
void setEcal(const RawParticle &pp, int success)
Set the ecal variables.
void setPropagate()
The particle has been propgated through the tracker.
void setLayer2(const RawParticle &pp, int success)
Set the preshower layer2 variables.
bool noEndVertex() const
no end vertex
const FSimVertex vertex() const
Origin vertex.
const FSimVertex & endVertex() const
end vertex
const HepPDT::ParticleDataTable * theTable() const
Get the pointer to the particle data table.
int type() const
particle type (HEP PDT convension)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
void setLayer1(const RawParticle &pp, int success)
Set the preshower layer1 variables.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
bool notYetToEndVertex(const XYZTLorentzVector &pos) const
Compare the end vertex position with another position.
FSimTrack()
Default constructor.
RawParticle HCAL_Entrance
void setTrackId(unsigned int t)
void setHcalExit(const RawParticle &pp, int success)
Set the hcal exit variables.
static int position[264][3]
void setHO(const RawParticle &pp, int success)
Set the ho variables.
void setVFcal(const RawParticle &pp, int success)
Set the hcal variables.
RawParticle Layer2_Entrance
void setHcal(const RawParticle &pp, int success)
Set the hcal variables.
math::XYZVector XYZVector
RawParticle ECAL_Entrance
std::ostream & operator<<(std::ostream &o, const FSimTrack &t)
math::XYZTLorentzVector XYZTLorentzVector