ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigAlgorithms
TrigL2MuonSA
src
PtEndcapLUT.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 TRIGL2MUONSA_PTENDCAPLUT_H
6
#define TRIGL2MUONSA_PTENDCAPLUT_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
10
#include "GaudiKernel/Service.h"
11
#include "GaudiKernel/IInterface.h"
12
13
#include <map>
14
#include <string>
15
16
17
namespace
TrigL2MuonSA
{
18
19
class
PtEndcapLUT
:
public
AthAlgTool
20
{
21
public
:
22
//mean, sigma array dimensions
23
static
constexpr
std::size_t
ETAS1
=5;
24
static
constexpr
std::size_t
PHIS1
=6;
25
static
constexpr
std::size_t
PTS1
=3;
26
27
enum
DataType
{
INVALID
,
ALPHAPOL2
,
BETAPOL2
,
TGCALPHAPOL2
,
INVRADIUSPOL2
,
CSCPOL2
};
28
29
public
:
30
31
PtEndcapLUT
(
const
std::string&
type
,
32
const
std::string& name,
33
const
IInterface* parent);
34
~PtEndcapLUT
(
void
);
35
36
StatusCode
readLUT
(
const
std::string& lut_fileName);
37
StatusCode
readLUTSigmaMean
(
const
std::string& lut_mean,
const
std::string& lut_sigma);
38
39
double
alpha
(
double
z1,
double
r1,
double
z2,
double
r2)
const
;
40
double
radius
(
double
z1,
double
r1,
double
s1,
double
z2,
double
r2,
double
s2,
double
deltar)
const
;
41
double
lookup
(
int
side,
int
charge
,
DataType
type
,
int
iEta,
int
iPhi,
double
value)
const
;
42
double
ptcombined
(
int
iEta,
int
iPhi,
double
ApT,
double
BpT,
double
&CApT,
double
&CBpT)
const
;
43
private
:
44
double
m_meana
[
ETAS1
][
PHIS1
][
PTS1
]{};
45
double
m_meanb
[
ETAS1
][
PHIS1
][
PTS1
]{};
46
double
m_meanc
[
ETAS1
][
PHIS1
][
PTS1
]{};
47
double
m_sigmaa
[
ETAS1
][
PHIS1
][
PTS1
]{};
48
double
m_sigmab
[
ETAS1
][
PHIS1
][
PTS1
]{};
49
double
m_sigmac
[
ETAS1
][
PHIS1
][
PTS1
]{};
50
51
enum
sizes
{
ETAS
= 30,
PHIS
= 12,
PHISEE
= 192};
52
53
struct
KeyType
54
{
55
int
m_side
;
56
int
m_charge
;
57
DataType
m_type
;
58
KeyType
(
int
side,
int
charge
,
DataType
type
) :
59
m_side
(side),
m_charge
(
charge
),
m_type
(
type
) {}
60
bool
operator<
(
const
KeyType
& other)
const
;
61
std::string
toString
()
const
;
62
};
63
64
struct
TableType
65
{
66
double
m_xcepts
[
ETAS
][
PHISEE
]{};
67
double
m_slopes
[
ETAS
][
PHISEE
]{};
68
};
69
70
typedef
std::map<KeyType, TableType*>
TableMap
;
71
72
static
DataType
s2dt
(
const
char
*
type
);
73
static
const
char
*
dt2s
(
DataType
type
);
74
75
TableMap
m_tables
;
76
77
};
78
79
}
80
81
#endif
AthAlgTool.h
charge
double charge(const T &p)
Definition
AtlasPID.h:1003
DataType
OFFLINE_FRAGMENTS_NAMESPACE::PointerType DataType
Definition
CTPResultByteStreamTool.cxx:22
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
TrigL2MuonSA::PtEndcapLUT::m_tables
TableMap m_tables
Definition
PtEndcapLUT.h:75
TrigL2MuonSA::PtEndcapLUT::ETAS1
static constexpr std::size_t ETAS1
Definition
PtEndcapLUT.h:23
TrigL2MuonSA::PtEndcapLUT::PHIS1
static constexpr std::size_t PHIS1
Definition
PtEndcapLUT.h:24
TrigL2MuonSA::PtEndcapLUT::radius
double radius(double z1, double r1, double s1, double z2, double r2, double s2, double deltar) const
Definition
PtEndcapLUT.cxx:139
TrigL2MuonSA::PtEndcapLUT::m_sigmaa
double m_sigmaa[ETAS1][PHIS1][PTS1]
Definition
PtEndcapLUT.h:47
TrigL2MuonSA::PtEndcapLUT::~PtEndcapLUT
~PtEndcapLUT(void)
Definition
PtEndcapLUT.cxx:25
TrigL2MuonSA::PtEndcapLUT::ptcombined
double ptcombined(int iEta, int iPhi, double ApT, double BpT, double &CApT, double &CBpT) const
Definition
PtEndcapLUT.cxx:310
TrigL2MuonSA::PtEndcapLUT::dt2s
static const char * dt2s(DataType type)
Definition
PtEndcapLUT.cxx:280
TrigL2MuonSA::PtEndcapLUT::PTS1
static constexpr std::size_t PTS1
Definition
PtEndcapLUT.h:25
TrigL2MuonSA::PtEndcapLUT::PtEndcapLUT
PtEndcapLUT(const std::string &type, const std::string &name, const IInterface *parent)
Definition
PtEndcapLUT.cxx:15
TrigL2MuonSA::PtEndcapLUT::sizes
sizes
Definition
PtEndcapLUT.h:51
TrigL2MuonSA::PtEndcapLUT::PHISEE
@ PHISEE
Definition
PtEndcapLUT.h:51
TrigL2MuonSA::PtEndcapLUT::PHIS
@ PHIS
Definition
PtEndcapLUT.h:51
TrigL2MuonSA::PtEndcapLUT::ETAS
@ ETAS
Definition
PtEndcapLUT.h:51
TrigL2MuonSA::PtEndcapLUT::m_sigmab
double m_sigmab[ETAS1][PHIS1][PTS1]
Definition
PtEndcapLUT.h:48
TrigL2MuonSA::PtEndcapLUT::TableMap
std::map< KeyType, TableType * > TableMap
Definition
PtEndcapLUT.h:70
TrigL2MuonSA::PtEndcapLUT::lookup
double lookup(int side, int charge, DataType type, int iEta, int iPhi, double value) const
Definition
PtEndcapLUT.cxx:180
TrigL2MuonSA::PtEndcapLUT::DataType
DataType
Definition
PtEndcapLUT.h:27
TrigL2MuonSA::PtEndcapLUT::CSCPOL2
@ CSCPOL2
Definition
PtEndcapLUT.h:27
TrigL2MuonSA::PtEndcapLUT::ALPHAPOL2
@ ALPHAPOL2
Definition
PtEndcapLUT.h:27
TrigL2MuonSA::PtEndcapLUT::INVALID
@ INVALID
Definition
PtEndcapLUT.h:27
TrigL2MuonSA::PtEndcapLUT::TGCALPHAPOL2
@ TGCALPHAPOL2
Definition
PtEndcapLUT.h:27
TrigL2MuonSA::PtEndcapLUT::INVRADIUSPOL2
@ INVRADIUSPOL2
Definition
PtEndcapLUT.h:27
TrigL2MuonSA::PtEndcapLUT::BETAPOL2
@ BETAPOL2
Definition
PtEndcapLUT.h:27
TrigL2MuonSA::PtEndcapLUT::m_sigmac
double m_sigmac[ETAS1][PHIS1][PTS1]
Definition
PtEndcapLUT.h:49
TrigL2MuonSA::PtEndcapLUT::alpha
double alpha(double z1, double r1, double z2, double r2) const
Definition
PtEndcapLUT.cxx:123
TrigL2MuonSA::PtEndcapLUT::readLUT
StatusCode readLUT(const std::string &lut_fileName)
Definition
PtEndcapLUT.cxx:59
TrigL2MuonSA::PtEndcapLUT::readLUTSigmaMean
StatusCode readLUTSigmaMean(const std::string &lut_mean, const std::string &lut_sigma)
Definition
PtEndcapLUT.cxx:385
TrigL2MuonSA::PtEndcapLUT::s2dt
static DataType s2dt(const char *type)
Definition
PtEndcapLUT.cxx:266
TrigL2MuonSA::PtEndcapLUT::m_meanc
double m_meanc[ETAS1][PHIS1][PTS1]
Definition
PtEndcapLUT.h:46
TrigL2MuonSA::PtEndcapLUT::m_meana
double m_meana[ETAS1][PHIS1][PTS1]
Definition
PtEndcapLUT.h:44
TrigL2MuonSA::PtEndcapLUT::m_meanb
double m_meanb[ETAS1][PHIS1][PTS1]
Definition
PtEndcapLUT.h:45
TrigL2MuonSA
Definition
AlignmentBarrelLUT.h:13
type
TrigL2MuonSA::PtEndcapLUT::KeyType
Definition
PtEndcapLUT.h:54
TrigL2MuonSA::PtEndcapLUT::KeyType::m_charge
int m_charge
0 = -, 1 = +
Definition
PtEndcapLUT.h:56
TrigL2MuonSA::PtEndcapLUT::KeyType::toString
std::string toString() const
Definition
PtEndcapLUT.cxx:49
TrigL2MuonSA::PtEndcapLUT::KeyType::KeyType
KeyType(int side, int charge, DataType type)
Definition
PtEndcapLUT.h:58
TrigL2MuonSA::PtEndcapLUT::KeyType::m_side
int m_side
0 = -, 1 = +
Definition
PtEndcapLUT.h:55
TrigL2MuonSA::PtEndcapLUT::KeyType::operator<
bool operator<(const KeyType &other) const
Definition
PtEndcapLUT.cxx:35
TrigL2MuonSA::PtEndcapLUT::KeyType::m_type
DataType m_type
Definition
PtEndcapLUT.h:57
TrigL2MuonSA::PtEndcapLUT::TableType
Definition
PtEndcapLUT.h:65
TrigL2MuonSA::PtEndcapLUT::TableType::m_xcepts
double m_xcepts[ETAS][PHISEE]
Definition
PtEndcapLUT.h:66
TrigL2MuonSA::PtEndcapLUT::TableType::m_slopes
double m_slopes[ETAS][PHISEE]
Definition
PtEndcapLUT.h:67
Generated on
for ATLAS Offline Software by
1.17.0