1 #ifndef SimDataFormats_CaloParticle_h 2 #define SimDataFormats_CaloParticle_h 95 float p()
const {
return p4().P(); }
101 float et()
const {
return p4().Et(); }
110 float mt()
const {
return p4().Mt(); }
118 float px()
const {
return p4().Px(); }
122 float py()
const {
return p4().Py(); }
126 float pz()
const {
return p4().Pz(); }
130 float pt()
const {
return p4().Pt(); }
134 float phi()
const {
return p4().Phi(); }
142 float eta()
const {
return p4().Eta(); }
176 std::vector<std::pair<uint32_t, float>>
result;
177 for (
size_t i = 0;
i <
hits_.size(); ++
i) {
210 #endif // SimDataFormats_CaloParticle_H const reco::GenParticleRefVector & genParticles() const
bool empty() const
Is the RefVector empty.
int Charge
electric charge type
std::vector< uint32_t > hits_
const std::vector< SimTrack > & g4Tracks() const
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
const SimClusterRefVector & simClusters() const
bool longLived() const
is long lived?
int status() const
Status word.
SimClusterRefVector::iterator sc_iterator
float px() const
x coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
void addG4Track(const SimTrack &t)
void addRecHitAndFraction(uint32_t hit, float fraction)
add rechit with fraction
math::XYZTLorentzVectorD LorentzVector
Lorentz vector.
reco::GenParticleRefVector genParticles_
std::vector< float > fractions_
math::XYZVectorD Vector
point in the space
float py() const
y coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
float mt() const
Transverse mass. Note this is taken from the first SimTrack only.
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
SimClusterRefVector simClusters_
std::vector< SimTrack >::const_iterator g4t_iterator
math::XYZTLorentzVectorF theMomentum_
math::XYZPointD Point
point in the space
reco::GenParticleRefVector::iterator genp_iterator
reference to reco::GenParticle
float rapidity() const
Rapidity. Note this is taken from the simtrack before the calorimeter.
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
float energy() const
Energy. Note this is taken from the first SimTrack only.
static const unsigned int longLivedTag
long lived flag
float pz() const
z coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
int numberOfRecHits() const
Gives the total number of SimHits, in the cluster.
void addGenParticle(const reco::GenParticleRef &ref)
void addSimHit(const PCaloHit &hit)
add simhit's energy to cluster
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
float pt() const
Transverse momentum. Note this is taken from the first SimTrack only.
float simEnergy() const
returns the accumulated sim energy in the cluster
math::XYZVectorF boostToCM() const
Vector to boost to the particle centre of mass frame.
sc_iterator simCluster_end() const
float theta() const
Momentum polar angle. Note this is taken from the first SimTrack only.
void addSimCluster(const SimClusterRef &ref)
int threeCharge() const
Gives charge in unit of quark charge (should be 3 times "charge()")
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
float phi() const
Momentum azimuthal angle. Note this is taken from the first SimTrack only.
float et() const
Transverse energy. Note this is taken from the first SimTrack only.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > XYZPointD
point in space with cartesian internal representation
friend std::ostream & operator<<(std::ostream &s, CaloParticle const &tp)
unsigned long long uint64_t
void clear()
Clear the vector.
float p() const
Magnitude of momentum vector. Note this is taken from the first SimTrack only.
int numberOfSimHits() const
Gives the total number of SimHits, in the cluster.
const_iterator end() const
Termination of iteration.
g4t_iterator g4Track_begin() const
sc_iterator simCluster_begin() const
genp_iterator genParticle_end() const
float y() const
Same as rapidity().
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
float charge() const
Electric charge. Note this is taken from the first SimTrack only.
float massSqr() const
Mass squared. Note this is taken from the first SimTrack only.
std::vector< std::pair< uint32_t, float > > hits_and_fractions() const
Returns list of rechit IDs and fractions for this CaloParticle.
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > XYZTLorentzVectorF
Lorentz vector with cylindrical internal representation using pseudorapidity.
g4t_iterator g4Track_end() const
const_iterator begin() const
Initialize an iterator over the RefVector.
float mtSqr() const
Transverse mass squared. Note this is taken from the first SimTrack only.
uint64_t particleId() const
float eta() const
Momentum pseudorapidity. Note this is taken from the simtrack before the calorimeter.
genp_iterator genParticle_begin() const
iterators
math::XYZVectorF momentum() const
spatial momentum vector
Power< A, B >::type pow(const A &a, const B &b)
EncodedEventId eventId() const
Signal source, crossing number.
float mass() const
Mass. Note this is taken from the first SimTrack only.