00001
00002 #ifndef TAUANALYSISTOOLS_TAUOVERLAPPINGELECTRONLLHDECORATOR_H
00003 #define TAUANALYSISTOOLS_TAUOVERLAPPINGELECTRONLLHDECORATOR_H
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "AsgTools/AsgMetadataTool.h"
00017 #include "ElectronPhotonSelectorTools/AsgElectronLikelihoodTool.h"
00018
00019
00020 #include "xAODEgamma/ElectronContainer.h"
00021
00022
00023 #include "TauAnalysisTools/ITauOverlappingElectronLLHDecorator.h"
00024
00025
00026 #include "TH2D.h"
00027
00028 namespace TauAnalysisTools
00029 {
00030
00031 class SelectionCutEleOLR;
00032
00033 class TauOverlappingElectronLLHDecorator
00034 : public virtual ITauOverlappingElectronLLHDecorator
00035 , public asg::AsgMetadataTool
00036 {
00037
00039 ASG_TOOL_CLASS( TauOverlappingElectronLLHDecorator,
00040 TauAnalysisTools::ITauOverlappingElectronLLHDecorator )
00041
00042 friend class SelectionCutEleOLR;
00043
00044 public:
00046 TauOverlappingElectronLLHDecorator( const std::string& name );
00047
00048 ~TauOverlappingElectronLLHDecorator( );
00049
00051 virtual StatusCode initialize();
00052
00053 virtual StatusCode initializeEvent() __attribute__ ((deprecated("This function is deprecated. Please remove it from your code.\nFor further information please refer to the README:\nhttps://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/TauID/TauAnalysisTools/trunk/doc/README-TauOverlappingElectronLLHDecorator.rst")));
00054
00055 virtual StatusCode decorate(const xAOD::TauJet& xTau) const;
00056
00057 virtual StatusCode setEleOlrPassDecorationName(const std::string& name);
00058 virtual StatusCode setEleOlrLhScoreDecorationName(const std::string& name);
00059
00060 private:
00061 AsgElectronLikelihoodTool* m_tEMLHTool;
00062 mutable const xAOD::ElectronContainer* m_xElectronContainer;
00063 std::string m_sElectronContainerName;
00064 bool m_bElectonsAvailable;
00065 std::string m_sEleOLRFilePath;
00066 TH2D* m_hCutValues;
00067
00068 private:
00069 float getCutVal(float fEta, float fPt) const;
00070 StatusCode retrieveElectrons() const;
00071 virtual StatusCode beginEvent();
00072
00073 private:
00074 mutable bool m_bEleOLRMatchAvailable;
00075 mutable bool m_bNewEvent;
00076
00077 std::string m_sElectronPhotonSelectorToolsConfigFile;
00078 std::string m_sEleOlrPassDecorationName;
00079 std::string m_sEleOlrLhScoreDecorationName;
00080
00081 };
00082
00083 }
00084
00085 #endif // TAUANALYSISTOOLS_TAUOVERLAPPINGELECTRONLLHDECORATOR_H