CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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),
56  superCluster_(superCluster),
57  rphiRecHits_(rphiRecHits),
58  stereoRecHits_(stereoRecHits),
59  superClusterPhiVsRSlope_(superClusterPhiVsRSlope),
60  phiVsRSlope_(phiVsRSlope),
61  phiAtOrigin_(phiAtOrigin),
62  chi2_(chi2),
63  ndof_(ndof),
64  zVsRSlope_(zVsRSlope),
65  numberOfStereoHits_(numberOfStereoHits),
66  numberOfBarrelRphiHits_(numberOfBarrelRphiHits),
67  numberOfEndcapZphiHits_(numberOfEndcapZphiHits) {}
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
SiStripElectron * clone() const override
returns a clone of the candidate
int Charge
electric charge type
Definition: Candidate.h:34
double chi2() const
returns chi^2 of fit to tracker hits
double pz() const final
z coordinate of momentum vector
SiStripElectron()
default constructor
bool overlap(const Candidate &) const override
check overlap with another candidate
double pt() const final
transverse momentum
int ndof() const
returns number of degrees of freedom of fit to tracker hits
double phiAtOrigin() const
returns phi(r=0) intercept from fit to tracker hits
SiStripElectron(Charge q, const P4 &p4, const Point &vtx=Point(0, 0, 0))
constructor from RecoCandidate
bool isElectron() const override
unsigned int numberOfBarrelRphiHits_
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
std::vector< SiStripRecHit2D > rphiRecHits_
reco::SuperClusterRef superCluster() const override
reference to a SuperCluster
const LorentzVector & p4() const final
four-momentum Lorentz vector
unsigned int numberOfBarrelRphiHits() const
returns number of barrel rphi hits in phi band
const std::vector< SiStripRecHit2D > & rphiRecHits() const
reference to the rphiRecHits identified as belonging to an electron
~SiStripElectron() override
destructor
unsigned int numberOfStereoHits() const
returns number of stereo hits in phi band (barrel + endcap)
double zVsRSlope() const
returns z(r) slope fit from stereo tracker hits (constrained to pass through supercluster) ...
double phiVsRSlope() const
returns phi(r) slope from fit to tracker hits
double superClusterPhiVsRSlope() const
returns phi(r) projection from supercluster
unsigned int numberOfEndcapZphiHits() const
returns number of endcap zphi hits in phi band
unsigned int numberOfStereoHits_
reco::SuperClusterRef superCluster_
reference to a SuperCluster
unsigned int numberOfEndcapZphiHits_
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
std::vector< SiStripRecHit2D > stereoRecHits_
math::XYZPoint Point
point in the space
Definition: LeafCandidate.h:27
const std::vector< SiStripRecHit2D > & stereoRecHits() const
reference to the stereoRecHits identified as belonging to an electron