ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMuonMatching.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGMUONEFFICIENCY_MUONEFFICIENCYTOOL_H
6#define TRIGMUONEFFICIENCY_MUONEFFICIENCYTOOL_H
7
8
10
12#include "AsgTools/AsgTool.h"
13#include "AsgTools/ToolHandle.h"
14
16
17namespace Trig {
18
21 public virtual ITrigMuonMatching
22 {
25
26 public:
27
28 TrigMuonMatching( const std::string& name );
29
30 virtual ~TrigMuonMatching();
31
32 virtual StatusCode initialize(void) override;
33
34 virtual Bool_t match(const xAOD::Muon* mu,
35 std::string_view chain,
36 const double mindelR = 0.1) const override;
37
38 virtual Bool_t matchL1(const xAOD::Muon* mu,
39 std::string_view l1item,
40 const double DelR = 0.2) const override;
41
42 virtual Bool_t matchL2SA(const xAOD::Muon* mu,
43 std::string_view l1item,
44 std::string_view chain,
45 const double DelR = 0.2) const override;
46
47 virtual Bool_t matchL2CB(const xAOD::Muon* mu,
48 std::string_view chain,
49 const double DelR = 0.2) const override;
50
51 virtual Double_t minDelR(const xAOD::Muon* mu,
52 std::string_view chain,
53 const double mindelR = 0.1) const override;
54
55 virtual Double_t minDelRL1(const xAOD::Muon* mu,
56 std::string_view l1item,
57 const double DelR = 0.2) const override;
58
59 virtual Bool_t matchDimuon(const xAOD::Muon* mu1,
60 const xAOD::Muon* mu2,
61 const std::string& chain,
62 std::pair<Bool_t, Bool_t>& result1,
63 std::pair<Bool_t, Bool_t>& result2,
64 const Double_t& mindelR = 0.1) override;
65
66 virtual Bool_t match(const double eta,
67 const double phi,
68 std::string_view chain,
69 const double mindelR = 0.1) const override;
70
71 virtual Bool_t matchL1(const double eta,
72 const double phi,
73 std::string_view l1item,
74 const double DelR = 0.2) const override;
75
76 virtual Bool_t matchDimuon(const TLorentzVector& muon1,
77 const TLorentzVector& muon2,
78 const std::string& chain,
79 std::pair<Bool_t, Bool_t>& result1,
80 std::pair<Bool_t, Bool_t>& result2,
81 const Double_t& mindelR = 0.1) override;
82
83 virtual Bool_t isPassedRerun(const std::string& trigger) const override;
84
85 struct EFmuon {
86 bool valid{};
87 float pt{-1.e30};
88 float eta{-1.e30};
89 float phi{-1.e30};
90
91 };
92
93 private:
94
95 ToolHandle<Trig::TrigDecisionTool> m_trigDecTool;
96
97 std::map<std::string, DimuonChainInfo> m_DimuonChainMap;
98
99 std::pair<bool,bool> matchDimuon(const TLorentzVector& muon1,
100 const TLorentzVector& muon2,
101 const DimuonChainInfo& chainInfo,
102 const double mindelR);
103
104 double dR(const double eta1,
105 const double phi1,
106 const double eta2,
107 const double phi2) const;
108
109 int getL1pt(std::string_view l1item) const;
110
111
112
113 Double_t matchedTrackDetail(EFmuon& efMuonId,
114 const EFmuon& usedEFMuonId,
115 const double eta,
116 const double phi,
117 const double mindelR,
118 std::string_view chainEventTrigger) const;
119
120 bool decodeDimuonChain(DimuonChainInfo& chainInfo);
121
122 bool isEqual(const double x,
123 const double y) const;
124
125
126 };
127}
128
129#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
#define ASG_TOOL_INTERFACE(CLASSNAME)
#define y
#define x
int getL1pt(std::string_view l1item) const
TrigMuonMatching(const std::string &name)
std::map< std::string, DimuonChainInfo > m_DimuonChainMap
virtual Double_t minDelR(const xAOD::Muon *mu, std::string_view chain, const double mindelR=0.1) const override
bool isEqual(const double x, const double y) const
virtual Bool_t matchL1(const xAOD::Muon *mu, std::string_view l1item, const double DelR=0.2) const override
virtual Bool_t matchL2CB(const xAOD::Muon *mu, std::string_view chain, const double DelR=0.2) const override
ToolHandle< Trig::TrigDecisionTool > m_trigDecTool
virtual Double_t minDelRL1(const xAOD::Muon *mu, std::string_view l1item, const double DelR=0.2) const override
bool decodeDimuonChain(DimuonChainInfo &chainInfo)
virtual StatusCode initialize(void) override
Dummy implementation of the initialisation function.
Double_t matchedTrackDetail(EFmuon &efMuonId, const EFmuon &usedEFMuonId, const double eta, const double phi, const double mindelR, std::string_view chainEventTrigger) const
virtual Bool_t matchDimuon(const xAOD::Muon *mu1, const xAOD::Muon *mu2, const std::string &chain, std::pair< Bool_t, Bool_t > &result1, std::pair< Bool_t, Bool_t > &result2, const Double_t &mindelR=0.1) override
double dR(const double eta1, const double phi1, const double eta2, const double phi2) const
virtual Bool_t matchL2SA(const xAOD::Muon *mu, std::string_view l1item, std::string_view chain, const double DelR=0.2) const override
virtual Bool_t match(const xAOD::Muon *mu, std::string_view chain, const double mindelR=0.1) const override
virtual Bool_t isPassedRerun(const std::string &trigger) const override
Base class for dual-use tools that provide file metadata access.
The common trigger namespace for trigger analysis tools.
Muon_v1 Muon
Reference the current persistent version: