#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) |
Definition at line 32 of file ZeeKinematicTools.h.
ZeeKinematicTools::ZeeKinematicTools | ( | ) |
Definition at line 34 of file ZeeKinematicTools.cc.
{}
ZeeKinematicTools::~ZeeKinematicTools | ( | ) |
Definition at line 36 of file ZeeKinematicTools.cc.
{}
float ZeeKinematicTools::calculateZEta | ( | const std::pair< calib::CalibElectron *, calib::CalibElectron * > & | aZCandidate | ) | [static] |
Definition at line 138 of file ZeeKinematicTools.cc.
Referenced by ZeePlots::fillZInfo().
{
TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
return (ele1LV + ele2LV).Eta();
}
float ZeeKinematicTools::calculateZMass_noTK | ( | const std::pair< calib::CalibElectron *, calib::CalibElectron * > & | aZCandidate | ) | [static] |
Definition at line 106 of file ZeeKinematicTools.cc.
References ZIterativeAlgorithmWithFit::invMassCalc().
{ 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()); }
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().
{ 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()); }
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().
{ 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()); }
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().
{ 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()); }
float ZeeKinematicTools::calculateZPhi | ( | const std::pair< calib::CalibElectron *, calib::CalibElectron * > & | aZCandidate | ) | [static] |
Definition at line 164 of file ZeeKinematicTools.cc.
Referenced by ZeePlots::fillZInfo().
{
TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
return (ele1LV + ele2LV).Phi();
}
float ZeeKinematicTools::calculateZPt | ( | const std::pair< calib::CalibElectron *, calib::CalibElectron * > & | aZCandidate | ) | [static] |
Definition at line 177 of file ZeeKinematicTools.cc.
Referenced by ZeePlots::fillZInfo().
{
TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
return (ele1LV + ele2LV).Pt();
}
float ZeeKinematicTools::calculateZRapidity | ( | const std::pair< calib::CalibElectron *, calib::CalibElectron * > & | aZCandidate | ) | [static] |
Definition at line 124 of file ZeeKinematicTools.cc.
Referenced by ZeePlots::fillZInfo().
{
TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
return (ele1LV + ele2LV).Rapidity();
}
float ZeeKinematicTools::calculateZTheta | ( | const std::pair< calib::CalibElectron *, calib::CalibElectron * > & | aZCandidate | ) | [static] |
Definition at line 151 of file ZeeKinematicTools.cc.
Referenced by ZeePlots::fillZInfo().
{
TLorentzVector ele1LV( aZCandidate.first->getRecoElectron()->px(), aZCandidate.first->getRecoElectron()->py(), aZCandidate.first->getRecoElectron()->pz(), aZCandidate.first->getRecoElectron()->superCluster()->energy());
TLorentzVector ele2LV( aZCandidate.second->getRecoElectron()->px(), aZCandidate.second->getRecoElectron()->py(), aZCandidate.second->getRecoElectron()->pz(), aZCandidate.second->getRecoElectron()->superCluster()->energy());
return (ele1LV + ele2LV).Theta();
}
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(), funct::exp(), funct::sin(), and mathSSE::sqrt().
Referenced by ZeeCalibration::duringLoop().
{ float theta1 = 2. * atan( exp(- aZCandidate.first->getRecoElectron()->superCluster()->eta()) ); float phi1 = aZCandidate.first->getRecoElectron()->superCluster()->phi(); float x1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * cos ( phi1 ); float y1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * sin ( phi1 ); float z1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * cos(theta1); float mod1 = sqrt( x1*x1 + y1*y1 + z1*z1 ); float theta2 = 2. * atan( exp(- aZCandidate.second->getRecoElectron()->superCluster()->eta()) ); float phi2 = aZCandidate.second->getRecoElectron()->superCluster()->phi(); float x2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * cos ( phi2 ); float y2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * sin ( phi2 ); float z2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * cos(theta2); float mod2 = sqrt( x2*x2 + y2*y2 + z2*z2 ); return (x1*x2 + y1*y2 + z1*z2)/( mod1* mod2 ); }
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(), funct::exp(), funct::sin(), and mathSSE::sqrt().
Referenced by ZeeCalibration::duringLoop().
{ float theta1 = 2. * atan( exp(- aZCandidate.first->getRecoElectron()->eta()) ); float phi1 = aZCandidate.first->getRecoElectron()->phi(); float x1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * cos ( phi1 ); float y1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * sin(theta1) * sin ( phi1 ); float z1 = aZCandidate.first->getRecoElectron()->superCluster()->energy() * cos(theta1); float mod1 = sqrt( x1*x1 + y1*y1 + z1*z1 ); float theta2 = 2. * atan( exp(- aZCandidate.second->getRecoElectron()->eta()) ); float phi2 = aZCandidate.second->getRecoElectron()->phi(); float x2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * cos ( phi2 ); float y2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * sin(theta2) * sin ( phi2 ); float z2 = aZCandidate.second->getRecoElectron()->superCluster()->energy() * cos(theta2); float mod2 = sqrt( x2*x2 + y2*y2 + z2*z2 ); return (x1*x2 + y1*y2 + z1*z2)/( mod1* mod2 ); }