ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigMuonEvent
src
TrigMuonClusterFeature.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/*******************************************************
6
7
NAME: TrigMuonClusterFeature.cxx
8
PACKAGE: Trigger/TrigEvent/TrigMuonEvent
9
AUTHORS: Antonio Policicchio <Antonio.Poliicchio@cern.ch>
10
AUTHORS: Stefano Giagu <stefano.giagu@cern.ch>
11
PURPOSE: Keep the important output variables
12
from the muon ROI cluster trigger
13
DATE: V1.0 January 13th, 2009
14
15
******************************************************/
16
// Local include(s):
17
#include "
TrigMuonEvent/TrigMuonClusterFeature.h
"
18
19
// Gaudi/Athena include(s):
20
#include "GaudiKernel/MsgStream.h"
21
22
// STL include(s):
23
#include <format>
24
#include <cmath>
25
26
// "Distance" used by the comparison operator(s):
27
static
constexpr
double
DELTA
= 0.001;
28
29
TrigMuonClusterFeature::TrigMuonClusterFeature
(
float
eta
,
float
phi
,
int
nroi,
int
njet,
int
ntrk) :
P4PtEtaPhiMBase
(),
NavigableTerminalNode
(),
30
m_eta
(
eta
),
31
m_phi
(
phi
),
32
m_nroi
(nroi),
33
m_njet
(njet),
34
m_ntrk
(ntrk)
35
{}
36
37
38
// Copy-by-pointer constructor (Note that also the base class is copied)
39
TrigMuonClusterFeature::TrigMuonClusterFeature
(
const
TrigMuonClusterFeature
* feat )
40
:
TrigMuonClusterFeature
(*feat)
41
{}
42
43
45
// helper operators
46
47
std::string
str
(
const
TrigMuonClusterFeature
& d ) {
48
return
std::format(
49
" Eta: {}; Phi: {}; NRoI: {}; NJET: {}; NTRK: {}"
,
50
d.getEta(),
51
d.getPhi(),
52
d.getNRoi(),
53
d.getNJet(),
54
d.getNTRK()
55
);
56
}
57
58
MsgStream&
operator<<
( MsgStream& m,
const
TrigMuonClusterFeature
& d ) {
59
return
(m <<
str
(d));
60
}
61
62
bool
operator==
(
const
TrigMuonClusterFeature
&
a
,
const
TrigMuonClusterFeature
& b ) {
63
if
( std::abs(
a
.getEta() - b.getEta()) >
DELTA
)
return
false
;
64
if
( std::abs(
a
.getPhi() - b.getPhi()) >
DELTA
)
return
false
;
65
if
(
a
.getNRoi() != b.getNRoi() )
return
false
;
66
if
(
a
.getNJet() != b.getNJet() )
return
false
;
67
if
(
a
.getNTRK() != b.getNTRK() )
return
false
;
68
return
true
;
69
}
70
71
void
diff
(
const
TrigMuonClusterFeature
&
a
,
const
TrigMuonClusterFeature
& b,
72
std::map<std::string, double>& variableChange ) {
73
74
if
( std::abs(
a
.getEta() - b.getEta() ) >
DELTA
) {
75
variableChange[
"Eta"
] =
a
.getEta() - b.getEta();
76
}
77
if
( std::abs(
a
.getPhi() - b.getPhi() ) >
DELTA
) {
78
variableChange[
"Phi"
] =
a
.getPhi() - b.getPhi();
79
}
80
if
(
a
.getNRoi() != b.getNRoi() ) {
81
variableChange[
"NRoI"
] =
static_cast<
double
>
(
a
.getNRoi() - b.getNRoi() );
82
}
83
if
(
a
.getNJet() != b.getNJet() ) {
84
variableChange[
"NJet"
] =
static_cast<
double
>
(
a
.getNJet() - b.getNJet() );
85
}
86
if
(
a
.getNTRK() != b.getNTRK() ) {
87
variableChange[
"NTRK"
] =
static_cast<
double
>
(
a
.getNTRK() - b.getNTRK() );
88
}
89
90
return
;
91
}
92
93
DELTA
static const double DELTA
Definition
CombinedMuonFeature.cxx:19
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
diff
void diff(const TrigMuonClusterFeature &a, const TrigMuonClusterFeature &b, std::map< std::string, double > &variableChange)
comparison with feedback Function compares two objects and returns "semi verbose" output in the form ...
Definition
TrigMuonClusterFeature.cxx:71
operator<<
MsgStream & operator<<(MsgStream &m, const TrigMuonClusterFeature &d)
Helper operator for printing the object.
Definition
TrigMuonClusterFeature.cxx:58
operator==
bool operator==(const TrigMuonClusterFeature &a, const TrigMuonClusterFeature &b)
Operator comparing two TrigMuonClusterFeature objects for equality.
Definition
TrigMuonClusterFeature.cxx:62
TrigMuonClusterFeature.h
NavigableTerminalNode::NavigableTerminalNode
NavigableTerminalNode()
Definition
NavigableTerminalNode.h:27
P4PtEtaPhiMBase
P4PtEtaPhiMBase is a base class for classes with 4-momentum behavior, for which pt,...
Definition
P4PtEtaPhiMBase.h:26
TrigMuonClusterFeature
Definition
TrigMuonClusterFeature.h:36
TrigMuonClusterFeature::m_ntrk
int m_ntrk
Definition
TrigMuonClusterFeature.h:72
TrigMuonClusterFeature::m_nroi
int m_nroi
Definition
TrigMuonClusterFeature.h:70
TrigMuonClusterFeature::m_njet
int m_njet
Definition
TrigMuonClusterFeature.h:71
TrigMuonClusterFeature::eta
virtual double eta() const override
pseudo rapidity
Definition
TrigMuonClusterFeature.h:57
TrigMuonClusterFeature::TrigMuonClusterFeature
TrigMuonClusterFeature()=default
TrigMuonClusterFeature::m_eta
float m_eta
Definition
TrigMuonClusterFeature.h:68
TrigMuonClusterFeature::phi
virtual double phi() const override
phi in [-pi,pi[
Definition
TrigMuonClusterFeature.h:58
TrigMuonClusterFeature::m_phi
float m_phi
Definition
TrigMuonClusterFeature.h:69
str
Definition
BTagTrackIpAccessor.cxx:11
Generated on
for ATLAS Offline Software by
1.17.0