ATLAS Offline Software
Loading...
Searching...
No Matches
IMatchingTool.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef IMATCHINGTOOL_H
8#define IMATCHINGTOOL_H
9
10
11// Framework include(s):
12#include "AsgTools/IAsgTool.h"
13#include <string_view>
14#include <vector>
15namespace xAOD{
16 class IParticle;
17}
18
19
20
21namespace Trig {
22
24
25class IMatchingTool : virtual public asg::IAsgTool {
27public:
28
30 virtual bool match(const xAOD::IParticle& recoObject, std::string_view chain, double matchThreshold=0.1, bool rerun=false) const = 0;
32 virtual bool match(const std::vector<const xAOD::IParticle*>& recoObjects, std::string_view chain, double matchThreshold=0.1, bool rerun=false) const = 0;
33
34protected:
35 virtual const MatchingImplementation* impl() const = 0;
36};
37
38}
39
40#endif
#define ASG_TOOL_INTERFACE(CLASSNAME)
virtual bool match(const xAOD::IParticle &recoObject, std::string_view chain, double matchThreshold=0.1, bool rerun=false) const =0
single object trigger matching. matchThreshold is typically the deltaR requirement to obtain positive...
virtual bool match(const std::vector< const xAOD::IParticle * > &recoObjects, std::string_view chain, double matchThreshold=0.1, bool rerun=false) const =0
multi-object trigger matching
virtual const MatchingImplementation * impl() const =0
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Class providing the definition of the 4-vector interface.
The common trigger namespace for trigger analysis tools.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.