ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
Muon
L1MuonNSW
src
Muon/L1MuonNSW/src/MMT_Diamond.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 L1MUONNSW_MMT_DIAMOND_H
6
#define L1MUONNSW_MMT_DIAMOND_H
7
8
#include "
AthenaBaseComps/AthMessaging.h
"
9
#include "
MMT_Road.h
"
10
#include "
L1MMDefinitions.h
"
11
#include <cmath>
12
#include <cstdint>
13
#include <vector>
14
15
namespace
L1Muon::L1MM
{
16
21
struct
slope_t
{
22
uint64_t
event
{0};
23
int
BC
{-1};
24
unsigned
int
totalCount
{999};
25
int
iRoad
{-1};
26
int
iRoadu
{-1};
27
int
iRoadv
{-1};
28
unsigned
int
xCount
{999};
29
unsigned
int
uCount
{999};
30
int
age
{-1};
31
double
mxl
{999};
32
double
my
{999};
33
double
uavg
{999};
34
double
vavg
{999};
35
double
mx
{999};
36
double
theta
{999};
37
double
eta
{999};
38
double
dtheta
{999};
39
double
phi
{999};
40
double
phiShf
{999};
41
SideType
side
{
SideType::Undefined
};
42
bool
lowRes
{
false
};
43
};
44
51
class
MMT_Diamond
:
public
AthMessaging
{
52
public
:
53
MMT_Diamond
(
const
int
diamXthreshold,
const
bool
uv,
const
int
diamUVthreshold,
const
int
roadSize,
54
const
int
olapEtaUp,
const
int
olapEtaDown,
const
int
olapStereoUp,
const
int
olapStereoDown);
55
~MMT_Diamond
() =
default
;
56
57
void
createRoads
(std::vector<MMT_Road>& roads,
const
bool
isLarge,
const
bool
isEta1)
const
;
58
void
findDiamonds
(std::vector<MMT_Hit>& hits, std::vector<MMT_Road>& roads, std::vector<slope_t>& diamondSlopes,
59
const
int
sectorPhi,
const
double
tanStereoAngle)
const
;
60
double
phiShift
(
const
int
n,
const
double
phi
,
const
SideType
side)
const
;
61
62
int
getRoadSize
()
const
{
return
m_roadSize
; }
63
unsigned
int
getXthreshold
()
const
{
return
m_xthr
; }
64
unsigned
int
getUVthreshold
()
const
{
return
m_uvthr
; }
65
66
private
:
67
bool
m_uvflag
{};
68
int
m_roadSize
{};
69
int
m_roadSizeUpX
{};
70
int
m_roadSizeDownX
{};
71
int
m_roadSizeUpUV
{};
72
int
m_roadSizeDownUV
{};
73
int
m_xthr
{};
74
int
m_uvthr
{};
75
};
76
77
}
// namespace L1Muon::L1MM
78
79
#endif
// L1MUONNSW_MMT_DIAMOND_H
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
AthMessaging.h
L1MMDefinitions.h
MMT_Road.h
AthMessaging::AthMessaging
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Definition
AthMessaging.cxx:13
L1Muon::L1MM::MMT_Diamond::~MMT_Diamond
~MMT_Diamond()=default
L1Muon::L1MM::MMT_Diamond::MMT_Diamond
MMT_Diamond(const int diamXthreshold, const bool uv, const int diamUVthreshold, const int roadSize, const int olapEtaUp, const int olapEtaDown, const int olapStereoUp, const int olapStereoDown)
Definition
Muon/L1MuonNSW/src/MMT_Diamond.cxx:18
L1Muon::L1MM::MMT_Diamond::m_xthr
int m_xthr
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:73
L1Muon::L1MM::MMT_Diamond::getRoadSize
int getRoadSize() const
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:62
L1Muon::L1MM::MMT_Diamond::m_roadSizeDownX
int m_roadSizeDownX
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:70
L1Muon::L1MM::MMT_Diamond::m_roadSize
int m_roadSize
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:68
L1Muon::L1MM::MMT_Diamond::getXthreshold
unsigned int getXthreshold() const
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:63
L1Muon::L1MM::MMT_Diamond::getUVthreshold
unsigned int getUVthreshold() const
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:64
L1Muon::L1MM::MMT_Diamond::findDiamonds
void findDiamonds(std::vector< MMT_Hit > &hits, std::vector< MMT_Road > &roads, std::vector< slope_t > &diamondSlopes, const int sectorPhi, const double tanStereoAngle) const
Definition
Muon/L1MuonNSW/src/MMT_Diamond.cxx:67
L1Muon::L1MM::MMT_Diamond::m_roadSizeUpX
int m_roadSizeUpX
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:69
L1Muon::L1MM::MMT_Diamond::m_roadSizeDownUV
int m_roadSizeDownUV
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:72
L1Muon::L1MM::MMT_Diamond::phiShift
double phiShift(const int n, const double phi, const SideType side) const
Definition
Muon/L1MuonNSW/src/MMT_Diamond.cxx:210
L1Muon::L1MM::MMT_Diamond::m_uvthr
int m_uvthr
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:74
L1Muon::L1MM::MMT_Diamond::m_uvflag
bool m_uvflag
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:67
L1Muon::L1MM::MMT_Diamond::createRoads
void createRoads(std::vector< MMT_Road > &roads, const bool isLarge, const bool isEta1) const
Definition
Muon/L1MuonNSW/src/MMT_Diamond.cxx:31
L1Muon::L1MM::MMT_Diamond::m_roadSizeUpUV
int m_roadSizeUpUV
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:71
L1Muon::L1MM
Definitions shared by the classes of the MM trigger processor emulation.
Definition
IL1MMTriggerTool.h:16
L1Muon::L1MM::SideType
SideType
Detector side. The value is the sign of z, so that it can be used as a sign (e.g. Acts::copySign).
Definition
L1MMDefinitions.h:21
L1Muon::L1MM::SideType::Undefined
@ Undefined
Definition
L1MMDefinitions.h:21
L1Muon::L1MM::slope_t
One MM trigger candidate as found by MMT_Diamond::findDiamonds: road indices, hit counts,...
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:21
L1Muon::L1MM::slope_t::mxl
double mxl
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:31
L1Muon::L1MM::slope_t::iRoad
int iRoad
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:25
L1Muon::L1MM::slope_t::phiShf
double phiShf
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:40
L1Muon::L1MM::slope_t::uCount
unsigned int uCount
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:29
L1Muon::L1MM::slope_t::side
SideType side
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:41
L1Muon::L1MM::slope_t::phi
double phi
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:39
L1Muon::L1MM::slope_t::theta
double theta
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:36
L1Muon::L1MM::slope_t::age
int age
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:30
L1Muon::L1MM::slope_t::my
double my
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:32
L1Muon::L1MM::slope_t::iRoadv
int iRoadv
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:27
L1Muon::L1MM::slope_t::totalCount
unsigned int totalCount
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:24
L1Muon::L1MM::slope_t::lowRes
bool lowRes
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:42
L1Muon::L1MM::slope_t::iRoadu
int iRoadu
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:26
L1Muon::L1MM::slope_t::vavg
double vavg
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:34
L1Muon::L1MM::slope_t::eta
double eta
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:37
L1Muon::L1MM::slope_t::dtheta
double dtheta
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:38
L1Muon::L1MM::slope_t::BC
int BC
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:23
L1Muon::L1MM::slope_t::mx
double mx
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:35
L1Muon::L1MM::slope_t::uavg
double uavg
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:33
L1Muon::L1MM::slope_t::xCount
unsigned int xCount
Definition
Muon/L1MuonNSW/src/MMT_Diamond.h:28
Generated on
for ATLAS Offline Software by
1.17.0