ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXAlgos
src
gFexTowerSummer.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
//***************************************************************************
6
// gFexTowerSummer - description
7
// -------------------
8
// Builds gFexDataTowers50 and gFexDataTowers200 from gFexDataTowers
9
//
10
// begin : 25 06 2025
11
// email : jared.little@cern.ch
12
//***************************************************************************/
13
14
#ifndef gFexTowerSummer_H
15
#define gFexTowerSummer_H
16
17
#include "
AsgTools/ToolHandle.h
"
18
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
19
#include "
CaloEvent/CaloCellContainer.h
"
20
#include "
PathResolver/PathResolver.h
"
21
#include "
StoreGate/ReadHandleKey.h
"
22
#include "
StoreGate/WriteHandleKey.h
"
23
#include "
xAODTrigL1Calo/TriggerTowerContainer.h
"
24
#include "
xAODTrigL1Calo/gFexTowerAuxContainer.h
"
25
#include "
xAODTrigL1Calo/gFexTowerContainer.h
"
26
27
#include "
L1CaloFEXByteStream/gFexPos.h
"
28
29
#include <string>
30
#include <array>
31
32
class
EventContext;
33
34
35
namespace
LVL1
{
36
37
class
gFexTowerSummer
:
public
AthReentrantAlgorithm
{
38
public
:
39
gFexTowerSummer
(
const
std::string&
name
, ISvcLocator* svc);
40
42
virtual
StatusCode
initialize
()
override
;
44
virtual
StatusCode
execute
(
const
EventContext&)
const override
;
45
46
typedef
std::array<std::array<int, LVL1::gFEXPos::AB_COLUMNS>,
LVL1::gFEXPos::ABC_ROWS
>
gtFPGA
;
47
48
49
private
:
50
// ------------------------- Properties --------------------------------------
51
52
// Read handle for gFex Data Fiber Towers
53
SG::ReadHandleKey<xAOD::gFexTowerContainer>
m_gFexFiberTowersReadKey
{
54
this
,
"gFexDataTowers"
,
"L1_gFexDataTowers"
,
"gFexDataTowers container"
};
55
56
// Write handle for Data Towers
57
SG::WriteHandleKey<xAOD::gFexTowerContainer>
m_gTowersWriteKey
{
58
this
,
"gTowers200WriteKey"
,
"L1_gFexDataTowers200"
,
"Write gFEX 200 MeV Trigger Tower container"
};
59
60
SG::WriteHandleKey<xAOD::gFexTowerContainer>
m_gTowers50WriteKey
{
61
this
,
"gTowers50WriteKey"
,
"L1_gFexDataTowers50"
,
"Write gFEX 50 MeV Trigger Tower container"
};
62
63
// Optionally write the towers separated by EM and HAD still to be implemented later
64
SG::WriteHandleKey<xAOD::gFexTowerContainer>
m_gTowersEMWriteKey
{
65
this
,
"gTowersEMWriteKey"
,
"L1_gFexEmulatedEMTowers"
,
"Write gFEX 200 MeV Trigger Tower EM container"
};
66
67
SG::WriteHandleKey<xAOD::gFexTowerContainer>
m_gTowersHADWriteKey
{
68
this
,
"gTowersHADWriteKey"
,
"L1_gFexEmulatedHADTowers"
,
"Write gFEX 200 MeV Trigger Tower HAD container"
};
69
70
// originally from bytestream conversion
71
// reconstruct gTowers from Fiber Towers
72
StatusCode
gtReconstructABC
(
const
EventContext& ctx,
73
unsigned
int
XFPGA,
74
gtFPGA
&XgtF,
gtFPGA
&Xgt,
75
gtFPGA
&Xsaturation)
const
;
76
77
void
undoMLE
(
int
&datumPtr)
const
;
78
void
signExtend
(
int
*xptr,
int
upto)
const
;
79
void
getEtaPhi
(
float
& Eta,
float
& Phi,
int
iEta,
int
iPhi,
80
int
gFEXtowerID)
const
;
81
82
};
83
}
// namespace LVL1
84
#endif
AthReentrantAlgorithm.h
CaloCellContainer.h
PathResolver.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
ToolHandle.h
TriggerTowerContainer.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
LVL1::gFexTowerSummer::initialize
virtual StatusCode initialize() override
Function initialising the algorithm.
Definition
gFexTowerSummer.cxx:27
LVL1::gFexTowerSummer::gFexTowerSummer
gFexTowerSummer(const std::string &name, ISvcLocator *svc)
Definition
gFexTowerSummer.cxx:24
LVL1::gFexTowerSummer::m_gTowersWriteKey
SG::WriteHandleKey< xAOD::gFexTowerContainer > m_gTowersWriteKey
Definition
gFexTowerSummer.h:57
LVL1::gFexTowerSummer::signExtend
void signExtend(int *xptr, int upto) const
Definition
gFexTowerSummer.cxx:699
LVL1::gFexTowerSummer::m_gTowersHADWriteKey
SG::WriteHandleKey< xAOD::gFexTowerContainer > m_gTowersHADWriteKey
Definition
gFexTowerSummer.h:67
LVL1::gFexTowerSummer::gtFPGA
std::array< std::array< int, LVL1::gFEXPos::AB_COLUMNS >, LVL1::gFEXPos::ABC_ROWS > gtFPGA
Definition
gFexTowerSummer.h:46
LVL1::gFexTowerSummer::execute
virtual StatusCode execute(const EventContext &) const override
Function executing the algorithm.
Definition
gFexTowerSummer.cxx:45
LVL1::gFexTowerSummer::m_gFexFiberTowersReadKey
SG::ReadHandleKey< xAOD::gFexTowerContainer > m_gFexFiberTowersReadKey
Definition
gFexTowerSummer.h:53
LVL1::gFexTowerSummer::m_gTowersEMWriteKey
SG::WriteHandleKey< xAOD::gFexTowerContainer > m_gTowersEMWriteKey
Definition
gFexTowerSummer.h:64
LVL1::gFexTowerSummer::gtReconstructABC
StatusCode gtReconstructABC(const EventContext &ctx, unsigned int XFPGA, gtFPGA &XgtF, gtFPGA &Xgt, gtFPGA &Xsaturation) const
Definition
gFexTowerSummer.cxx:216
LVL1::gFexTowerSummer::m_gTowers50WriteKey
SG::WriteHandleKey< xAOD::gFexTowerContainer > m_gTowers50WriteKey
Definition
gFexTowerSummer.h:60
LVL1::gFexTowerSummer::getEtaPhi
void getEtaPhi(float &Eta, float &Phi, int iEta, int iPhi, int gFEXtowerID) const
Definition
gFexTowerSummer.cxx:717
LVL1::gFexTowerSummer::undoMLE
void undoMLE(int &datumPtr) const
Definition
gFexTowerSummer.cxx:547
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
gFexPos.h
gFexTowerAuxContainer.h
gFexTowerContainer.h
LVL1::gFEXPos::ABC_ROWS
constexpr int ABC_ROWS
Definition
gFexPos.h:64
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
TrigConf::name
Definition
HLTChainList.h:35
Generated on
for ATLAS Offline Software by
1.17.0