00001 #ifndef TAUREC_TAUCALIBRATELC_H
00002 #define TAUREC_TAUCALIBRATELC_H
00003
00004 #include "tauRecTools/TauRecToolBase.h"
00005
00006 class TH1;
00007 class TF1;
00008
00019 class TauCalibrateLC : virtual public TauRecToolBase {
00020 public:
00021
00022 ASG_TOOL_CLASS2( TauCalibrateLC, TauRecToolBase, ITauToolBase )
00023
00024 TauCalibrateLC(const std::string& type);
00025 TauCalibrateLC();
00026 ~TauCalibrateLC();
00027
00028 virtual StatusCode initialize();
00029 virtual StatusCode finalize();
00030 virtual StatusCode execute(xAOD::TauJet& pTau);
00031 virtual StatusCode eventInitialize() { return StatusCode::SUCCESS; }
00032 virtual StatusCode eventFinalize() { return StatusCode::SUCCESS; }
00033
00034 virtual void print() const { }
00035
00036
00037 private:
00038 std::string m_configPath;
00039 std::string tauContainerKey;
00040 std::string vertexContainerKey;
00041 std::string calibrationFile;
00042
00043 static const int nProngBins = 2;
00044
00045 const TF1 * calibFunc[nProngBins][10];
00046 const TH1 * slopeNPVHist[nProngBins]={0};
00047 const TH1 * etaBinHist=0;
00048 const TH1 * etaCorrectionHist=0;
00049
00050 unsigned int m_minNTrackAtVertex=0;
00051 int m_nEtaBins=0;
00052 double m_averageNPV=0;
00053
00054 bool m_doEnergyCorr;
00055 bool m_doAxisCorr;
00056 bool m_printMissingContainerINFO;
00057 bool m_isCaloOnly;
00058
00059 double m_clusterCone;
00060 };
00061
00062 #endif