00001 #ifndef ParameterRESOLUTION__H 00002 #define ParameterRESOLUTION__H 00003 00004 #include "AtlfastAlgs/BinID.h" 00005 #include "AtlfastEvent/TrackTrajectory.h" 00006 00007 namespace Atlfast 00008 { 00009 class ParameterResolutions 00010 { 00011 public: 00012 00013 ParameterResolutions() {} 00014 ParameterResolutions(std::vector<BinID>& bins, double low, double high) 00015 : m_coefficientBins(bins), m_etaLow(low), m_etaHigh(high) 00016 { 00017 m_powerSeries.push_back(0); 00018 m_powerSeries.push_back(0.5); 00019 m_powerSeries.push_back(1); 00020 m_powerSeries.push_back(1.5); 00021 m_powerSeries.push_back(2); 00022 } 00023 00024 double resolution(const TrackTrajectory&) const; 00025 00026 private: 00027 00028 double interpolate(double, double, double) const; 00029 double calculateResolution(double, const std::vector<double>&) const; 00030 00031 std::vector<BinID> m_coefficientBins; 00032 std::vector<double> m_powerSeries; 00033 double m_etaLow; 00034 double m_etaHigh; 00035 }; 00036 00037 } 00038 00039 #endif