00001 #ifndef TAURECTOOLSDEV_MVATESEVALUATOR_H
00002 #define TAURECTOOLSDEV_MVATESEVALUATOR_H
00003
00004
00005 #include "tauRecTools/TauRecToolBase.h"
00006
00007
00008 #include "xAODEventInfo/EventInfo.h"
00009
00010
00011 #if not defined(__CINT__) || defined(__MAKECINT__)
00012 #include "TMVA/Tools.h"
00013 #include "TMVA/Reader.h"
00014 #endif
00015
00016 class MvaTESEvaluator
00017 : public TauRecToolBase
00018 {
00019 public:
00020 ASG_TOOL_CLASS2(MvaTESEvaluator, TauRecToolBase, ITauToolBase)
00021
00022 MvaTESEvaluator(const std::string& name="MvaTESEvaluator");
00023 virtual ~MvaTESEvaluator();
00024
00025 StatusCode initialize();
00026 StatusCode eventInitialize();
00027 StatusCode execute(xAOD::TauJet& xTau);
00028 StatusCode eventFinalize();
00029 StatusCode finalize() { delete reader; return StatusCode::SUCCESS;}
00030
00031 private:
00032 const xAOD::EventInfo* m_xEventInfo;
00033 const xAOD::VertexContainer* m_xVertexContainer;
00034 float m_mu;
00035 int m_nVtxPU;
00036
00037
00038 std::string m_sWeightFileName;
00039
00040
00041 TMVA::Reader *reader;
00042
00043
00044 float mu;
00045 float nVtxPU;
00046
00047 float CenterLambda;
00048 float FirstEngDens;
00049 float SecondLambda;
00050 float PresamplerFrac;
00051 float EMProbability;
00052
00053 float interpolPt;
00054 float LC_D_interpolPt;
00055 float pantau_D_interpolPt;
00056 float etaPanTauCellBased;
00057
00058 float nPi0s;
00059 float PFOEngRelDiff;
00060 float nTracks;
00061
00062
00063 float truthPtVis;
00064 float ptTauEtaCalib;
00065 float ptPanTauCellBased;
00066 };
00067
00068 #endif // TAURECTOOLSDEV_MVATESEVALUATOR_H