Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ParameterResolutions.cxx

Go to the documentation of this file.
00001 #include "AtlfastAlgs/ParameterResolutions.h"
00002 #include <cmath>
00003 
00004 namespace Atlfast {
00005 
00006   double ParameterResolutions::resolution(const TrackTrajectory& traj ) const{
00007     // resolutions are given by c0(eta) + c1(eta)/pT + c2(eta)/pT^0.5 + c3(eta)/pT^2....
00008     // have to interpolate eta between bin edges for coefficients
00009     TrackParameters track = traj.parameters();
00010     double eta = abs(track.eta());
00011     double pT = track.pT();
00012 
00013     vector<BinID>::const_iterator iter = m_coefficientBins.begin();
00014     vector<BinID>::const_iterator end = m_coefficientBins.end();
00015     vector<double> coefficients;
00016     for (;iter!=end;++iter) {
00017       double value = this->interpolate(eta, iter->low(), iter->high());
00018       coefficients.push_back(value);
00019     }
00020     return calculateResolution(pT, coefficients);
00021   }
00022 
00023   double ParameterResolutions::interpolate(double eta, double coeffLow, double coeffHigh) const {
00024     double slope = (coeffHigh - coeffLow) / ( m_etaHigh - m_etaLow );
00025     double value = ( coeffLow + slope*( eta - m_etaLow ) );
00026     return value;
00027   }
00028   double ParameterResolutions::calculateResolution(double pT,const vector<double>& coefficients) const{
00029     if (pT == 0) return 0;
00030     double resolution=0;
00031     vector<double>::const_iterator powerSeries = m_powerSeries.begin();
00032     vector<double>::const_iterator iter = coefficients.begin();
00033     vector<double>::const_iterator end = coefficients.end();
00034     
00035     for (;iter != end; ++iter)
00036       {
00037         resolution += (*iter)/( pow( pT,(*powerSeries) ) ); 
00038         ++powerSeries;
00039       }   
00040     return resolution;
00041   }
00042 
00043 }

Generated on Tue Mar 18 11:18:24 2003 for AtlfastAlgs by doxygen1.3-rc1