00001 #ifndef Analysis_AbsCor_H 00002 #define Analysis_AbsCor_H 00003 00004 #include "GaudiKernel/AlgFactory.h" 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "GaudiKernel/NTuple.h" 00007 #include "TGraphErrors.h" 00008 00009 class TGraph2DErrors; 00010 class AbsCor : public Algorithm { 00011 00012 public: 00013 AbsCor(const std::string& name, ISvcLocator* pSvcLocator); 00014 StatusCode initialize(); 00015 StatusCode execute(); 00016 StatusCode finalize(); 00017 double corEnergyPi0(double eg,double theid); 00018 private: 00019 bool ntOut; 00020 int mccor; 00021 int edgecor; 00022 int usetof; 00023 int dodatacor; 00024 int dopi0Cor; 00025 int MCuseTof; 00026 int hotcellmask; 00027 int hrunstart[10]; 00028 int hrunend[10]; 00029 int hcell[10]; 00030 00031 00032 int **m_index; 00033 double **m_par; 00034 double **m_parphi; 00035 00036 00037 double ECorrMC(double eg, double theid) const; 00038 double ErrMC(double eg, double theid) const; 00039 double E25min(int n) const; 00040 double E25max(int n) const; 00041 00042 double e25min[28]; 00043 double e25max[28]; 00044 // Shower energy correction 00045 TGraph2DErrors *dt; 00046 // Energy error 00047 TGraph2DErrors *dtErr; 00048 00049 00050 00051 00052 NTuple::Tuple* m_tuple1; 00053 NTuple::Item<double> m_ef; 00054 NTuple::Item<double> m_e5; 00055 NTuple::Item<double> m_ct; 00056 NTuple::Item<double> m_cedge; 00057 NTuple::Item<double> m_ec; 00058 00059 }; 00060 #endif