1 #ifndef SimDataFormats_SimCluster_h 2 #define SimDataFormats_SimCluster_h 105 float p()
const {
return p4().P(); }
111 float et()
const {
return p4().Et(); }
120 float mt()
const {
return p4().Mt(); }
128 float px()
const {
return p4().Px(); }
132 float py()
const {
return p4().Py(); }
136 float pz()
const {
return p4().Pz(); }
140 float pt()
const {
return p4().Pt(); }
144 float phi()
const {
return p4().Phi(); }
152 float eta()
const {
return p4().Eta(); }
189 std::vector<std::pair<uint32_t, float>>
result;
190 for (
size_t i = 0;
i <
hits_.size(); ++
i) {
198 std::vector<std::pair<uint32_t, float>>
result;
199 for (
size_t i = 0;
i <
hits_.size(); ++
i) {
210 std::vector<std::pair<uint32_t, float>>
result;
211 for (
size_t i = 0;
i <
hits_.size(); ++
i) {
223 std::vector<std::pair<uint32_t, float>>
result;
225 for (
size_t i = 0;
i <
hits_.size(); ++
i) {
266 #endif // SimDataFormats_SimCluster_H float phi() const
Momentum azimuthal angle. Note this is taken from the first SimTrack only.
float pz() const
z coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
float et() const
Transverse energy. Note this is taken from the first SimTrack only.
bool empty() const
Is the RefVector empty.
void addG4Track(const SimTrack &t)
math::XYZTLorentzVectorD LorentzVector
Lorentz vector.
int status() const
Status word.
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::vector< std::pair< uint32_t, float > > endcap_hits_and_fractions() const
Returns list of rechit IDs and fractions in the endcap for this SimCluster.
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.
float massSqr() const
Mass squared. Note this is taken from the first SimTrack only.
math::XYZVectorF momentum() const
spatial momentum vector
math::XYZPointD Point
point in the space
float eta() const
Momentum pseudorapidity. Note this is taken from the simtrack before the calorimeter.
math::XYZVectorD Vector
point in the space
g4t_iterator g4Track_begin() const
friend std::ostream & operator<<(std::ostream &s, SimCluster const &tp)
std::vector< SimTrack >::const_iterator g4t_iterator
int Charge
electric charge type
void addGenParticle(const reco::GenParticleRef &ref)
uint64_t particleId() const
float mtSqr() const
Transverse 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 SimCluster.
float y() const
Same as rapidity().
float simEnergy() const
returns the accumulated sim energy in the cluster
void addRecHitAndFraction(uint32_t hit, float fraction)
add rechit with fraction
void swap(Association< C > &lhs, Association< C > &rhs)
float py() const
y coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
int numberOfRecHits() const
Gives the total number of SimHits, in the cluster.
void clearHitsEnergy()
clear the energies list
std::vector< uint32_t > hits_
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
float charge() const
Electric charge. 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 theta() const
Momentum polar angle. Note this is taken from the first SimTrack only.
float mass() const
Mass. Note this is taken from the first SimTrack only.
void clearHitsAndFractions()
clear the hits and fractions list
std::vector< std::pair< uint32_t, float > > barrel_hits_and_fractions() const
Returns list of rechit IDs and fractions in the barrel for this SimCluster.
reco::GenParticleRefVector::iterator genp_iterator
reference to reco::GenParticle
float pt() const
Transverse momentum. Note this is taken from the first SimTrack only.
g4t_iterator g4Track_end() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
int threeCharge() const
Gives charge in unit of quark charge (should be 3 times "charge()")
std::vector< float > fractions_
float px() const
x coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
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
const reco::GenParticleRefVector & genParticles() const
const_iterator end() const
Termination of iteration.
genp_iterator genParticle_end() const
genp_iterator genParticle_begin() const
iterators
bool longLived() const
is long lived?
float energy() const
Energy. Note this is taken from the first SimTrack only.
void addSimHit(const PCaloHit &hit)
add simhit's energy to cluster
float mt() const
Transverse mass. Note this is taken from the first SimTrack only.
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
std::vector< std::pair< uint32_t, float > > hits_and_energies() const
Returns list of rechit IDs and energies for this SimCluster.
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_
float rapidity() const
Rapidity. Note this is taken from the simtrack before the calorimeter.
const_iterator begin() const
Initialize an iterator over the RefVector.
int numberOfSimHits() const
Gives the total number of SimHits, in the cluster.
float p() const
Magnitude of momentum vector. Note this is taken from the first SimTrack only.
Power< A, B >::type pow(const A &a, const B &b)
const std::vector< SimTrack > & g4Tracks() const
std::vector< float > energies_
static const unsigned int longLivedTag
long lived flag
math::XYZTLorentzVectorF theMomentum_
EncodedEventId eventId() const
Signal source, crossing number.
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.