ATLAS Offline Software
ITrigMuonBackExtrapolator.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 __ITRIGMUONBACKEXTRAPOLATOR_H__
6 #define __ITRIGMUONBACKEXTRAPOLATOR_H__
7 
8 #include "GaudiKernel/IAlgTool.h"
9 
13 
14 static const InterfaceID IID_ITrigMuonBackExtrapolator("ITrigMuonBackExtrapolator", 1 , 0);
15 
16 class ITrigMuonBackExtrapolator: virtual public IAlgTool
17 {
18  public:
19 
20  static const InterfaceID& interfaceID() {
21  return IID_ITrigMuonBackExtrapolator;
22  }
23 
24 
25  // extrapolate without using the ID vertex measurement
26  virtual
27  StatusCode give_eta_phi_at_vertex (const MuonFeature*, // input muon track
28  double& extEta, // vertex eta
29  double& sigmaEta, // sigma vertex eta
30  double& extPhi, // vertex phi
31  double& sigmaPhi, // sigma vertex phi
32  double PT) const = 0; // PT of the window
33 
34  virtual
35  StatusCode give_eta_phi_at_vertex (double pt, // pt of muon track
36  const MuonFeature*, // input muon track
37  double& extEta, // vertex eta
38  double& sigmaEta, // sigma vertex eta
39  double& extPhi, // vertex phi
40  double& sigmaPhi, // sigma vertex phi
41  double PT) const = 0; // PT of the window
42 
43  // extrapolate using the ID vertext measurement
44  virtual
45  StatusCode give_eta_phi_at_vertex( const MuonFeature*, // input muon track
46  double ZetaID, // Z vertex from ID
47  double& extEta, // vertex eta
48  double& sigmaEta, // sigma vertex eta
49  double& extPhi, // vertex phi
50  double& sigmaPhi, // sigma vertex phi
51  double PT) const = 0; // PT of the window
52 
53  virtual
54  StatusCode give_eta_phi_at_vertex( double pt, // pt of muon track
55  const MuonFeature*, // input muon track
56  double ZetaID, // Z vertex from ID
57  double& extEta, // vertex eta
58  double& sigmaEta, // sigma vertex eta
59  double& extPhi, // vertex phi
60  double& sigmaPhi, // sigma vertex phi
61  double PT) const = 0; // PT of the window
62 
63 
64  // match ID track and Muon track applying a loose cut window
65  virtual
66  StatusCode loose_window_match (const MuonFeature*, // input muon track
67  const TrigInDetTrack*, // input ID track
68  double winPT, // PT of the window
69  double weight) = 0; // weight of window
70 
71  virtual
72  StatusCode loose_window_match (double pt, // pt of muon track
73  const MuonFeature*, // input muon track
74  const TrigInDetTrack*, // input ID track
75  double winPT, // PT of the window
76  double weight) = 0; // weight of window
77 
78 
79  // match ID track and Muon track applying a tight cut window
80  virtual
81  StatusCode tight_window_match (const MuonFeature*, // input muon track
82  const TrigInDetTrack*, // input ID track
83  double winPT, // PT of the window
84  double weight) = 0; // weight of window
85 
86  virtual
87  StatusCode tight_window_match (double pt, // pt of muon track
88  const MuonFeature*, // input muon track
89  const TrigInDetTrack*, // input ID track
90  double winPT, // PT of the window
91  double weight) = 0; // weight of window
92 
93 
94  // return a Chi^2 between ID track and Muon track position with loose parameters
95  virtual
96  double give_loose_chi2 (const MuonFeature*, // input muon track
97  const TrigInDetTrack*) = 0; // input ID track
98 
99 
100  // return a Chi^2 between ID track and Muon track position with tight parameters
101  virtual
102  double give_tight_chi2 (const MuonFeature*, // input muon track
103  const TrigInDetTrack*) = 0; // input ID track
104 
105  // Use xAOD EDM
106  // extrapolate without using the ID vertex measurement
107  virtual
109  double& extEta, // vertex eta
110  double& sigmaEta, // sigma vertex eta
111  double& extPhi, // vertex phi
112  double& sigmaPhi, // sigma vertex phi
113  double PT) const = 0; // PT of the window
114 
115  virtual
116  StatusCode give_eta_phi_at_vertex (double pt, // pt of muon track
117  const xAOD::L2StandAloneMuon*, // input muon track
118  double& extEta, // vertex eta
119  double& sigmaEta, // sigma vertex eta
120  double& extPhi, // vertex phi
121  double& sigmaPhi, // sigma vertex phi
122  double PT) const = 0; // PT of the window
123 
124  // extrapolate using the ID vertext measurement
125  virtual
127  double ZetaID, // Z vertex from ID
128  double& extEta, // vertex eta
129  double& sigmaEta, // sigma vertex eta
130  double& extPhi, // vertex phi
131  double& sigmaPhi, // sigma vertex phi
132  double PT) const = 0; // PT of the window
133 
134  virtual
135  StatusCode give_eta_phi_at_vertex( double pt, // pt of muon track
136  const xAOD::L2StandAloneMuon*, // input muon track
137  double ZetaID, // Z vertex from ID
138  double& extEta, // vertex eta
139  double& sigmaEta, // sigma vertex eta
140  double& extPhi, // vertex phi
141  double& sigmaPhi, // sigma vertex phi
142  double PT) const = 0; // PT of the window
143 
144 
145  // match ID track and Muon track applying a loose cut window
146  virtual
148  const TrigInDetTrack*, // input ID track
149  double winPT, // PT of the window
150  double weight) = 0; // weight of window
151 
152  virtual
153  StatusCode loose_window_match (double pt, // pt of muon track
154  const xAOD::L2StandAloneMuon*, // input muon track
155  const TrigInDetTrack*, // input ID track
156  double winPT, // PT of the window
157  double weight) = 0; // weight of window
158 
159 
160  // match ID track and Muon track applying a tight cut window
161  virtual
163  const TrigInDetTrack*, // input ID track
164  double winPT, // PT of the window
165  double weight) = 0; // weight of window
166 
167  virtual
168  StatusCode tight_window_match (double pt, // pt of muon track
169  const xAOD::L2StandAloneMuon*, // input muon track
170  const TrigInDetTrack*, // input ID track
171  double winPT, // PT of the window
172  double weight) = 0; // weight of window
173 
174 
175 };
176 
177 #endif
178 
179 
L2StandAloneMuon.h
ITrigMuonBackExtrapolator::give_eta_phi_at_vertex
virtual StatusCode give_eta_phi_at_vertex(double pt, const MuonFeature *, double &extEta, double &sigmaEta, double &extPhi, double &sigmaPhi, double PT) const =0
ITrigMuonBackExtrapolator::give_eta_phi_at_vertex
virtual StatusCode give_eta_phi_at_vertex(const MuonFeature *, double &extEta, double &sigmaEta, double &extPhi, double &sigmaPhi, double PT) const =0
xAOD::L2StandAloneMuon_v2
Class describing standalone muons reconstructed in the LVL2 trigger.
Definition: L2StandAloneMuon_v2.h:36
ITrigMuonBackExtrapolator::give_eta_phi_at_vertex
virtual StatusCode give_eta_phi_at_vertex(double pt, const xAOD::L2StandAloneMuon *, double &extEta, double &sigmaEta, double &extPhi, double &sigmaPhi, double PT) const =0
test_pyathena.pt
pt
Definition: test_pyathena.py:11
ITrigMuonBackExtrapolator::give_loose_chi2
virtual double give_loose_chi2(const MuonFeature *, const TrigInDetTrack *)=0
ITrigMuonBackExtrapolator::give_tight_chi2
virtual double give_tight_chi2(const MuonFeature *, const TrigInDetTrack *)=0
ITrigMuonBackExtrapolator::loose_window_match
virtual StatusCode loose_window_match(double pt, const xAOD::L2StandAloneMuon *, const TrigInDetTrack *, double winPT, double weight)=0
TrigInDetTrack
Definition: TrigInDetTrack.h:34
MuonFeature.h
ITrigMuonBackExtrapolator::tight_window_match
virtual StatusCode tight_window_match(const xAOD::L2StandAloneMuon *, const TrigInDetTrack *, double winPT, double weight)=0
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
ITrigMuonBackExtrapolator::give_eta_phi_at_vertex
virtual StatusCode give_eta_phi_at_vertex(double pt, const MuonFeature *, double ZetaID, double &extEta, double &sigmaEta, double &extPhi, double &sigmaPhi, double PT) const =0
TrigInDetTrack.h
ITrigMuonBackExtrapolator::tight_window_match
virtual StatusCode tight_window_match(double pt, const xAOD::L2StandAloneMuon *, const TrigInDetTrack *, double winPT, double weight)=0
ITrigMuonBackExtrapolator::give_eta_phi_at_vertex
virtual StatusCode give_eta_phi_at_vertex(const xAOD::L2StandAloneMuon *, double &extEta, double &sigmaEta, double &extPhi, double &sigmaPhi, double PT) const =0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ITrigMuonBackExtrapolator::loose_window_match
virtual StatusCode loose_window_match(double pt, const MuonFeature *, const TrigInDetTrack *, double winPT, double weight)=0
ITrigMuonBackExtrapolator::interfaceID
static const InterfaceID & interfaceID()
Definition: ITrigMuonBackExtrapolator.h:20
ITrigMuonBackExtrapolator::give_eta_phi_at_vertex
virtual StatusCode give_eta_phi_at_vertex(double pt, const xAOD::L2StandAloneMuon *, double ZetaID, double &extEta, double &sigmaEta, double &extPhi, double &sigmaPhi, double PT) const =0
ITrigMuonBackExtrapolator::tight_window_match
virtual StatusCode tight_window_match(double pt, const MuonFeature *, const TrigInDetTrack *, double winPT, double weight)=0
MuonFeature
Definition: MuonFeature.h:21
ITrigMuonBackExtrapolator::loose_window_match
virtual StatusCode loose_window_match(const MuonFeature *, const TrigInDetTrack *, double winPT, double weight)=0
ITrigMuonBackExtrapolator::give_eta_phi_at_vertex
virtual StatusCode give_eta_phi_at_vertex(const MuonFeature *, double ZetaID, double &extEta, double &sigmaEta, double &extPhi, double &sigmaPhi, double PT) const =0
ITrigMuonBackExtrapolator::give_eta_phi_at_vertex
virtual StatusCode give_eta_phi_at_vertex(const xAOD::L2StandAloneMuon *, double ZetaID, double &extEta, double &sigmaEta, double &extPhi, double &sigmaPhi, double PT) const =0
ITrigMuonBackExtrapolator::tight_window_match
virtual StatusCode tight_window_match(const MuonFeature *, const TrigInDetTrack *, double winPT, double weight)=0
H5Utils::internal::PT
H5::PredType PT
Definition: H5Traits.cxx:15
ITrigMuonBackExtrapolator
Definition: ITrigMuonBackExtrapolator.h:17
ITrigMuonBackExtrapolator::loose_window_match
virtual StatusCode loose_window_match(const xAOD::L2StandAloneMuon *, const TrigInDetTrack *, double winPT, double weight)=0