00001 #ifndef TRIGTAUMATCHING_TRIGTAUMATCHING_H
00002 #define TRIGTAUMATCHING_TRIGTAUMATCHING_H
00003
00004
00005 #include "TrigTauMatching/ITrigTauMatching.h"
00006
00007 #include <AsgTools/AsgTool.h>
00008 #include <AsgTools/ToolHandle.h>
00009
00010 #include <TrigDecisionTool/TrigDecisionTool.h>
00011
00012 namespace Trig
00013 {
00014 class TrigTauMatchingTool :
00015 virtual public ITrigTauMatchingTool,
00016 virtual public asg::AsgTool
00017 {
00019 ASG_TOOL_CLASS(TrigTauMatchingTool, ITrigTauMatchingTool)
00020
00021 public:
00023 TrigTauMatchingTool(const std::string &name);
00024
00025 virtual ~TrigTauMatchingTool() {};
00026
00027 virtual StatusCode initialize(void);
00028
00029
00030
00031 virtual bool match(const xAOD::TauJet *p,
00032 const std::string &trigger,
00033 double deltaRCut = 0.2);
00034
00035
00036
00037 virtual bool match(const xAOD::TauJet *p,
00038 const std::string &trigger,
00039 const xAOD::TauJetContainer *c,
00040 double deltaRCut = 0.2);
00041
00042
00043
00044 virtual bool matchL1(const xAOD::TauJet *p,
00045 const std::string &trigger,
00046 const xAOD::EmTauRoIContainer *c,
00047 double deltaRCut = 0.3);
00048
00049
00050
00051 virtual const xAOD::TauJet *
00052 getHLT(const xAOD::TauJet *p,
00053 const std::string &trigger,
00054 double deltaRCut = 0.2);
00055
00056
00057
00058
00059 virtual const xAOD::EmTauRoI *
00060 getL1FromHLT(const xAOD::TauJet *p,
00061 const std::string &trigger,
00062 const xAOD::EmTauRoIContainer *c,
00063 double deltaRCut = 0.3);
00064
00065
00066 virtual unsigned int getCondition();
00067 private:
00068 ToolHandle<Trig::TrigDecisionTool> m_trigDecTool;
00069 std::string m_hltLabel;
00070 std::string m_l1Label;
00071 bool m_allowResurrectedDecision;
00072
00073 private:
00074 static const std::string kDefaultHLTLabel;
00075 static const std::string kDefaultL1Label;
00076 };
00077 }
00078
00079 #endif