00001 #ifndef ELECTRONISOLATIONSELECTION_SHOWERDEPTHTOOL_H
00002 #define ELECTRONISOLATIONSELECTION_SHOWERDEPTHTOOL_H
00003
00004
00005 #include <TString.h>
00006
00007
00008 class TH1;
00009
00010 namespace CP {
00011
00012 class ShowerDepthTool{
00013 public :
00014 ShowerDepthTool();
00015 ~ShowerDepthTool();
00017 bool initialize();
00018
00020 float getCorrectedShowerDepthEM1(const float& etas1,const float& phi,const bool& isData = true) const;
00021
00023 float getCorrectedShowerDepthEM2(const float& etas2,const float& phi,const bool& isData = true) const;
00024
00026 std::pair<float, float> getCorrectedRZ(const float& eta,const float& phi,const bool& isData = true,const int& sampling = 1) const;
00027
00029 float getRZCorrection(const float& eta,const float& phi,const bool& isData = true) const;
00030
00032 float getCorrectedEtaDirection(const float& zvertex,const float& eta,const float& phi,const bool& isData=true,const int& sampling = 1) const;
00033
00035 float getCaloPointingEta(const float& etas1,const float& etas2,const float& phi,const bool& isData=true) const;
00036
00038 float getShowerDepthEM1(const float& etas1) const;
00039
00041 float getShowerDepthEM2(const float& etas2) const;
00042
00044 std::pair<float, float> getRZ(const float& eta,const int& sampling) const;
00045
00046 float getEtaDirection(const float& zvertex,const float& R,const float& z) const;
00047
00048
00049 protected:
00050
00052 TH1* getHistoFromFile(const TString& fileName,const TString& histoName);
00053
00054 private:
00055 TH1 *m_hData;
00056 TH1 *m_hMC;
00057 std::string m_configFileName;
00058 TString m_dataHistoName;
00059 TString m_mcHistoName;
00060 };
00061
00062 }
00063
00064 #endif // ELECTRONISOLATIONSELECTION_SHOWERDEPTHTOOL_H