ATLAS Offline Software
ITrigMuonMatching.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGMUONEFFICIENCY_IMUONEFFICIENCYTOOL_H
6 #define TRIGMUONEFFICIENCY_IMUONEFFICIENCYTOOL_H
7 
8 #include "AsgTools/IAsgTool.h"
9 
10 #include "xAODMuon/Muon.h"
12 
14 public:
15  std::string chain;
16  std::pair<std::string, std::string> thresholds;
17  bool isEFFS;
19  bool isValid;
20 
21 DimuonChainInfo(const std::string& chain_="") :
22  chain(chain_), thresholds(), isEFFS(false), isSymmetric(false), isValid(false) {}
23 
24 };
25 
26 
27 namespace Trig {
28 
29  class ITrigMuonMatching : public virtual asg::IAsgTool {
30 
32 
33  public:
34  virtual StatusCode initialize(void) = 0;
35 
36  virtual Bool_t match(const xAOD::Muon* mu,
37  const std::string &chain,
38  const double mindelR = 0.1) const = 0;
39 
40  virtual Bool_t matchL1(const xAOD::Muon* mu,
41  const std::string &l1item,
42  const double DelR = 0.2) const = 0;
43 
44  virtual Bool_t matchL2SA(const xAOD::Muon* mu,
45  const std::string &l1item,
46  const std::string & chain,
47  const double DelR = 0.2) const = 0;
48 
49  virtual Bool_t matchL2CB(const xAOD::Muon* mu,
50  const std::string & chain,
51  const double DelR = 0.2) const = 0;
52 
53  virtual Double_t minDelR(const xAOD::Muon* mu,
54  const std::string &chain,
55  const double mindelR = 0.1) const = 0;
56 
57  virtual Double_t minDelRL1(const xAOD::Muon* mu,
58  const std::string &l1item,
59  const double DelR = 0.2) const = 0;
60 
61  virtual Bool_t matchDimuon(const xAOD::Muon* mu1,
62  const xAOD::Muon* mu2,
63  const std::string& chain,
64  std::pair<Bool_t, Bool_t>& result1,
65  std::pair<Bool_t, Bool_t>& result2,
66  const Double_t& mindelR = 0.1) = 0;
67 
68  virtual Bool_t match(const double eta,
69  const double phi,
70  const std::string &chain,
71  const double mindelR = 0.1) const = 0;
72 
73  virtual Bool_t matchL1(const double eta,
74  const double phi,
75  const std::string &l1item,
76  const double DelR = 0.2) const = 0;
77 
78  virtual Bool_t matchDimuon(const TLorentzVector& muon1,
79  const TLorentzVector& muon2,
80  const std::string& chain,
81  std::pair<Bool_t, Bool_t>& result1,
82  std::pair<Bool_t, Bool_t>& result2,
83  const Double_t& mindelR = 0.1) = 0;
84 
85  virtual Bool_t isPassedRerun(const std::string& trigger) const = 0;
86 
87  };
88 
89 }
90 
91 #endif
Trig::ITrigMuonMatching::match
virtual Bool_t match(const double eta, const double phi, const std::string &chain, const double mindelR=0.1) const =0
Trig::ITrigMuonMatching::matchL1
virtual Bool_t matchL1(const xAOD::Muon *mu, const std::string &l1item, const double DelR=0.2) const =0
Trig::ITrigMuonMatching::isPassedRerun
virtual Bool_t isPassedRerun(const std::string &trigger) const =0
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
Trig
The common trigger namespace for trigger analysis tools.
Definition: CaloTowerVecMon.h:44
Muon.h
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
Trig::ITrigMuonMatching::matchDimuon
virtual Bool_t matchDimuon(const TLorentzVector &muon1, const TLorentzVector &muon2, const std::string &chain, std::pair< Bool_t, Bool_t > &result1, std::pair< Bool_t, Bool_t > &result2, const Double_t &mindelR=0.1)=0
Trig::ITrigMuonMatching::minDelRL1
virtual Double_t minDelRL1(const xAOD::Muon *mu, const std::string &l1item, const double DelR=0.2) const =0
DimuonChainInfo::thresholds
std::pair< std::string, std::string > thresholds
Definition: ITrigMuonMatching.h:16
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
Trig::ITrigMuonMatching::initialize
virtual StatusCode initialize(void)=0
Trig::ITrigMuonMatching::match
virtual Bool_t match(const xAOD::Muon *mu, const std::string &chain, const double mindelR=0.1) const =0
Trig::ITrigMuonMatching::matchL2SA
virtual Bool_t matchL2SA(const xAOD::Muon *mu, const std::string &l1item, const std::string &chain, const double DelR=0.2) const =0
TrigDecisionTool.h
DimuonChainInfo::chain
std::string chain
Definition: ITrigMuonMatching.h:15
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
DimuonChainInfo::DimuonChainInfo
DimuonChainInfo(const std::string &chain_="")
Definition: ITrigMuonMatching.h:21
Trig::ITrigMuonMatching::matchL1
virtual Bool_t matchL1(const double eta, const double phi, const std::string &l1item, const double DelR=0.2) const =0
DimuonChainInfo::isEFFS
bool isEFFS
Definition: ITrigMuonMatching.h:17
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
Trig::ITrigMuonMatching::matchL2CB
virtual Bool_t matchL2CB(const xAOD::Muon *mu, const std::string &chain, const double DelR=0.2) const =0
DimuonChainInfo::isValid
bool isValid
Definition: ITrigMuonMatching.h:19
DimuonChainInfo
Definition: ITrigMuonMatching.h:13
Trig::ITrigMuonMatching::matchDimuon
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)=0
Trig::ITrigMuonMatching
Definition: ITrigMuonMatching.h:29
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
PhysDESDM_Quirks.trigger
trigger
Definition: PhysDESDM_Quirks.py:27
DimuonChainInfo::isSymmetric
bool isSymmetric
Definition: ITrigMuonMatching.h:18
Trig::ITrigMuonMatching::minDelR
virtual Double_t minDelR(const xAOD::Muon *mu, const std::string &chain, const double mindelR=0.1) const =0