ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
TrigT1CaloSim
src
EnergyCMX.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/***************************************************************************
6
EnergyCMX.h - description
7
-------------------
8
begin : 04 04 2014
9
email : Alan.Watson@cern.ch
10
***************************************************************************/
11
12
#ifndef ENERGYCMX_H
13
#define ENERGYCMX_H
14
15
16
17
18
// Athena/Gaudi
19
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
20
#include "GaudiKernel/ServiceHandle.h"
21
#include "GaudiKernel/ToolHandle.h"
22
#include "
AthContainers/DataVector.h
"
23
#include "
StoreGate/ReadHandleKey.h
"
24
#include "
StoreGate/WriteHandleKey.h
"
25
26
// LVL1 Calo Trigger
27
#include "
TrigT1CaloUtils/CrateEnergy.h
"
28
#include "
TrigT1CaloUtils/SystemEnergy.h
"
29
#include "
TrigT1CaloEvent/EnergyRoI_ClassDEF.h
"
30
#include "
TrigT1CaloEvent/EnergyCMXData.h
"
31
#include "
TrigT1Interfaces/EnergyCTP.h
"
32
#include "
TrigT1CaloEvent/CMXEtSums_ClassDEF.h
"
33
#include "
TrigT1CaloEvent/EnergyTopoData.h
"
34
#include "
TrigT1CaloEvent/CMXRoI.h
"
35
#include "
TrigT1CaloToolInterfaces/IL1EtTools.h
"
36
#include "
TrigT1Interfaces/TrigT1CaloDefs.h
"
37
#include "
TrigConfL1Data/L1DataDef.h
"
38
#include "
TrigConfData/L1Menu.h
"
39
// STL
40
#include <string>
41
42
namespace
LVL1
{
43
//using namespace TrigConf;
44
45
//Doxygen class description below:
51
class
EnergyCMX
:
public
AthReentrantAlgorithm
52
{
53
typedef
DataVector<EnergyCMXData>
EnergyCMXDataCollection
;
54
typedef
DataVector<CMXEtSums>
CMXEtSumsCollection
;
55
public
:
56
57
//-------------------------
58
// Constructors/Destructors
59
//
60
// Athena requires that the constructor takes certain arguments
61
// (and passes them directly to the constructor of the base class)
62
//-------------------------
63
64
EnergyCMX
(
const
std::string&
name
, ISvcLocator* pSvcLocator ) ;
65
66
67
//------------------------------------------------------
68
// Methods used by Athena to run the algorithm
69
//------------------------------------------------------
70
71
virtual
StatusCode
initialize
()
override
;
72
virtual
StatusCode
start
()
override
;
73
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
74
75
private
:
76
/* Service and tool handles */
77
ToolHandle<LVL1::IL1EtTools>
m_EtTool
{
78
this
,
"L1EtTools"
,
"LVL1::L1EtTools/L1EtTools"
,
"Tool performing the simulation"
};
79
80
/* Input handles */
81
SG::ReadHandleKey<EnergyCMXDataCollection>
m_energyCMXDataLocation
{
82
this
,
"EnergyCMXDataLocation"
,
TrigT1CaloDefs::EnergyCMXDataLocation
,
83
"Read handle key for EnergyCMXDataCollection"
};
84
85
/* Output handles */
86
SG::WriteHandleKey<EnergyCTP>
m_energyCTPLocation
{
87
this
,
"EnergyCTPLocation"
,
TrigT1CaloDefs::EnergyCTPLocation
,
88
"Write handle key for EnergyCTP"
};
89
SG::WriteHandleKey<EnergyTopoData>
m_energyTopoLocation
{
90
this
,
"EnergyTopoDataLocation"
,
TrigT1CaloDefs::EnergyTopoDataLocation
,
91
"Write handle key for EnergyTopoData"
};
92
SG::WriteHandleKey<CMXEtSumsCollection>
m_cmxEtsumsLocation
{
93
this
,
"CMXEtSumsLocation"
,
TrigT1CaloDefs::CMXEtSumsLocation
,
94
"Write handle key for CMXEtSumsCollection"
};
95
SG::WriteHandleKey<CMXRoI>
m_cmxRoILocation
{
96
this
,
"CMXRoILocation"
,
TrigT1CaloDefs::CMXRoILocation
,
97
"Write handle key for CMXRoI"
};
98
99
SG::ReadHandleKey<TrigConf::L1Menu>
m_L1MenuKey
{
this
,
"L1TriggerMenu"
,
"DetectorStore+L1TriggerMenu"
,
"L1 Menu"
};
100
101
102
private
:
103
105
StatusCode
saveCTPObjects
(
const
SystemEnergy
& resultsFull,
106
const
SystemEnergy
& resultsTrunc,
107
const
EventContext& ctx)
const
;
109
StatusCode
saveRoIs
(
const
SystemEnergy
& resultsFull,
110
const
SystemEnergy
& resultsTrunc,
111
const
EventContext& ctx)
const
;
112
114
unsigned
int
ctpWord
(
unsigned
int
metSigPassed,
115
unsigned
int
etMissPassed,
116
unsigned
int
etSumPassed)
const
;
117
};
118
119
}
// end of namespace bracket
120
121
#endif
122
AthReentrantAlgorithm.h
CMXEtSums_ClassDEF.h
CrateEnergy.h
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
EnergyCMXData.h
EnergyCTP.h
EnergyRoI_ClassDEF.h
EnergyTopoData.h
IL1EtTools.h
L1DataDef.h
L1Menu.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.
SystemEnergy.h
TrigT1CaloDefs.h
CMXRoI.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
DataVector
Derived DataVector<T>.
Definition
DataVector.h:795
LVL1::EnergyCMX::m_energyCTPLocation
SG::WriteHandleKey< EnergyCTP > m_energyCTPLocation
Definition
EnergyCMX.h:86
LVL1::EnergyCMX::EnergyCMXDataCollection
DataVector< EnergyCMXData > EnergyCMXDataCollection
Definition
EnergyCMX.h:53
LVL1::EnergyCMX::start
virtual StatusCode start() override
Definition
EnergyCMX.cxx:63
LVL1::EnergyCMX::EnergyCMX
EnergyCMX(const std::string &name, ISvcLocator *pSvcLocator)
Definition
EnergyCMX.cxx:38
LVL1::EnergyCMX::CMXEtSumsCollection
DataVector< CMXEtSums > CMXEtSumsCollection
Definition
EnergyCMX.h:54
LVL1::EnergyCMX::saveRoIs
StatusCode saveRoIs(const SystemEnergy &resultsFull, const SystemEnergy &resultsTrunc, const EventContext &ctx) const
put EnergyRoIs into SG
Definition
EnergyCMX.cxx:247
LVL1::EnergyCMX::m_energyTopoLocation
SG::WriteHandleKey< EnergyTopoData > m_energyTopoLocation
Definition
EnergyCMX.h:89
LVL1::EnergyCMX::m_energyCMXDataLocation
SG::ReadHandleKey< EnergyCMXDataCollection > m_energyCMXDataLocation
Definition
EnergyCMX.h:81
LVL1::EnergyCMX::m_L1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
Definition
EnergyCMX.h:99
LVL1::EnergyCMX::initialize
virtual StatusCode initialize() override
Definition
EnergyCMX.cxx:46
LVL1::EnergyCMX::ctpWord
unsigned int ctpWord(unsigned int metSigPassed, unsigned int etMissPassed, unsigned int etSumPassed) const
returns the Energy CTP word
Definition
EnergyCMX.cxx:284
LVL1::EnergyCMX::saveCTPObjects
StatusCode saveCTPObjects(const SystemEnergy &resultsFull, const SystemEnergy &resultsTrunc, const EventContext &ctx) const
form CTP objects and store them in SG.
Definition
EnergyCMX.cxx:293
LVL1::EnergyCMX::m_EtTool
ToolHandle< LVL1::IL1EtTools > m_EtTool
Definition
EnergyCMX.h:77
LVL1::EnergyCMX::m_cmxRoILocation
SG::WriteHandleKey< CMXRoI > m_cmxRoILocation
Definition
EnergyCMX.h:95
LVL1::EnergyCMX::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
EnergyCMX.cxx:77
LVL1::EnergyCMX::m_cmxEtsumsLocation
SG::WriteHandleKey< CMXEtSumsCollection > m_cmxEtsumsLocation
Definition
EnergyCMX.h:92
LVL1::SystemEnergy
SystemEnergy class declaration Simulates behaviour of the Crate-CMM System CMM logic is done in Energ...
Definition
SystemEnergy.h:30
LVL1::TrigT1CaloDefs::EnergyCMXDataLocation
static const std::string EnergyCMXDataLocation
Definition
TrigT1CaloDefs.h:45
LVL1::TrigT1CaloDefs::EnergyCTPLocation
static const std::string EnergyCTPLocation
Definition
TrigT1CaloDefs.h:79
LVL1::TrigT1CaloDefs::EnergyTopoDataLocation
static const std::string EnergyTopoDataLocation
Definition
TrigT1CaloDefs.h:88
LVL1::TrigT1CaloDefs::CMXEtSumsLocation
static const std::string CMXEtSumsLocation
Definition
TrigT1CaloDefs.h:57
LVL1::TrigT1CaloDefs::CMXRoILocation
static const std::string CMXRoILocation
Definition
TrigT1CaloDefs.h:60
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
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