3 |
|
|
4 |
|
#include "Particle.h" |
5 |
|
|
6 |
+ |
/** |
7 |
+ |
* @short electron class |
8 |
+ |
* @author Thomas Peiffer |
9 |
+ |
*/ |
10 |
+ |
|
11 |
|
class Electron : public Particle{ |
12 |
|
|
13 |
|
public: |
46 |
|
~Electron(){ |
47 |
|
}; |
48 |
|
|
49 |
< |
float vertex_x(){return m_vertex_x;} |
50 |
< |
float vertex_y(){return m_vertex_y;} |
51 |
< |
float vertex_z(){return m_vertex_z;} |
52 |
< |
float supercluster_eta(){return m_supercluster_eta;} |
53 |
< |
float supercluster_phi(){return m_supercluster_phi;} |
54 |
< |
float dB(){return m_dB;} |
55 |
< |
//float particleIso(){return m_particleIso;} |
56 |
< |
float neutralHadronIso(){return m_neutralHadronIso;} |
57 |
< |
float chargedHadronIso(){return m_chargedHadronIso;} |
58 |
< |
float photonIso(){return m_photonIso;} |
59 |
< |
float trackIso(){return m_trackIso;} |
60 |
< |
float puChargedHadronIso(){return m_puChargedHadronIso;} |
61 |
< |
int gsfTrack_trackerExpectedHitsInner_numberOfLostHits(){return m_gsfTrack_trackerExpectedHitsInner_numberOfLostHits;} |
62 |
< |
float gsfTrack_px(){return m_gsfTrack_px;} |
63 |
< |
float gsfTrack_py(){return m_gsfTrack_py;} |
64 |
< |
float gsfTrack_pz(){return m_gsfTrack_pz;} |
65 |
< |
float gsfTrack_vx(){return m_gsfTrack_vx;} |
66 |
< |
float gsfTrack_vy(){return m_gsfTrack_vy;} |
67 |
< |
float gsfTrack_vz(){return m_gsfTrack_vz;} |
68 |
< |
bool passconversionveto(){return m_passconversionveto;} |
69 |
< |
float dEtaIn(){return m_dEtaIn;} |
70 |
< |
float dPhiIn(){return m_dPhiIn;} |
71 |
< |
float sigmaIEtaIEta(){return m_sigmaIEtaIEta;} |
72 |
< |
float HoverE(){return m_HoverE;} |
73 |
< |
float fbrem(){return m_fbrem;} |
74 |
< |
float EoverPIn(){return m_EoverPIn;} |
75 |
< |
float EcalEnergy(){return m_EcalEnergy;} |
76 |
< |
float mvaTrigV0(){return m_mvaTrigV0;} |
77 |
< |
float mvaNonTrigV0(){return m_mvaNonTrigV0;} |
49 |
> |
float vertex_x() const{return m_vertex_x;} |
50 |
> |
float vertex_y() const{return m_vertex_y;} |
51 |
> |
float vertex_z() const{return m_vertex_z;} |
52 |
> |
float supercluster_eta() const{return m_supercluster_eta;} |
53 |
> |
float supercluster_phi() const{return m_supercluster_phi;} |
54 |
> |
float dB() const{return m_dB;} |
55 |
> |
//float particleIso() const{return m_particleIso;} |
56 |
> |
float neutralHadronIso() const{return m_neutralHadronIso;} |
57 |
> |
float chargedHadronIso() const{return m_chargedHadronIso;} |
58 |
> |
float photonIso() const{return m_photonIso;} |
59 |
> |
float trackIso() const{return m_trackIso;} |
60 |
> |
float puChargedHadronIso() const{return m_puChargedHadronIso;} |
61 |
> |
int gsfTrack_trackerExpectedHitsInner_numberOfLostHits() const{return m_gsfTrack_trackerExpectedHitsInner_numberOfLostHits;} |
62 |
> |
float gsfTrack_px() const{return m_gsfTrack_px;} |
63 |
> |
float gsfTrack_py() const{return m_gsfTrack_py;} |
64 |
> |
float gsfTrack_pz() const{return m_gsfTrack_pz;} |
65 |
> |
float gsfTrack_vx() const{return m_gsfTrack_vx;} |
66 |
> |
float gsfTrack_vy() const{return m_gsfTrack_vy;} |
67 |
> |
float gsfTrack_vz() const{return m_gsfTrack_vz;} |
68 |
> |
bool passconversionveto() const{return m_passconversionveto;} |
69 |
> |
float dEtaIn() const{return m_dEtaIn;} |
70 |
> |
float dPhiIn() const{return m_dPhiIn;} |
71 |
> |
float sigmaIEtaIEta() const{return m_sigmaIEtaIEta;} |
72 |
> |
float HoverE() const{return m_HoverE;} |
73 |
> |
float fbrem() const{return m_fbrem;} |
74 |
> |
float EoverPIn() const{return m_EoverPIn;} |
75 |
> |
float EcalEnergy() const{return m_EcalEnergy;} |
76 |
> |
float mvaTrigV0() const{return m_mvaTrigV0;} |
77 |
> |
float mvaNonTrigV0() const{return m_mvaNonTrigV0;} |
78 |
|
|
79 |
|
|
80 |
|
void set_vertex_x(float x){m_vertex_x=x;} |
107 |
|
void set_mvaTrigV0(float x){m_mvaTrigV0=x;} |
108 |
|
void set_mvaNonTrigV0(float x){m_mvaNonTrigV0=x;} |
109 |
|
|
110 |
< |
float gsfTrack_dxy_vertex(const float point_x, const float point_y){ |
110 |
> |
float gsfTrack_dxy_vertex(const float point_x, const float point_y) const{ |
111 |
|
return ( - (m_gsfTrack_vx-point_x) * m_gsfTrack_py + (m_gsfTrack_vy-point_y) * m_gsfTrack_px ) / sqrt(m_gsfTrack_px*m_gsfTrack_px+m_gsfTrack_py*m_gsfTrack_py); |
112 |
|
}; |
113 |
< |
float gsfTrack_dz_vertex(const float point_x, const float point_y, const float point_z){ |
113 |
> |
float gsfTrack_dz_vertex(const float point_x, const float point_y, const float point_z) const{ |
114 |
|
return (m_gsfTrack_vz-point_z) - ((m_gsfTrack_vx-point_x)*m_gsfTrack_px+(m_gsfTrack_vy-point_y)*m_gsfTrack_py)/(m_gsfTrack_px*m_gsfTrack_px+m_gsfTrack_py*m_gsfTrack_py) * m_gsfTrack_pz; |
115 |
|
} |
116 |
< |
float relIso(){ |
116 |
> |
float relIso() const{ |
117 |
|
return ( m_chargedHadronIso + std::max( 0.0, m_neutralHadronIso + m_photonIso - 0.5*m_puChargedHadronIso ) ) / pt(); |
118 |
|
} |
119 |
|
|