41 |
|
m_EcalEnergy=0; |
42 |
|
m_mvaTrigV0=0; |
43 |
|
m_mvaNonTrigV0=0; |
44 |
+ |
m_AEff=0; |
45 |
|
}; |
46 |
|
|
47 |
|
~Electron(){ |
76 |
|
float EcalEnergy() const{return m_EcalEnergy;} |
77 |
|
float mvaTrigV0() const{return m_mvaTrigV0;} |
78 |
|
float mvaNonTrigV0() const{return m_mvaNonTrigV0;} |
79 |
+ |
float AEff() const{return m_AEff;} |
80 |
|
|
81 |
|
|
82 |
|
void set_vertex_x(float x){m_vertex_x=x;} |
108 |
|
void set_EcalEnergy(float x){m_EcalEnergy=x;} |
109 |
|
void set_mvaTrigV0(float x){m_mvaTrigV0=x;} |
110 |
|
void set_mvaNonTrigV0(float x){m_mvaNonTrigV0=x;} |
111 |
+ |
void set_AEff(float x){m_AEff=x;} |
112 |
|
|
113 |
|
float gsfTrack_dxy_vertex(const float point_x, const float point_y) const{ |
114 |
|
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); |
117 |
|
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; |
118 |
|
} |
119 |
|
float relIso() const{ |
120 |
+ |
return ( m_chargedHadronIso + m_neutralHadronIso + m_photonIso ) / pt(); |
121 |
+ |
} |
122 |
+ |
float relIsodb() const{ |
123 |
|
return ( m_chargedHadronIso + std::max( 0.0, m_neutralHadronIso + m_photonIso - 0.5*m_puChargedHadronIso ) ) / pt(); |
124 |
|
} |
125 |
+ |
float relIsorho(const double rho) const{ |
126 |
+ |
return ( m_chargedHadronIso + std::max( 0.0, m_neutralHadronIso + m_photonIso - rho*m_AEff ) ) / pt(); |
127 |
+ |
} |
128 |
|
|
129 |
|
enum E_eleIDType{ |
130 |
|
e_Tight, |
202 |
|
float m_EcalEnergy; |
203 |
|
float m_mvaTrigV0; |
204 |
|
float m_mvaNonTrigV0; |
205 |
+ |
float m_AEff; |
206 |
|
|
207 |
|
}; |
208 |
|
|