CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions
ZeeKinematicTools Class Reference

#include <ZeeKinematicTools.h>

Public Member Functions

 ZeeKinematicTools ()
 
 ~ZeeKinematicTools ()
 

Static Public Member Functions

static float calculateZEta (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate)
 
static float calculateZMass_noTK (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate)
 
static float calculateZMass_withTK (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate)
 
static float calculateZMassWithCorrectedElectrons_noTK (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate, float ele1EnergyCorrection, float ele2EnergyCorrection)
 
static float calculateZMassWithCorrectedElectrons_withTK (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate, float ele1EnergyCorrection, float ele2EnergyCorrection)
 
static float calculateZPhi (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate)
 
static float calculateZPt (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate)
 
static float calculateZRapidity (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate)
 
static float calculateZTheta (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate)
 
static float cosThetaElectrons_SC (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate, float ele1EnergyCorrection, float ele2EnergyCorrection)
 
static float cosThetaElectrons_TK (const std::pair< calib::CalibElectron *, calib::CalibElectron * > &aZCandidate, float ele1EnergyCorrection, float ele2EnergyCorrection)
 

Detailed Description

Definition at line 32 of file ZeeKinematicTools.h.

Constructor & Destructor Documentation

ZeeKinematicTools::ZeeKinematicTools ( )

Definition at line 34 of file ZeeKinematicTools.cc.

34 {}
ZeeKinematicTools::~ZeeKinematicTools ( )

Definition at line 36 of file ZeeKinematicTools.cc.

36 {}

Member Function Documentation

float ZeeKinematicTools::calculateZEta ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate)
static

Definition at line 138 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

139 {
140 
141  TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
142 
143  TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
144 
145  return (ele1LV + ele2LV).Eta();
146 
147 }
float ZeeKinematicTools::calculateZMass_noTK ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate)
static

Definition at line 106 of file ZeeKinematicTools.cc.

References ZIterativeAlgorithmWithFit::invMassCalc().

107 {
108 
109  return ZIterativeAlgorithmWithFit::invMassCalc(aZCandidate.first->getRecoElectron()->superCluster()->energy(), aZCandidate.first->getRecoElectron()->superCluster()->eta(), aZCandidate.first->getRecoElectron()->superCluster()->phi(), aZCandidate.second->getRecoElectron()->superCluster()->energy(), aZCandidate.second->getRecoElectron()->superCluster()->eta(), aZCandidate.second->getRecoElectron()->superCluster()->phi());
110 
111 }
static float invMassCalc(float Energy1, float Eta1, float Phi1, float Energy2, float Eta2, float Phi2)
float ZeeKinematicTools::calculateZMass_withTK ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate)
static

Definition at line 115 of file ZeeKinematicTools.cc.

References ZIterativeAlgorithmWithFit::invMassCalc().

Referenced by ZeeCalibration::duringLoop().

116 {
117 
118  return ZIterativeAlgorithmWithFit::invMassCalc(aZCandidate.first->getRecoElectron()->superCluster()->energy(), aZCandidate.first->getRecoElectron()->eta(), aZCandidate.first->getRecoElectron()->phi(), aZCandidate.second->getRecoElectron()->superCluster()->energy(), aZCandidate.second->getRecoElectron()->eta(), aZCandidate.second->getRecoElectron()->phi());
119 
120 }
static float invMassCalc(float Energy1, float Eta1, float Phi1, float Energy2, float Eta2, float Phi2)
float ZeeKinematicTools::calculateZMassWithCorrectedElectrons_noTK ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate,
float  ele1EnergyCorrection,
float  ele2EnergyCorrection 
)
static

Definition at line 90 of file ZeeKinematicTools.cc.

References ZIterativeAlgorithmWithFit::invMassCalc().

91 {
92  return ZIterativeAlgorithmWithFit::invMassCalc(aZCandidate.first->getRecoElectron()->superCluster()->energy() / ele1EnergyCorrection, aZCandidate.first->getRecoElectron()->superCluster()->eta(), aZCandidate.first->getRecoElectron()->superCluster()->phi(), aZCandidate.second->getRecoElectron()->superCluster()->energy() / ele2EnergyCorrection, aZCandidate.second->getRecoElectron()->superCluster()->eta(), aZCandidate.second->getRecoElectron()->superCluster()->phi());
93 
94 }
static float invMassCalc(float Energy1, float Eta1, float Phi1, float Energy2, float Eta2, float Phi2)
float ZeeKinematicTools::calculateZMassWithCorrectedElectrons_withTK ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate,
float  ele1EnergyCorrection,
float  ele2EnergyCorrection 
)
static

Definition at line 98 of file ZeeKinematicTools.cc.

References ZIterativeAlgorithmWithFit::invMassCalc().

Referenced by ZeeCalibration::duringLoop().

99 {
100  return ZIterativeAlgorithmWithFit::invMassCalc(aZCandidate.first->getRecoElectron()->superCluster()->energy() / ele1EnergyCorrection, aZCandidate.first->getRecoElectron()->eta(), aZCandidate.first->getRecoElectron()->phi(), aZCandidate.second->getRecoElectron()->superCluster()->energy() / ele2EnergyCorrection, aZCandidate.second->getRecoElectron()->eta(), aZCandidate.second->getRecoElectron()->phi());
101 
102 }
static float invMassCalc(float Energy1, float Eta1, float Phi1, float Energy2, float Eta2, float Phi2)
float ZeeKinematicTools::calculateZPhi ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate)
static

Definition at line 164 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

165 {
166 
167  TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
168 
169  TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
170 
171  return (ele1LV + ele2LV).Phi();
172 
173 }
float ZeeKinematicTools::calculateZPt ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate)
static

Definition at line 177 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

178 {
179 
180  TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
181 
182  TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
183 
184  return (ele1LV + ele2LV).Pt();
185 
186 }
float ZeeKinematicTools::calculateZRapidity ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate)
static

Definition at line 124 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

125 {
126 
127  TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
128 
129  TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
130 
131 
132  return (ele1LV + ele2LV).Rapidity();
133 
134 }
float ZeeKinematicTools::calculateZTheta ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate)
static

Definition at line 151 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

152 {
153 
154  TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
155 
156  TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
157 
158  return (ele1LV + ele2LV).Theta();
159 
160 }
float ZeeKinematicTools::cosThetaElectrons_SC ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate,
float  ele1EnergyCorrection,
float  ele2EnergyCorrection 
)
static

Definition at line 42 of file ZeeKinematicTools.cc.

References funct::cos(), JetChargeProducer_cfi::exp, funct::sin(), and mathSSE::sqrt().

Referenced by ZeeCalibration::duringLoop().

42  {
43 
44  float theta1 = 2. * atan( exp(- aZCandidate.first->getRecoElectron()->superCluster()->eta()) );
45  float phi1 = aZCandidate.first->getRecoElectron()->superCluster()->phi();
46 
47  float x1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * cos ( phi1 );
48  float y1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * sin ( phi1 );
49  float z1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * cos(theta1);
50  float mod1 = sqrt( x1*x1 + y1*y1 + z1*z1 );
51 
52  float theta2 = 2. * atan( exp(- aZCandidate.second->getRecoElectron()->superCluster()->eta()) );
53  float phi2 = aZCandidate.second->getRecoElectron()->superCluster()->phi();
54 
55  float x2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * cos ( phi2 );
56  float y2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * sin ( phi2 );
57  float z2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * cos(theta2);
58  float mod2 = sqrt( x2*x2 + y2*y2 + z2*z2 );
59 
60  return (x1*x2 + y1*y2 + z1*z2)/( mod1* mod2 );
61 
62 
63 }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
T sqrt(T t)
Definition: SSEVec.h:18
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
float ZeeKinematicTools::cosThetaElectrons_TK ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate,
float  ele1EnergyCorrection,
float  ele2EnergyCorrection 
)
static

Definition at line 67 of file ZeeKinematicTools.cc.

References funct::cos(), JetChargeProducer_cfi::exp, funct::sin(), and mathSSE::sqrt().

Referenced by ZeeCalibration::duringLoop().

67  {
68 
69  float theta1 = 2. * atan( exp(- aZCandidate.first->getRecoElectron()->eta()) );
70  float phi1 = aZCandidate.first->getRecoElectron()->phi();
71 
72  float x1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * cos ( phi1 );
73  float y1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * sin ( phi1 );
74  float z1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * cos(theta1);
75  float mod1 = sqrt( x1*x1 + y1*y1 + z1*z1 );
76 
77  float theta2 = 2. * atan( exp(- aZCandidate.second->getRecoElectron()->eta()) );
78  float phi2 = aZCandidate.second->getRecoElectron()->phi();
79 
80  float x2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * cos ( phi2 );
81  float y2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * sin ( phi2 );
82  float z2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * cos(theta2);
83  float mod2 = sqrt( x2*x2 + y2*y2 + z2*z2 );
84 
85  return (x1*x2 + y1*y2 + z1*z2)/( mod1* mod2 );
86 }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
T sqrt(T t)
Definition: SSEVec.h:18
Cos< T >::type cos(const T &t)
Definition: Cos.h:22