ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonSelectionTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONSELECTORTOOLS_IMUONSELECTIONTOOL_H
6#define MUONSELECTORTOOLS_IMUONSELECTIONTOOL_H
7
8// Framework include(s):
9#include "AsgTools/IAsgTool.h"
10#include "PATCore/AcceptData.h"
11#include "PATCore/AcceptInfo.h"
12
13// EDM include(s):
14#include "xAODMuon/Muon.h"
15
16namespace CP {
17
25 class IMuonSelectionTool : public virtual asg::IAsgTool {
28
29 public:
49
51 virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
52
54 virtual asg::AcceptData accept(const xAOD::Muon& mu) const = 0;
55
57 virtual void setPassesIDCuts(xAOD::Muon& mu) const = 0;
58
60 // virtual void setPassesLowPtEfficiencyCuts( xAOD::Muon& mu ) const = 0;
61
63 virtual void setQuality(xAOD::Muon& mu) const = 0;
64
67 virtual bool passedIDCuts(const xAOD::Muon&) const = 0;
68
70 virtual bool passedMuonCuts(const xAOD::Muon&) const = 0;
71
73 virtual bool passedIDCuts(const xAOD::TrackParticle&) const = 0;
74
77 virtual bool passedHighPtCuts(const xAOD::Muon&) const = 0;
78
81 virtual bool passedLowPtEfficiencyCuts(const xAOD::Muon&) const = 0;
82 virtual bool passedLowPtEfficiencyCuts(const xAOD::Muon&, xAOD::Muon::Quality thisMu_quality) const = 0;
83
85 virtual bool passedErrorCutCB(const xAOD::Muon&) const = 0;
86
88 virtual bool isBadMuon(const xAOD::Muon&) const = 0;
89
91 virtual xAOD::Muon::Quality getQuality(const xAOD::Muon& mu) const = 0;
92
94 virtual bool passedCaloTagQuality(const xAOD::Muon& mu) const = 0;
95
97 virtual bool passedCaloScore(const xAOD::Muon& mu) const = 0;
98
100 virtual int getResolutionCategory(const xAOD::Muon&) const = 0;
101
103 virtual float getTightNNScore(const xAOD::Muon& muon) const = 0;
104
105 }; // class IMuonSelectionTool
106
107} // namespace CP
108
109#endif // CPTOOLTESTS_IMUONSELECTIONTOOL_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
Interface for (a) muon selector tool(s)
virtual xAOD::Muon::Quality getQuality(const xAOD::Muon &mu) const =0
Returns the quality of the muon. To set the value on the muon, instead call setQuality(xAOD::Muon&) c...
virtual bool isBadMuon(const xAOD::Muon &) const =0
Returns true if a CB muon fails some loose quaility requirements designed to remove pathological trac...
ResolutionCategory
Declare the interface that the class provides.
virtual bool passedIDCuts(const xAOD::Muon &) const =0
Returns true if the muon passes the standard MCP ID cuts.
virtual asg::AcceptData accept(const xAOD::Muon &mu) const =0
Decide whether the muon in question is a "good muon" or not.
virtual void setQuality(xAOD::Muon &mu) const =0
set the passes low pT cuts variable of the muon
virtual bool passedCaloTagQuality(const xAOD::Muon &mu) const =0
Returns true if the muon passes additional calo-tag quality cuts.
virtual bool passedMuonCuts(const xAOD::Muon &) const =0
Returns true if the muon passes a standardized loose preselection.
virtual bool passedErrorCutCB(const xAOD::Muon &) const =0
Returns true if a CB muon passes a pt- and eta-dependent cut on the relative CB q/p error.
virtual int getResolutionCategory(const xAOD::Muon &) const =0
Returns an integer corresponding to categorization of muons with different resolutions.
virtual bool passedLowPtEfficiencyCuts(const xAOD::Muon &) const =0
Returns true if the muon passes the standard MCP low pt cuts.
virtual const asg::AcceptInfo & getAcceptInfo() const =0
Decide whether the muon in question is a "good muon" or not.
virtual void setPassesIDCuts(xAOD::Muon &mu) const =0
set the passes ID cuts variable of the muon
virtual bool passedHighPtCuts(const xAOD::Muon &) const =0
Returns true if the muon passes the standard MCP high pt cuts.
virtual bool passedCaloScore(const xAOD::Muon &mu) const =0
Returns true if the muon passes the CaloScore calo-tag working point.
virtual bool passedLowPtEfficiencyCuts(const xAOD::Muon &, xAOD::Muon::Quality thisMu_quality) const =0
virtual float getTightNNScore(const xAOD::Muon &muon) const =0
Returns the TightNNscore of the muon, an experimental ML-based score for the identification of muons ...
virtual bool passedIDCuts(const xAOD::TrackParticle &) const =0
Returns true if the track particle passes the standard MCP ID cuts.
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Select isolated Photons, Electrons and Muons.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Muon_v1 Muon
Reference the current persistent version: