CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Attributes | Friends
CaloParticle Class Reference

#include <CaloParticle.h>

Public Types

typedef int Charge
 electric charge type More...
 
typedef std::vector< SimTrack >::const_iterator g4t_iterator
 
typedef reco::GenParticleRefVector::iterator genp_iterator
 reference to reco::GenParticle More...
 
typedef math::XYZTLorentzVectorD LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPointD Point
 point in the space More...
 
typedef math::PtEtaPhiMLorentzVector PolarLorentzVector
 Lorentz vector. More...
 
typedef SimClusterRefVector::iterator sc_iterator
 
typedef math::XYZVectorD Vector
 point in the space More...
 

Public Member Functions

void addG4Track (const SimTrack &t)
 
void addGenParticle (const reco::GenParticleRef &ref)
 
void addRecHitAndFraction (uint32_t hit, float fraction)
 add rechit with fraction More...
 
void addSimCluster (const SimClusterRef &ref)
 
void addSimHit (const PCaloHit &hit)
 add simhit's energy to cluster More...
 
math::XYZVectorF boostToCM () const
 Vector to boost to the particle centre of mass frame. More...
 
 CaloParticle ()
 
 CaloParticle (const SimTrack &simtrk)
 
 CaloParticle (EncodedEventId eventID, uint32_t particleID)
 
float charge () const
 Electric charge. Note this is taken from the first SimTrack only. More...
 
float energy () const
 Energy. Note this is taken from the first SimTrack only. More...
 
float et () const
 Transverse energy. Note this is taken from the first SimTrack only. More...
 
float eta () const
 Momentum pseudorapidity. Note this is taken from the simtrack before the calorimeter. More...
 
EncodedEventId eventId () const
 Signal source, crossing number. More...
 
g4t_iterator g4Track_begin () const
 
g4t_iterator g4Track_end () const
 
const std::vector< SimTrack > & g4Tracks () const
 
genp_iterator genParticle_begin () const
 iterators More...
 
genp_iterator genParticle_end () const
 
const reco::GenParticleRefVectorgenParticles () const
 
std::vector< std::pair< uint32_t, float > > hits_and_fractions () const
 Returns list of rechit IDs and fractions for this CaloParticle. More...
 
bool longLived () const
 is long lived? More...
 
float mass () const
 Mass. Note this is taken from the first SimTrack only. More...
 
float massSqr () const
 Mass squared. Note this is taken from the first SimTrack only. More...
 
math::XYZVectorF momentum () const
 spatial momentum vector More...
 
float mt () const
 Transverse mass. Note this is taken from the first SimTrack only. More...
 
float mtSqr () const
 Transverse mass squared. Note this is taken from the first SimTrack only. More...
 
int numberOfRecHits () const
 Gives the total number of SimHits, in the cluster. More...
 
int numberOfSimHits () const
 Gives the total number of SimHits, in the cluster. More...
 
float p () const
 Magnitude of momentum vector. Note this is taken from the first SimTrack only. More...
 
const math::XYZTLorentzVectorFp4 () const
 Four-momentum Lorentz vector. Note this is taken from the first SimTrack only. More...
 
uint64_t particleId () const
 
int pdgId () const
 PDG ID. More...
 
float phi () const
 Momentum azimuthal angle. Note this is taken from the first SimTrack only. More...
 
float pt () const
 Transverse momentum. Note this is taken from the first SimTrack only. More...
 
float px () const
 x coordinate of momentum vector. Note this is taken from the first SimTrack only. More...
 
float py () const
 y coordinate of momentum vector. Note this is taken from the first SimTrack only. More...
 
float pz () const
 z coordinate of momentum vector. Note this is taken from the first SimTrack only. More...
 
float rapidity () const
 Rapidity. Note this is taken from the simtrack before the calorimeter. More...
 
sc_iterator simCluster_begin () const
 
sc_iterator simCluster_end () const
 
const SimClusterRefVectorsimClusters () const
 
float simEnergy () const
 returns the accumulated sim energy in the cluster More...
 
int status () const
 Status word. More...
 
float theta () const
 Momentum polar angle. Note this is taken from the first SimTrack only. More...
 
int threeCharge () const
 Gives charge in unit of quark charge (should be 3 times "charge()") More...
 
float y () const
 Same as rapidity(). More...
 
 ~CaloParticle ()
 

Static Public Attributes

static const unsigned int longLivedTag = 65536
 long lived flag More...
 

Private Attributes

EncodedEventId event_
 
std::vector< float > fractions_
 
std::vector< SimTrackg4Tracks_
 references to G4 and reco::GenParticle tracks More...
 
reco::GenParticleRefVector genParticles_
 
std::vector< uint32_t > hits_
 
uint64_t nsimhits_
 
uint32_t particleId_
 
SimClusterRefVector simClusters_
 
float simhit_energy_
 
math::XYZTLorentzVectorF theMomentum_
 

Friends

std::ostream & operator<< (std::ostream &s, CaloParticle const &tp)
 

Detailed Description

Definition at line 16 of file CaloParticle.h.

Member Typedef Documentation

typedef int CaloParticle::Charge

electric charge type

Definition at line 20 of file CaloParticle.h.

typedef std::vector<SimTrack>::const_iterator CaloParticle::g4t_iterator

Definition at line 28 of file CaloParticle.h.

reference to reco::GenParticle

Definition at line 27 of file CaloParticle.h.

Lorentz vector.

Definition at line 21 of file CaloParticle.h.

point in the space

Definition at line 23 of file CaloParticle.h.

Lorentz vector.

Definition at line 22 of file CaloParticle.h.

Definition at line 29 of file CaloParticle.h.

point in the space

Definition at line 24 of file CaloParticle.h.

Constructor & Destructor Documentation

CaloParticle::CaloParticle ( )

Definition at line 11 of file CaloParticle.cc.

12 {
13  // No operation
14 }
CaloParticle::CaloParticle ( const SimTrack simtrk)

Definition at line 16 of file CaloParticle.cc.

References addG4Track(), event_, CoreSimTrack::eventId(), CoreSimTrack::momentum(), particleId_, theMomentum_, and CoreSimTrack::trackId().

17 {
18  addG4Track( simtrk );
19  event_ = simtrk.eventId();
20  particleId_ = simtrk.trackId();
21  theMomentum_.SetPxPyPzE(simtrk.momentum().px(),
22  simtrk.momentum().py(),
23  simtrk.momentum().pz(),
24  simtrk.momentum().E());
25 }
EncodedEventId eventId() const
Definition: CoreSimTrack.h:31
void addG4Track(const SimTrack &t)
Definition: CaloParticle.h:63
EncodedEventId event_
Definition: CaloParticle.h:219
math::XYZTLorentzVectorF theMomentum_
Definition: CaloParticle.h:226
uint32_t particleId_
Definition: CaloParticle.h:221
unsigned int trackId() const
Definition: CoreSimTrack.h:34
const math::XYZTLorentzVectorD & momentum() const
Definition: CoreSimTrack.h:22
CaloParticle::CaloParticle ( EncodedEventId  eventID,
uint32_t  particleID 
)

Definition at line 27 of file CaloParticle.cc.

References event_, EgammaObjectsElectrons_cfi::particleID, and particleId_.

28 {
29  event_ = eventID;
31 }
EncodedEventId event_
Definition: CaloParticle.h:219
uint32_t particleId_
Definition: CaloParticle.h:221
CaloParticle::~CaloParticle ( )

Definition at line 33 of file CaloParticle.cc.

34 {
35 }

Member Function Documentation

void CaloParticle::addG4Track ( const SimTrack t)
inline

Definition at line 63 of file CaloParticle.h.

References g4Tracks_.

Referenced by CaloParticle().

63 { g4Tracks_.push_back(t); }
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
Definition: CaloParticle.h:229
void CaloParticle::addGenParticle ( const reco::GenParticleRef ref)
inline

Definition at line 61 of file CaloParticle.h.

References genParticles_, and edm::RefVector< C, T, F >::push_back().

61 { genParticles_.push_back( ref ); }
reco::GenParticleRefVector genParticles_
Definition: CaloParticle.h:230
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
Definition: RefVector.h:69
void CaloParticle::addRecHitAndFraction ( uint32_t  hit,
float  fraction 
)
inline

add rechit with fraction

Definition at line 197 of file CaloParticle.h.

References fractions_, and hits_.

197  {
198  hits_.emplace_back(hit);
199  fractions_.emplace_back(fraction);
200  }
std::vector< uint32_t > hits_
Definition: CaloParticle.h:223
std::vector< float > fractions_
Definition: CaloParticle.h:224
void CaloParticle::addSimCluster ( const SimClusterRef ref)
inline

Definition at line 62 of file CaloParticle.h.

References edm::RefVector< C, T, F >::push_back(), and simClusters_.

Referenced by CaloTruthAccumulator::finalizeEvent().

62 { simClusters_.push_back( ref ); }
SimClusterRefVector simClusters_
Definition: CaloParticle.h:232
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
Definition: RefVector.h:69
void CaloParticle::addSimHit ( const PCaloHit hit)
inline

add simhit's energy to cluster

Definition at line 215 of file CaloParticle.h.

References PCaloHit::energy(), and simhit_energy_.

215 { simhit_energy_ += hit.energy(); }
double energy() const
Definition: PCaloHit.h:29
float simhit_energy_
Definition: CaloParticle.h:222
math::XYZVectorF CaloParticle::boostToCM ( ) const
inline

Vector to boost to the particle centre of mass frame.

Definition at line 94 of file CaloParticle.h.

References p4().

94  {
95  return p4().BoostToCM();
96  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::charge ( void  ) const
inline

Electric charge. Note this is taken from the first SimTrack only.

Definition at line 79 of file CaloParticle.h.

References g4Tracks_.

Referenced by operator<<(), and threeCharge().

79 { return g4Tracks_[0].charge(); }
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
Definition: CaloParticle.h:229
float CaloParticle::energy ( void  ) const
inline

Energy. Note this is taken from the first SimTrack only.

Definition at line 104 of file CaloParticle.h.

References p4().

Referenced by PreshowerClusterAlgo::makeOneCluster(), and Jet.Jet::rawEnergy().

104  {
105  return p4().E();
106  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::et ( ) const
inline

Transverse energy. Note this is taken from the first SimTrack only.

Definition at line 109 of file CaloParticle.h.

References p4().

109  {
110  return p4().Et();
111  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::eta ( void  ) const
inline

Momentum pseudorapidity. Note this is taken from the simtrack before the calorimeter.

Definition at line 164 of file CaloParticle.h.

References p4().

Referenced by Particle.Particle::__str__(), Jet.Jet::jetID(), and Jet.Jet::puJetId().

164  {
165  return p4().Eta();
166  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
EncodedEventId CaloParticle::eventId ( ) const
inline

Signal source, crossing number.

Note this is taken from the first SimTrack only, but there shouldn't be any SimTracks from different crossings in the CaloParticle.

Definition at line 52 of file CaloParticle.h.

References event_.

Referenced by operator<<().

52  {
53  return event_;
54  }
EncodedEventId event_
Definition: CaloParticle.h:219
g4t_iterator CaloParticle::g4Track_begin ( ) const
inline

Definition at line 67 of file CaloParticle.h.

References g4Tracks_.

Referenced by operator<<().

67 { return g4Tracks_.begin(); }
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
Definition: CaloParticle.h:229
g4t_iterator CaloParticle::g4Track_end ( ) const
inline

Definition at line 68 of file CaloParticle.h.

References g4Tracks_.

Referenced by operator<<().

68 { return g4Tracks_.end(); }
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
Definition: CaloParticle.h:229
const std::vector<SimTrack>& CaloParticle::g4Tracks ( ) const
inline

Definition at line 76 of file CaloParticle.h.

References g4Tracks_.

76 { return g4Tracks_; }
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
Definition: CaloParticle.h:229
genp_iterator CaloParticle::genParticle_begin ( ) const
inline

iterators

Definition at line 65 of file CaloParticle.h.

References edm::RefVector< C, T, F >::begin(), and genParticles_.

Referenced by operator<<().

65 { return genParticles_.begin(); }
reco::GenParticleRefVector genParticles_
Definition: CaloParticle.h:230
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:248
genp_iterator CaloParticle::genParticle_end ( ) const
inline

Definition at line 66 of file CaloParticle.h.

References edm::RefVector< C, T, F >::end(), and genParticles_.

Referenced by operator<<().

66 { return genParticles_.end(); }
reco::GenParticleRefVector genParticles_
Definition: CaloParticle.h:230
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:253
const reco::GenParticleRefVector& CaloParticle::genParticles ( ) const
inline

Definition at line 73 of file CaloParticle.h.

References genParticles_.

73 { return genParticles_; }
reco::GenParticleRefVector genParticles_
Definition: CaloParticle.h:230
std::vector<std::pair<uint32_t,float> > CaloParticle::hits_and_fractions ( ) const
inline

Returns list of rechit IDs and fractions for this CaloParticle.

Definition at line 203 of file CaloParticle.h.

References fractions_, hits_, i, and mps_fire::result.

203  {
204  std::vector<std::pair<uint32_t,float> > result;
205  for(size_t i = 0; i < hits_.size(); ++i) {
206  result.emplace_back(hits_[i],fractions_[i]);
207  }
208  return result;
209  }
int i
Definition: DBlmapReader.cc:9
std::vector< uint32_t > hits_
Definition: CaloParticle.h:223
std::vector< float > fractions_
Definition: CaloParticle.h:224
bool CaloParticle::longLived ( ) const
inline

is long lived?

Definition at line 188 of file CaloParticle.h.

References longLivedTag, and status().

188 { return status()&longLivedTag;}
int status() const
Status word.
Definition: CaloParticle.h:181
static const unsigned int longLivedTag
long lived flag
Definition: CaloParticle.h:185
float CaloParticle::mass ( ) const
inline

Mass. Note this is taken from the first SimTrack only.

Definition at line 114 of file CaloParticle.h.

References p4().

Referenced by Particle.Particle::__str__(), DiObject.DiMuon::__str__(), and massSqr().

114  {
115  return p4().M();
116  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::massSqr ( ) const
inline

Mass squared. Note this is taken from the first SimTrack only.

Definition at line 119 of file CaloParticle.h.

References mass(), and funct::pow().

119  {
120  return pow( mass(), 2 );
121  }
float mass() const
Mass. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:114
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
math::XYZVectorF CaloParticle::momentum ( ) const
inline

spatial momentum vector

Definition at line 89 of file CaloParticle.h.

References p4().

89  {
90  return p4().Vect();
91  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::mt ( ) const
inline

Transverse mass. Note this is taken from the first SimTrack only.

Definition at line 124 of file CaloParticle.h.

References p4().

124  {
125  return p4().Mt();
126  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::mtSqr ( ) const
inline

Transverse mass squared. Note this is taken from the first SimTrack only.

Definition at line 129 of file CaloParticle.h.

References p4().

129  {
130  return p4().Mt2();
131  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
int CaloParticle::numberOfRecHits ( void  ) const
inline

Gives the total number of SimHits, in the cluster.

Definition at line 194 of file CaloParticle.h.

References hits_.

194 {return hits_.size();}
std::vector< uint32_t > hits_
Definition: CaloParticle.h:223
int CaloParticle::numberOfSimHits ( ) const
inline

Gives the total number of SimHits, in the cluster.

Definition at line 191 of file CaloParticle.h.

References nsimhits_.

191 {return nsimhits_;}
uint64_t nsimhits_
Definition: CaloParticle.h:218
float CaloParticle::p ( ) const
inline

Magnitude of momentum vector. Note this is taken from the first SimTrack only.

Definition at line 99 of file CaloParticle.h.

References p4().

Referenced by Electron.Electron::ptErr().

99  {
100  return p4().P();
101  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
const math::XYZTLorentzVectorF& CaloParticle::p4 ( ) const
inline

Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.

Definition at line 84 of file CaloParticle.h.

References theMomentum_.

Referenced by boostToCM(), Tau.Tau::dxy_approx(), Tau.Tau::dz(), energy(), et(), eta(), mass(), momentum(), mt(), mtSqr(), operator<<(), p(), Lepton.Lepton::p4WithFSR(), phi(), pt(), px(), py(), pz(), rapidity(), and theta().

84  {
85  return theMomentum_;
86  }
math::XYZTLorentzVectorF theMomentum_
Definition: CaloParticle.h:226
uint64_t CaloParticle::particleId ( ) const
inline

Definition at line 56 of file CaloParticle.h.

References particleId_.

56  {
57  return particleId_;
58  }
uint32_t particleId_
Definition: CaloParticle.h:221
int CaloParticle::pdgId ( ) const
inline

PDG ID.

Returns the PDG ID of the first associated gen particle. If there are no gen particles associated then it returns type() from the first SimTrack.

Definition at line 43 of file CaloParticle.h.

References edm::RefVector< C, T, F >::begin(), edm::RefVector< C, T, F >::empty(), g4Tracks_, and genParticles_.

Referenced by Particle.Particle::__str__(), and operator<<().

43  {
44  if( genParticles_.empty() ) return g4Tracks_[0].type();
45  else return (*genParticles_.begin())->pdgId();
46  }
type
Definition: HCALResponse.h:21
reco::GenParticleRefVector genParticles_
Definition: CaloParticle.h:230
bool empty() const
Is the RefVector empty.
Definition: RefVector.h:104
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:248
int pdgId() const
PDG ID.
Definition: CaloParticle.h:43
std::vector< SimTrack > g4Tracks_
references to G4 and reco::GenParticle tracks
Definition: CaloParticle.h:229
float CaloParticle::phi ( void  ) const
inline

Momentum azimuthal angle. Note this is taken from the first SimTrack only.

Definition at line 154 of file CaloParticle.h.

References p4().

Referenced by Particle.Particle::__str__().

154  {
155  return p4().Phi();
156  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::pt ( ) const
inline

Transverse momentum. Note this is taken from the first SimTrack only.

Definition at line 149 of file CaloParticle.h.

References p4().

Referenced by Particle.Particle::__str__(), DiObject.DiMuon::__str__(), Photon.Photon::calScaledIsoValueExp(), Photon.Photon::calScaledIsoValueLin(), Photon.Photon::calScaledIsoValueQuadr(), Electron.Electron::mvaIDLoose(), Electron.Electron::mvaIDRun2(), Electron.Electron::mvaIDTight(), Electron.Electron::ptErr(), Lepton.Lepton::relIso(), Lepton.Lepton::relIsoFromEA(), Lepton.Lepton::relIsoR(), and Jet.Jet::setCorrP4().

149  {
150  return p4().Pt();
151  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::px ( ) const
inline

x coordinate of momentum vector. Note this is taken from the first SimTrack only.

Definition at line 134 of file CaloParticle.h.

References p4().

134  {
135  return p4().Px();
136  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::py ( ) const
inline

y coordinate of momentum vector. Note this is taken from the first SimTrack only.

Definition at line 139 of file CaloParticle.h.

References p4().

139  {
140  return p4().Py();
141  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::pz ( ) const
inline

z coordinate of momentum vector. Note this is taken from the first SimTrack only.

Definition at line 144 of file CaloParticle.h.

References p4().

144  {
145  return p4().Pz();
146  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
float CaloParticle::rapidity ( ) const
inline

Rapidity. Note this is taken from the simtrack before the calorimeter.

Definition at line 169 of file CaloParticle.h.

References p4().

Referenced by y().

169  {
170  return p4().Rapidity();
171  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
sc_iterator CaloParticle::simCluster_begin ( ) const
inline

Definition at line 69 of file CaloParticle.h.

References edm::RefVector< C, T, F >::begin(), and simClusters_.

69 { return simClusters_.begin(); }
SimClusterRefVector simClusters_
Definition: CaloParticle.h:232
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:248
sc_iterator CaloParticle::simCluster_end ( ) const
inline

Definition at line 70 of file CaloParticle.h.

References edm::RefVector< C, T, F >::end(), and simClusters_.

70 { return simClusters_.end(); }
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:253
SimClusterRefVector simClusters_
Definition: CaloParticle.h:232
const SimClusterRefVector& CaloParticle::simClusters ( ) const
inline

Definition at line 74 of file CaloParticle.h.

References simClusters_.

74 { return simClusters_; }
SimClusterRefVector simClusters_
Definition: CaloParticle.h:232
float CaloParticle::simEnergy ( ) const
inline

returns the accumulated sim energy in the cluster

Definition at line 212 of file CaloParticle.h.

References simhit_energy_.

212 { return simhit_energy_; }
float simhit_energy_
Definition: CaloParticle.h:222
int CaloParticle::status ( void  ) const
inline

Status word.

Returns status() from the first gen particle, or -99 if there are no gen particles attached.

Definition at line 181 of file CaloParticle.h.

References edm::RefVector< C, T, F >::empty(), and genParticles_.

Referenced by longLived().

181  {
182  return genParticles_.empty() ? -99 : (*genParticles_[0]).status();
183  }
reco::GenParticleRefVector genParticles_
Definition: CaloParticle.h:230
int status() const
Status word.
Definition: CaloParticle.h:181
bool empty() const
Is the RefVector empty.
Definition: RefVector.h:104
float CaloParticle::theta ( void  ) const
inline

Momentum polar angle. Note this is taken from the first SimTrack only.

Definition at line 159 of file CaloParticle.h.

References p4().

Referenced by Tau.Tau::zImpact().

159  {
160  return p4().Theta();
161  }
const math::XYZTLorentzVectorF & p4() const
Four-momentum Lorentz vector. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:84
int CaloParticle::threeCharge ( ) const
inline

Gives charge in unit of quark charge (should be 3 times "charge()")

Definition at line 81 of file CaloParticle.h.

References charge(), and f.

81 { return lrintf(3.f*charge()); }
float charge() const
Electric charge. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:79
double f[11][100]
float CaloParticle::y ( ) const
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
CaloParticle const &  tp 
)
friend

Definition at line 37 of file CaloParticle.cc.

38 {
39  s << "Calo Particle:" << std::endl;
40  s << "CP momentum, q, ID, & Event #: "
41  << tp.p4() << " " << tp.charge() << " " << tp.pdgId() << " "
42  << tp.eventId().bunchCrossing() << "." << tp.eventId().event() << std::endl;
43 
44  for (CaloParticle::genp_iterator hepT = tp.genParticle_begin(); hepT != tp.genParticle_end(); ++hepT)
45  {
46  s << " HepMC Track Momentum " << (*hepT)->momentum().rho() << std::endl;
47  }
48 
49  for (CaloParticle::g4t_iterator g4T = tp.g4Track_begin(); g4T != tp.g4Track_end(); ++g4T)
50  {
51  s << " Geant Track Momentum " << g4T->momentum() << std::endl;
52  s << " Geant Track ID & type " << g4T->trackId() << " " << g4T->type() << std::endl;
53  if (g4T->type() != tp.pdgId())
54  {
55  s << " Mismatch b/t CaloParticle and Geant types" << std::endl;
56  }
57  }
58  s << "SimClusters in this CaloParticle: " << std::endl;
59  for( auto itr = tp.simClusters_.begin(); itr != tp.simClusters_.end(); ++itr ) {
60  s << **itr;
61  }
62  s << std::endl;
63  return s;
64 }
std::vector< SimTrack >::const_iterator g4t_iterator
Definition: CaloParticle.h:28

Member Data Documentation

EncodedEventId CaloParticle::event_
private

Definition at line 219 of file CaloParticle.h.

Referenced by CaloParticle(), and eventId().

std::vector<float> CaloParticle::fractions_
private

Definition at line 224 of file CaloParticle.h.

Referenced by addRecHitAndFraction(), and hits_and_fractions().

std::vector<SimTrack> CaloParticle::g4Tracks_
private

references to G4 and reco::GenParticle tracks

Definition at line 229 of file CaloParticle.h.

Referenced by addG4Track(), charge(), g4Track_begin(), g4Track_end(), g4Tracks(), and pdgId().

reco::GenParticleRefVector CaloParticle::genParticles_
private
std::vector<uint32_t> CaloParticle::hits_
private

Definition at line 223 of file CaloParticle.h.

Referenced by addRecHitAndFraction(), hits_and_fractions(), and numberOfRecHits().

const unsigned int CaloParticle::longLivedTag = 65536
static

long lived flag

Definition at line 185 of file CaloParticle.h.

Referenced by longLived().

uint64_t CaloParticle::nsimhits_
private

Definition at line 218 of file CaloParticle.h.

Referenced by numberOfSimHits().

uint32_t CaloParticle::particleId_
private

Definition at line 221 of file CaloParticle.h.

Referenced by CaloParticle(), and particleId().

SimClusterRefVector CaloParticle::simClusters_
private
float CaloParticle::simhit_energy_
private

Definition at line 222 of file CaloParticle.h.

Referenced by addSimHit(), and simEnergy().

math::XYZTLorentzVectorF CaloParticle::theMomentum_
private

Definition at line 226 of file CaloParticle.h.

Referenced by CaloParticle(), and p4().