1 #ifndef SimDataFormats_SimCluster_h
2 #define SimDataFormats_SimCluster_h
101 float p()
const {
return p4().P(); }
107 float et()
const {
return p4().Et(); }
116 float mt()
const {
return p4().Mt(); }
124 float px()
const {
return p4().Px(); }
128 float py()
const {
return p4().Py(); }
132 float pz()
const {
return p4().Pz(); }
136 float pt()
const {
return p4().Pt(); }
140 float phi()
const {
return p4().Phi(); }
148 float eta()
const {
return p4().Eta(); }
176 hits_.emplace_back(hit);
185 std::vector<std::pair<uint32_t, float>>
result;
186 for (
size_t i = 0;
i <
hits_.size(); ++
i) {
195 std::vector<std::pair<uint32_t, float>>
result;
196 result.reserve(
hits_.size());
197 for (
size_t i = 0;
i <
hits_.size(); ++
i) {
238 #endif // SimDataFormats_SimCluster_H
float y() const
Same as rapidity().
void addG4Track(const SimTrack &t)
float mt() const
Transverse mass. Note this is taken from the first SimTrack only.
math::XYZTLorentzVectorD LorentzVector
Lorentz vector.
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
float phi() const
Momentum azimuthal angle. Note this is taken from the first SimTrack only.
float massSqr() const
Mass squared. Note this is taken from the first SimTrack only.
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()")
math::XYZPointD Point
point in the space
float rapidity() const
Rapidity. Note this is taken from the simtrack before the calorimeter.
int pdgId() const
PDG ID.
math::XYZVectorD Vector
point in the space
friend std::ostream & operator<<(std::ostream &s, SimCluster const &tp)
std::vector< SimTrack >::const_iterator g4t_iterator
uint64_t particleId() const
int Charge
electric charge type
void addGenParticle(const reco::GenParticleRef &ref)
EncodedEventId eventId() const
Signal source, crossing number.
const_iterator end() const
Termination of iteration.
bool empty() const
Is the RefVector empty.
void addRecHitAndFraction(uint32_t hit, float fraction)
add rechit with fraction
void swap(Association< C > &lhs, Association< C > &rhs)
const_iterator begin() const
Initialize an iterator over the RefVector.
void clearHitsEnergy()
clear the energies list
genp_iterator genParticle_end() const
std::vector< uint32_t > hits_
float pz() const
z coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
float pt() const
Transverse momentum. Note this is taken from the first SimTrack only.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
Monte Carlo truth information used for tracking validation.
float py() const
y coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
math::XYZVectorF momentum() const
spatial momentum vector
float p() const
Magnitude of momentum vector. Note this is taken from the first SimTrack only.
bool longLived() const
is long lived?
void clearHitsAndFractions()
clear the hits and fractions list
std::vector< std::pair< uint32_t, float > > hits_and_energies() const
Returns list of rechit IDs and energies for this SimCluster.
reco::GenParticleRefVector::iterator genp_iterator
reference to reco::GenParticle
float energy() const
Energy. Note this is taken from the first SimTrack only.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
std::vector< float > fractions_
float theta() const
Momentum polar angle. Note this is taken from the first SimTrack only.
float simEnergy() const
returns the accumulated sim energy in the cluster
float charge() const
Electric charge. Note this is taken from the first SimTrack only.
float px() const
x coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
int numberOfSimHits() const
Gives the total number of SimHits, in the cluster.
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > XYZPointD
point in space with cartesian internal representation
unsigned long long uint64_t
int status() const
Status word.
float mtSqr() const
Transverse mass squared. Note this is taken from the first SimTrack only.
const std::vector< SimTrack > & g4Tracks() const
void addSimHit(const PCaloHit &hit)
add simhit's energy to cluster
g4t_iterator g4Track_begin() const
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
float mass() const
Mass. Note this is taken from the first SimTrack only.
const reco::GenParticleRefVector & genParticles() const
void addHitEnergy(float energy)
add rechit energy
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > XYZTLorentzVectorF
Lorentz vector with cylindrical internal representation using pseudorapidity.
reco::GenParticleRefVector genParticles_
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
math::XYZVectorF boostToCM() const
Vector to boost to the particle centre of mass frame.
int numberOfRecHits() const
Gives the total number of SimHits, in the cluster.
genp_iterator genParticle_begin() const
iterators
Power< A, B >::type pow(const A &a, const B &b)
g4t_iterator g4Track_end() const
std::vector< std::pair< uint32_t, float > > hits_and_fractions() const
Returns list of rechit IDs and fractions for this SimCluster.
std::vector< float > energies_
static const unsigned int longLivedTag
long lived flag
float eta() const
Momentum pseudorapidity. Note this is taken from the simtrack before the calorimeter.
math::XYZTLorentzVectorF theMomentum_
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.