00001 #ifndef CALIB_ENDCAP_ATTEN_H 00002 #define CALIB_ENDCAP_ATTEN_H 00003 00004 #include "tofcalgsec/TofCalibFit.h" 00005 00006 const int nEndcapAtten = 5; // number of calib_endcap_atten.txt 00007 const int nParEcAtten = 4; // 4: mean, mean error, sigma, sigma error 00008 const int nGraphEcAtten = 2; 00009 00010 class calib_endcap_atten:public TofCalibFit { 00011 public: 00012 calib_endcap_atten( const unsigned int nrbin ); 00013 ~calib_endcap_atten(); 00014 00015 void calculate( RecordSet*& data, unsigned int icounter ); 00016 00017 private: 00018 void fillRecord( const Record* r, unsigned int icounter ); 00019 void fitHistogram( unsigned int icounter ); 00020 void fillGraph( unsigned int icounter ); 00021 void fitGraph( unsigned int icounter ); 00022 00023 void updateData( Record* r, unsigned int icounter ); 00024 void fillRecordQ0( const Record* r, unsigned int icounter ); 00025 void fitHistogramQ0( unsigned int icounter ); 00026 void fillGraphQ0(); 00027 00028 private: 00029 std::vector<double> rpos; 00030 std::vector<double> rposerr; 00031 double rstep; 00032 std::vector<double> itofid; 00033 std::vector<double> itofiderr; 00034 double itofidstep; 00035 00036 std::vector<HepVector> m_fitresult; 00037 }; 00038 00039 #endif 00040