ParameterResolutions.cxx

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

Generated on Mon Sep 24 14:19:12 2007 for AtlfastAlgs by  doxygen 1.5.1