Go to the documentation of this file. 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) {
207 #endif // SimDataFormats_CaloParticle_H
void clear()
Clear the vector.
std::vector< float > fractions_
float mt() const
Transverse mass. 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.
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
SimClusterRefVector simClusters_
math::XYZTLorentzVectorF theMomentum_
float mtSqr() const
Transverse mass squared. Note this is taken from the first SimTrack only.
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > XYZTLorentzVectorF
Lorentz vector with cylindrical internal representation using pseudorapidity.
EncodedEventId eventId() const
Signal source, crossing number.
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
const_iterator begin() const
Initialize an iterator over the RefVector.
float pz() const
z coordinate of momentum vector. Note this is taken from the first SimTrack only.
std::vector< uint32_t > hits_
float mass() const
Mass. Note this is taken from the first SimTrack only.
const reco::GenParticleRefVector & genParticles() const
const std::vector< SimTrack > & g4Tracks() const
float energy() const
Energy. Note this is taken from the first SimTrack only.
static const unsigned int longLivedTag
long lived flag
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 simEnergy() const
returns the accumulated sim energy in the cluster
float theta() const
Momentum polar angle. Note this is taken from the first SimTrack only.
const_iterator end() const
Termination of iteration.
void addSimCluster(const SimClusterRef &ref)
bool longLived() const
is long lived?
math::XYZVectorF boostToCM() const
Vector to boost to the particle centre of mass frame.
bool empty() const
Is the RefVector empty.
math::XYZTLorentzVectorD LorentzVector
Lorentz vector.
SimClusterRefVector::iterator sc_iterator
reco::GenParticleRefVector genParticles_
float py() const
y coordinate of momentum vector. Note this is taken from the first SimTrack only.
float phi() const
Momentum azimuthal angle. Note this is taken from the first SimTrack only.
math::XYZVectorD Vector
point in the space
std::vector< SimTrack >::const_iterator g4t_iterator
reco::GenParticleRefVector::iterator genp_iterator
reference to reco::GenParticle
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
float rapidity() const
Rapidity. Note this is taken from the simtrack before the calorimeter.
friend std::ostream & operator<<(std::ostream &s, CaloParticle const &tp)
float p() const
Magnitude of momentum vector. Note this is taken from the first SimTrack only.
genp_iterator genParticle_end() const
math::XYZPointD Point
point in the space
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > XYZPointD
point in space with cartesian internal representation
g4t_iterator g4Track_begin() const
sc_iterator simCluster_begin() const
float charge() const
Electric charge. Note this is taken from the first SimTrack only.
int numberOfRecHits() const
Gives the total number of SimHits, in the cluster.
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
float pt() const
Transverse momentum. Note this is taken from the first SimTrack only.
genp_iterator genParticle_begin() const
iterators
g4t_iterator g4Track_end() const
sc_iterator simCluster_end() const
math::XYZVectorF momentum() const
spatial momentum vector
float et() const
Transverse energy. Note this is taken from the first SimTrack only.
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
int Charge
electric charge type
unsigned long long uint64_t
Power< A, B >::type pow(const A &a, const B &b)
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
int numberOfSimHits() const
Gives the total number of SimHits, in the cluster.
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
const SimClusterRefVector & simClusters() const
float y() const
Same as rapidity().
float massSqr() const
Mass squared. Note this is taken from the first SimTrack only.
int status() const
Status word.
float px() const
x coordinate of momentum vector. 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 addG4Track(const SimTrack &t)
void addRecHitAndFraction(uint32_t hit, float fraction)
add rechit with fraction