CMS 3D CMS Logo

ZeeKinematicTools Class Reference

#include <Calibration/EcalCalibAlgos/interface/ZeeKinematicTools.h>

List of all members.

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 35 of file ZeeKinematicTools.cc.

00035 {}

ZeeKinematicTools::~ZeeKinematicTools (  ) 

Definition at line 37 of file ZeeKinematicTools.cc.

00037 {}


Member Function Documentation

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

Definition at line 139 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

00140 {
00141 
00142   TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
00143 
00144   TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
00145   
00146   return  (ele1LV + ele2LV).Eta();
00147   
00148 }

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

Definition at line 107 of file ZeeKinematicTools.cc.

References ZIterativeAlgorithmWithFit::invMassCalc().

00108 {
00109 
00110   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());  
00111 
00112 }

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

Definition at line 116 of file ZeeKinematicTools.cc.

References ZIterativeAlgorithmWithFit::invMassCalc().

Referenced by ZeeCalibration::duringLoop().

00117 {
00118 
00119   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());  
00120 
00121 }

float ZeeKinematicTools::calculateZMassWithCorrectedElectrons_noTK ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate,
float  ele1EnergyCorrection,
float  ele2EnergyCorrection 
) [static]

Definition at line 91 of file ZeeKinematicTools.cc.

References ZIterativeAlgorithmWithFit::invMassCalc().

00092 {
00093   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());
00094 
00095 }

float ZeeKinematicTools::calculateZMassWithCorrectedElectrons_withTK ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate,
float  ele1EnergyCorrection,
float  ele2EnergyCorrection 
) [static]

Definition at line 99 of file ZeeKinematicTools.cc.

References ZIterativeAlgorithmWithFit::invMassCalc().

Referenced by ZeeCalibration::duringLoop().

00100 {
00101   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());
00102 
00103 }

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

Definition at line 165 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

00166 {
00167 
00168   TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
00169 
00170   TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
00171   
00172   return  (ele1LV + ele2LV).Phi();
00173 
00174 }

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

Definition at line 178 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

00179 {
00180 
00181   TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
00182 
00183   TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
00184   
00185   return  (ele1LV + ele2LV).Pt();
00186 
00187 }

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

Definition at line 125 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

00126 {
00127 
00128   TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
00129 
00130   TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
00131   
00132 
00133   return  (ele1LV + ele2LV).Rapidity();
00134 
00135 }

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

Definition at line 152 of file ZeeKinematicTools.cc.

Referenced by ZeePlots::fillZInfo().

00153 {
00154 
00155   TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
00156 
00157   TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
00158   
00159   return  (ele1LV + ele2LV).Theta();
00160   
00161 }

float ZeeKinematicTools::cosThetaElectrons_SC ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate,
float  ele1EnergyCorrection,
float  ele2EnergyCorrection 
) [static]

Definition at line 43 of file ZeeKinematicTools.cc.

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

Referenced by ZeeCalibration::duringLoop().

00043                                                                                                                                                                            {
00044   
00045   float theta1 = 2. * atan( exp(- aZCandidate.first->getRecoElectron()->superCluster()->eta()) );
00046   float phi1 = aZCandidate.first->getRecoElectron()->superCluster()->phi();
00047 
00048   float x1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * cos ( phi1 );
00049   float y1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * sin ( phi1 );
00050   float z1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * cos(theta1);
00051   float mod1 = sqrt( x1*x1 + y1*y1 + z1*z1 );
00052 
00053   float theta2 = 2. * atan( exp(- aZCandidate.second->getRecoElectron()->superCluster()->eta()) );
00054   float phi2 = aZCandidate.second->getRecoElectron()->superCluster()->phi();
00055 
00056   float x2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * cos ( phi2 );
00057   float y2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * sin ( phi2 );
00058   float z2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * cos(theta2);
00059   float mod2 = sqrt( x2*x2 + y2*y2 + z2*z2 );
00060 
00061   return (x1*x2 + y1*y2 + z1*z2)/( mod1* mod2 );
00062 
00063   
00064 }

float ZeeKinematicTools::cosThetaElectrons_TK ( const std::pair< calib::CalibElectron *, calib::CalibElectron * > &  aZCandidate,
float  ele1EnergyCorrection,
float  ele2EnergyCorrection 
) [static]

Definition at line 68 of file ZeeKinematicTools.cc.

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

Referenced by ZeeCalibration::duringLoop().

00068                                                                                                                                                                            {
00069   
00070   float theta1 = 2. * atan( exp(- aZCandidate.first->getRecoElectron()->eta()) );
00071   float phi1 = aZCandidate.first->getRecoElectron()->phi();
00072   
00073   float x1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * cos ( phi1 ); 
00074   float y1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * sin ( phi1 );
00075   float z1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * cos(theta1);
00076   float mod1 = sqrt( x1*x1 + y1*y1 + z1*z1 );
00077 
00078   float theta2 = 2. * atan( exp(- aZCandidate.second->getRecoElectron()->eta()) );
00079   float phi2 = aZCandidate.second->getRecoElectron()->phi();
00080 
00081   float x2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * cos ( phi2 );
00082   float y2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * sin ( phi2 );
00083   float z2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * cos(theta2);
00084   float mod2 = sqrt( x2*x2 + y2*y2 + z2*z2 );
00085 
00086   return (x1*x2 + y1*y2 + z1*z2)/( mod1* mod2 );
00087 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:36:05 2009 for CMSSW by  doxygen 1.5.4