ATLAS Offline Software
Loading...
Searching...
No Matches
MatchingTool.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TRIGGERMATCHINGTOOL_MATCHINGTOOL_H
8#define TRIGGERMATCHINGTOOL_MATCHINGTOOL_H
9
10// Framework include(s):
11#include "AsgTools/AsgTool.h"
12#include "AsgTools/ToolHandle.h"
13
19
20namespace Trig {
21
22class MatchingTool : public asg::AsgTool,
23 virtual public Trig::IMatchingTool {
25
26public:
28 MatchingTool(const std::string& name);
30 StatusCode initialize() override;
31
32 bool match(const std::vector<const xAOD::IParticle*>& recoObjects, const std::string& chain, double matchTreshold, bool rerun) const override;
33 bool match(const xAOD::IParticle& recoObjects, const std::string& chain, double matchTreshold, bool rerun) const override;
34
35protected:
36 const MatchingImplementation* impl() const override;
37
38 bool matchSingleType(const std::vector<const xAOD::IParticle*>& subRecoObjects, Trig::Combination& comb, const std::string& chain, double threshold) const;
39
40 bool matchCombination(const std::vector<const xAOD::IParticle*>& recoObjects, Trig::Combination& comb, const std::string& chain, double threshold) const;
41
42
43#ifndef XAOD_STANDALONE
44 void updateThreshold(Gaudi::Details::PropertyBase& p);
45#endif
46
47private:
48
51 ToolHandle<Trig::TrigDecisionTool> m_trigDecTool;
52 ToolHandle<Trig::IMatchScoringTool> m_scoreTool{
53 this, "ScoringTool", "Trig::DRScoringTool","Tool to score pairs of particles"};
55};
56
57}
58
59#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
is a connector between chains and object It store single combination of trigger elements.
ToolHandle< Trig::IMatchScoringTool > m_scoreTool
bool match(const std::vector< const xAOD::IParticle * > &recoObjects, const std::string &chain, double matchTreshold, bool rerun) const override
multi-object trigger matching
const MatchingImplementation * impl() const override
friend class MatchingImplementation
MatchingImplementation * m_impl
void updateThreshold(Gaudi::Details::PropertyBase &p)
bool matchCombination(const std::vector< const xAOD::IParticle * > &recoObjects, Trig::Combination &comb, const std::string &chain, double threshold) const
ToolHandle< Trig::TrigDecisionTool > m_trigDecTool
StatusCode initialize() override
Dummy implementation of the initialisation function.
bool matchSingleType(const std::vector< const xAOD::IParticle * > &subRecoObjects, Trig::Combination &comb, const std::string &chain, double threshold) const
MatchingTool(const std::string &name)
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Class providing the definition of the 4-vector interface.
The common trigger namespace for trigger analysis tools.