CMS 3D CMS Logo

SiStripElectron.h
Go to the documentation of this file.
1 #ifndef EgammaCandidates_SiStripElectron_h
2 #define EgammaCandidates_SiStripElectron_h
3 // -*- C++ -*-
4 //
5 // Package: EgammaCandidates
6 // Class : SiStripElectron
7 //
16 //
17 // Original Author: Jim Pivarski
18 // Created: Fri May 26 15:43:14 EDT 2006
19 //
20 
21 // system include files
22 
23 #include <vector>
24 
25 // user include files
26 
30 
31 // forward declarations
32 
33 namespace reco {
34 
35  class SiStripElectron : public RecoCandidate {
36  public:
41  Charge q,
42  const std::vector<SiStripRecHit2D>& rphiRecHits,
43  const std::vector<SiStripRecHit2D>& stereoRecHits,
45  double phiVsRSlope,
46  double phiAtOrigin,
47  double chi2,
48  int ndof,
49  double pt,
50  double pz,
51  double zVsRSlope,
52  unsigned int numberOfStereoHits,
53  unsigned int numberOfBarrelRphiHits,
54  unsigned int numberOfEndcapZphiHits)
55  : RecoCandidate(q, PtEtaPhiMass(pt, etaFromRZ(pt, pz), phiAtOrigin, 0.000510f), Point(0, 0, 0), -11 * q),
62  chi2_(chi2),
63  ndof_(ndof),
68 
70  template <typename P4>
71  SiStripElectron(Charge q, const P4& p4, const Point& vtx = Point(0, 0, 0)) : RecoCandidate(q, p4, vtx, -11 * q) {}
73  ~SiStripElectron() override;
75  SiStripElectron* clone() const override;
77  reco::SuperClusterRef superCluster() const override;
78 
80  const std::vector<SiStripRecHit2D>& rphiRecHits() const { return rphiRecHits_; }
82  const std::vector<SiStripRecHit2D>& stereoRecHits() const { return stereoRecHits_; }
83 
87  double phiVsRSlope() const { return phiVsRSlope_; }
89  double phiAtOrigin() const { return phiAtOrigin_; }
91  double chi2() const { return chi2_; }
93  int ndof() const { return ndof_; }
94 
96  double zVsRSlope() const { return zVsRSlope_; }
97 
99  unsigned int numberOfStereoHits() const { return numberOfStereoHits_; }
101  unsigned int numberOfBarrelRphiHits() const { return numberOfBarrelRphiHits_; }
103  unsigned int numberOfEndcapZphiHits() const { return numberOfEndcapZphiHits_; }
104 
105  bool isElectron() const override;
106 
107  private:
109  bool overlap(const Candidate&) const override;
112  std::vector<SiStripRecHit2D> rphiRecHits_;
113  std::vector<SiStripRecHit2D> stereoRecHits_;
114 
116  double phiVsRSlope_;
117  double phiAtOrigin_;
118  double chi2_;
119  int ndof_;
120 
121  double zVsRSlope_;
122 
123  unsigned int numberOfStereoHits_;
126  };
127 } // namespace reco
128 
129 #endif
reco::SiStripElectron::chi2_
double chi2_
Definition: SiStripElectron.h:118
reco::SiStripElectron::stereoRecHits_
std::vector< SiStripRecHit2D > stereoRecHits_
Definition: SiStripElectron.h:113
reco::LeafCandidate::Point
math::XYZPoint Point
point in the space
Definition: LeafCandidate.h:27
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
reco::SiStripElectron::SiStripElectron
SiStripElectron()
default constructor
Definition: SiStripElectron.h:38
reco::SiStripElectron::isElectron
bool isElectron() const override
Definition: SiStripElectron.cc:66
reco::SiStripElectron::overlap
bool overlap(const Candidate &) const override
check overlap with another candidate
Definition: SiStripElectron.cc:60
reco::SiStripElectron::ndof_
int ndof_
Definition: SiStripElectron.h:119
data-class-funcs.q
q
Definition: data-class-funcs.py:169
reco::Candidate::Charge
int Charge
electric charge type
Definition: Candidate.h:34
reco::SiStripElectron::rphiRecHits_
std::vector< SiStripRecHit2D > rphiRecHits_
Definition: SiStripElectron.h:112
reco::SiStripElectron::superCluster
reco::SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: SiStripElectron.cc:58
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::SiStripElectron::numberOfBarrelRphiHits_
unsigned int numberOfBarrelRphiHits_
Definition: SiStripElectron.h:124
RecoCandidate.h
reco::SiStripElectron::SiStripElectron
SiStripElectron(Charge q, const P4 &p4, const Point &vtx=Point(0, 0, 0))
constructor from RecoCandidate
Definition: SiStripElectron.h:71
edm::Ref< SuperClusterCollection >
reco::SiStripElectron::~SiStripElectron
~SiStripElectron() override
destructor
Definition: SiStripElectron.cc:38
reco::SiStripElectron
Definition: SiStripElectron.h:35
reco::SiStripElectron::SiStripElectron
SiStripElectron(const reco::SuperClusterRef &superCluster, Charge q, const std::vector< SiStripRecHit2D > &rphiRecHits, const std::vector< SiStripRecHit2D > &stereoRecHits, double superClusterPhiVsRSlope, double phiVsRSlope, double phiAtOrigin, double chi2, int ndof, double pt, double pz, double zVsRSlope, unsigned int numberOfStereoHits, unsigned int numberOfBarrelRphiHits, unsigned int numberOfEndcapZphiHits)
constructor from band algorithm
Definition: SiStripElectron.h:40
reco::SiStripElectron::superClusterPhiVsRSlope
double superClusterPhiVsRSlope() const
returns phi(r) projection from supercluster
Definition: SiStripElectron.h:85
reco::SiStripElectron::phiAtOrigin
double phiAtOrigin() const
returns phi(r=0) intercept from fit to tracker hits
Definition: SiStripElectron.h:89
reco::SiStripElectron::chi2
double chi2() const
returns chi^2 of fit to tracker hits
Definition: SiStripElectron.h:91
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
reco::SiStripElectron::numberOfStereoHits_
unsigned int numberOfStereoHits_
Definition: SiStripElectron.h:123
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
reco::SiStripElectron::rphiRecHits
const std::vector< SiStripRecHit2D > & rphiRecHits() const
reference to the rphiRecHits identified as belonging to an electron
Definition: SiStripElectron.h:80
RefVector.h
reco::SiStripElectron::numberOfBarrelRphiHits
unsigned int numberOfBarrelRphiHits() const
returns number of barrel rphi hits in phi band
Definition: SiStripElectron.h:101
reco::SiStripElectron::phiVsRSlope
double phiVsRSlope() const
returns phi(r) slope from fit to tracker hits
Definition: SiStripElectron.h:87
reco::LeafCandidate::p4
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:114
SiStripRecHit2DCollection.h
reco::SiStripElectron::phiVsRSlope_
double phiVsRSlope_
Definition: SiStripElectron.h:116
reco::RecoCandidate
Definition: RecoCandidate.h:20
reco::SiStripElectron::zVsRSlope
double zVsRSlope() const
returns z(r) slope fit from stereo tracker hits (constrained to pass through supercluster)
Definition: SiStripElectron.h:96
reco::SiStripElectron::ndof
int ndof() const
returns number of degrees of freedom of fit to tracker hits
Definition: SiStripElectron.h:93
reco::Candidate
Definition: Candidate.h:27
reco::SiStripElectron::zVsRSlope_
double zVsRSlope_
Definition: SiStripElectron.h:121
reco::SiStripElectron::phiAtOrigin_
double phiAtOrigin_
Definition: SiStripElectron.h:117
reco::SiStripElectron::superCluster_
reco::SuperClusterRef superCluster_
reference to a SuperCluster
Definition: SiStripElectron.h:111
reco::SiStripElectron::numberOfEndcapZphiHits_
unsigned int numberOfEndcapZphiHits_
Definition: SiStripElectron.h:125
reco::SiStripElectron::numberOfStereoHits
unsigned int numberOfStereoHits() const
returns number of stereo hits in phi band (barrel + endcap)
Definition: SiStripElectron.h:99
reco::SiStripElectron::superClusterPhiVsRSlope_
double superClusterPhiVsRSlope_
Definition: SiStripElectron.h:115
reco::SiStripElectron::numberOfEndcapZphiHits
unsigned int numberOfEndcapZphiHits() const
returns number of endcap zphi hits in phi band
Definition: SiStripElectron.h:103
reco::SiStripElectron::clone
SiStripElectron * clone() const override
returns a clone of the candidate
Definition: SiStripElectron.cc:52
PtEtaPhiMass
Definition: PtEtaPhiMass.h:16
reco::SiStripElectron::stereoRecHits
const std::vector< SiStripRecHit2D > & stereoRecHits() const
reference to the stereoRecHits identified as belonging to an electron
Definition: SiStripElectron.h:82
reco::LeafCandidate::pz
double pz() const final
z coordinate of momentum vector
Definition: LeafCandidate.h:144