11 layer1(0), layer2(0),
ecal(0),
hcal(0), vfcal(0), hcalexit(0), hoentr(0),
13 properDecayTime(1E99) {;}
16 int iv,
int ig,
int id,
125 o.setf(std::ios::right, std::ios::adjustfield);
127 o << std::setw(4) << t.
id() <<
"; " 134 << std::setw(6) << std::setprecision(2) << momentum1.eta() <<
"; " 135 << std::setw(6) << std::setprecision(2) << momentum1.phi() <<
"; " 136 << std::setw(6) << std::setprecision(2) << momentum1.pt() <<
"; " 137 << std::setw(6) << std::setprecision(2) << momentum1.e() <<
"; " 138 << std::setw(4) << vertexId1 <<
"; " 139 << std::setw(6) << std::setprecision(1) << vertex1.x() <<
"; " 140 << std::setw(6) << std::setprecision(1) << vertex1.y() <<
"; " 141 << std::setw(6) << std::setprecision(1) << vertex1.z() <<
"; " 148 o <<
"Decayed particle: " 149 << std::setw(4) << vertexId2 <<
"; " 150 << std::setw(6) << std::setprecision(2) << vertex2.eta() <<
"; " 151 << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " 152 << std::setw(5) << std::setprecision(1) << vertex2.pt() <<
"; " 153 << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; ";
155 o << std::setw(4) << t.
daughter(
i).
id() <<
"; " <<
"\n\t\t";
164 << std::setw(4) << -t.
onLayer1() <<
"; " 165 << std::setw(6) << std::setprecision(2) << vertex2.eta() <<
"; " 166 << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " 167 << std::setw(5) << std::setprecision(1) << vertex2.pt() <<
"; " 168 << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " 169 << std::setw(6) << std::setprecision(2) << t.
layer1Entrance().pt() <<
"; " 170 << std::setw(6) << std::setprecision(2) << t.
layer1Entrance().e() <<
"; " <<
"\n\t\t";
177 << std::setw(4) << -t.
onLayer2() <<
"; " 178 << std::setw(6) << std::setprecision(2) << vertex2.eta() <<
"; " 179 << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " 180 << std::setw(5) << std::setprecision(1) << vertex2.pt() <<
"; " 181 << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " 182 << std::setw(6) << std::setprecision(2) << t.
layer2Entrance().pt() <<
"; " 183 << std::setw(6) << std::setprecision(2) << t.
layer2Entrance().e() <<
"; " <<
"\n\t\t";
191 << std::setw(4) << -t.
onEcal() <<
"; " 192 << std::setw(6) << std::setprecision(2) << vertex2.eta() <<
"; " 193 << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " 194 << std::setw(5) << std::setprecision(1) << vertex2.pt() <<
"; " 195 << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " 196 << std::setw(6) << std::setprecision(2) << t.
ecalEntrance().pt() <<
"; " 197 << std::setw(6) << std::setprecision(2) << t.
ecalEntrance().e() <<
"; " <<
"\n\t\t";
204 << std::setw(4) << -t.
onHcal() <<
"; " 205 << std::setw(6) << std::setprecision(2) << vertex2.eta() <<
"; " 206 << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " 207 << std::setw(5) << std::setprecision(1) << vertex2.pt() <<
"; " 208 << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " 209 << std::setw(6) << std::setprecision(2) << t.
hcalEntrance().pt() <<
"; " 210 << std::setw(6) << std::setprecision(2) << t.
hcalEntrance().e() <<
"; " <<
"\n\t\t";
217 << std::setw(4) << -t.
onVFcal() <<
"; " 218 << std::setw(6) << std::setprecision(2) << vertex2.eta() <<
"; " 219 << std::setw(6) << std::setprecision(2) << vertex2.phi() <<
"; " 220 << std::setw(5) << std::setprecision(1) << vertex2.pt() <<
"; " 221 << std::setw(6) << std::setprecision(1) << vertex2.z() <<
"; " 222 << std::setw(6) << std::setprecision(2) << t.
vfcalEntrance().pt() <<
"; " 223 << std::setw(6) << std::setprecision(2) << t.
vfcalEntrance().e() <<
"; " <<
"\n\t\t";
int id() const
the index in FBaseSimEvent
bool noEndVertex() const
no end vertex
float charge() const
charge
const HepPDT::ParticleData * particleInfo() const
particle info...
const RawParticle & vfcalEntrance() const
The particle at VFCAL entrance.
const FSimVertex & endVertex() const
end vertex
RawParticle Layer1_Entrance
const HepPDT::ParticleData * info_
RawParticle VFCAL_Entrance
const XYZTLorentzVector & momentum() const
Temporary (until move of SimTrack to Mathcore) - No! Actually very useful.
virtual ~FSimTrack()
Destructor.
const HepPDT::ParticleDataTable * theTable() const
Get the pointer to the particle data table.
const RawParticle & layer1Entrance() const
The particle at Preshower Layer 1.
const FSimTrack & daughter(int i) const
Ith daughter.
void setEcal(const RawParticle &pp, int success)
Set the ecal variables.
void setPropagate()
The particle has been propgated through the tracker.
int nDaughters() const
Number of daughters.
void setLayer2(const RawParticle &pp, int success)
Set the preshower layer2 variables.
bool notYetToEndVertex(const XYZTLorentzVector &pos) const
Compare the end vertex position with another position.
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
math::XYZVector XYZVector
const math::XYZTLorentzVector & position() const
Temporary (until CMSSW moves to Mathcore) - No ! Actually very useful.
int genpartIndex() const
index of the corresponding Generator particle in the Event container (-1 if no Genpart) ...
const RawParticle & ecalEntrance() const
The particle at ECAL entrance.
FSimTrack()
Default constructor.
const XYZTLorentzVector & vertex() const
the vertex fourvector
RawParticle HCAL_Entrance
void setTrackId(unsigned int t)
void setHcalExit(const RawParticle &pp, int success)
Set the hcal exit variables.
int type() const
particle type (HEP PDT convension)
XYZTLorentzVector momentum_
static int position[264][3]
int id() const
the index in FBaseSimEvent and other vectors
const RawParticle & layer2Entrance() const
The particle at Preshower Layer 2.
void setHO(const RawParticle &pp, int success)
Set the ho variables.
void setVFcal(const RawParticle &pp, int success)
Set the hcal variables.
bool noMother() const
no mother particle
const RawParticle & hcalEntrance() const
The particle at HCAL entrance.
RawParticle Layer2_Entrance
void setHcal(const RawParticle &pp, int success)
Set the hcal variables.
const FSimVertex vertex() const
Origin vertex.
RawParticle ECAL_Entrance
const FSimTrack & mother() const
mother
std::ostream & operator<<(std::ostream &o, const FSimTrack &t)
math::XYZTLorentzVector XYZTLorentzVector