ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTriggerTowerService.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALOTRIGGERTOWERSERVICE_H
6#define CALOTRIGGERTOWERSERVICE_H
7
8// Gaudi
10
11#include <vector>
12#include <string>
13
18
22
26
27
28class Identifier;
29class LArOnlineID;
30class LArEM_ID;
31class TTOnlineID;
32class CaloLVL1_ID;
33
34static const InterfaceID IID_CaloTriggerTowerService("CaloTriggerTowerService", 1 , 0);
35
44
46{
47 public:
49 static const InterfaceID& interfaceID() { return IID_CaloTriggerTowerService; }
50
52 CaloTriggerTowerService( const std::string& type, const std::string& name, const IInterface* parent ) ;
53
54 virtual StatusCode initialize( ) override;
55
56 //
57 //======================= on-off mapping methods (Trigger Towers) ==================================
58 //
59
64 HWIdentifier createTTChannelID(const Identifier & id, bool bQuiet=false) const;
65
66
71 Identifier cnvToIdentifier(const HWIdentifier & id, bool bQuiet=false) const;
72
73
78 //unsigned int createL1CoolChannelId( const HWIdentifier & id );
80
81
86 //HWIdentifier cnvCoolChannelIdToHWID( const unsigned int coolChannelId );
87 HWIdentifier cnvCoolChannelIdToHWID( const L1CaloCoolChannelId& coolChannelId ) const;
88
89
90
91
97
98
103
104 std::vector<L1CaloRxCoolChannelId> cnvCoolChannelIdToRxId(const L1CaloCoolChannelId& ppmCoolChannelId) const;
105
106
108 unsigned int pos_neg(const HWIdentifier & id) const;
109
115 unsigned int em_had(const HWIdentifier & id) const;
116
123 unsigned int barrel_endcap_fcal(const HWIdentifier & id) const;
124
131 unsigned int module_type(const HWIdentifier & id) const;
132
133
134 //
135 //======================= Trigger Tower - cell/channel mapping methods ==================================
136 //
137
144 std::vector<Identifier> createCellIDvecTT(const Identifier& id) const;
145
152 std::vector<Identifier> createCellIDvecLayer(const Identifier& id) const;
153
158 Identifier whichTTID(const Identifier & id) const;
159
164 bool is_in_lvl1(const Identifier & id) const;
165
166
167 private:
168 const LArTTCellMap* getTTCellMap() const;
172
174 const LArOnlineID * m_onlineHelper{nullptr} ;
176 const LArEM_ID * m_emHelper{nullptr};
178 const CaloLVL1_ID * m_lvl1Helper{nullptr} ;
180 const TTOnlineID * m_ttonlineHelper{nullptr};
181
186
187 Gaudi::Property<std::string> m_TTCellMapKey{this, "LArTTCellMapKey", "LArTTCellMapAtlas"};
188 Gaudi::Property<std::string> m_caloTTOnOffIdMapKey{this, "CaloTTOnOffIdMapKey", "CaloTTOnOffIdMapAtlas"};
189 Gaudi::Property<std::string> m_caloTTOnAttrIdMapKey{this, "CaloTTOnAttrIdMapKey", "CaloTTOnAttrIdMapAtlas"};
190 Gaudi::Property<std::string> m_caloTTPpmRxIdMapKey{this, "CaloTTPpmRxIdMapKey", "CaloTTPpmRxIdMapAtlas"};
191
192};
193
194#endif //CALOTRIGGERTOWERSERVICE_H
Cached pointer with atomic update.
static const InterfaceID IID_CaloTriggerTowerService("CaloTriggerTowerService", 1, 0)
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Helper class for offline TT identifiers.
Definition CaloLVL1_ID.h:66
This is a StoreGate object holding the TT offline-online map.
This is a StoreGate object holding the TT PPM to RX channels map.
Gaudi::Property< std::string > m_caloTTOnAttrIdMapKey
HWIdentifier createTTChannelID(const Identifier &id, bool bQuiet=false) const
create a TT HWIdentifier from a TT Identifier
const CaloTTOnAttrIdMap * getCaloTTOnAttrIdMap() const
const LArEM_ID * m_emHelper
pointer to the LArEM offline Id helper
static const InterfaceID & interfaceID()
Retrieve interface ID.
const CaloTTOnOffIdMap * getCaloTTOnOffIdMap() const
Identifier cnvToIdentifier(const HWIdentifier &id, bool bQuiet=false) const
create a TT Identifier from a TT HWIdentifier
CxxUtils::CachedPointer< const CaloTTPpmRxIdMap > m_caloTTPpmRxIdMap
CaloTriggerTowerService(const std::string &type, const std::string &name, const IInterface *parent)
constructor
Gaudi::Property< std::string > m_caloTTOnOffIdMapKey
unsigned int pos_neg(const HWIdentifier &id) const
return 0 for z<0 channels and 1 for z>0 channels
CxxUtils::CachedPointer< const CaloTTOnAttrIdMap > m_caloTTOnAttrIdMap
bool is_in_lvl1(const Identifier &id) const
return true if the cell is in the lvl1 sums; some channels mapped to TT are only in HLT (last HEC c...
const LArTTCellMap * getTTCellMap() const
unsigned int module_type(const HWIdentifier &id) const
To get the type of the module connected to the channel:
std::vector< Identifier > createCellIDvecLayer(const Identifier &id) const
Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID,...
unsigned int em_had(const HWIdentifier &id) const
return the corresponding sampling of channelId:
const CaloTTPpmRxIdMap * getCaloTTPpmRxIdMap() const
unsigned int barrel_endcap_fcal(const HWIdentifier &id) const
To know if a channel belongs to the barrel, end cap or fcal parts.
std::vector< L1CaloRxCoolChannelId > cnvCoolChannelIdToRxId(const L1CaloCoolChannelId &ppmCoolChannelId) const
returns a vector of L1CaloRxCoolChannelId corresponding to a L1CaloCoolChannelId
L1CaloCoolChannelId cnvRxIdToCoolChannelId(const L1CaloRxCoolChannelId &rxCoolChannelId) const
returns a TDAQ CoolChannelId corresponding to a L1CaloRxCoolChannelId
Gaudi::Property< std::string > m_TTCellMapKey
CxxUtils::CachedPointer< const CaloTTOnOffIdMap > m_caloTTOnOffIdMap
virtual StatusCode initialize() override
Identifier whichTTID(const Identifier &id) const
return the offline id (CaloLVL1_ID) of the TT to which a cell id (CaloCell_ID) belongs The call is ...
const CaloLVL1_ID * m_lvl1Helper
pointer to the Calo TT offline Id helper
const TTOnlineID * m_ttonlineHelper
pointer to the Calo TT online Id helper
HWIdentifier cnvCoolChannelIdToHWID(const L1CaloCoolChannelId &coolChannelId) const
create an HWIdentifier from an TDAQ CoolChannelId
std::vector< Identifier > createCellIDvecTT(const Identifier &id) const
Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID,...
const LArOnlineID * m_onlineHelper
pointer to the LAr Online Id helper
Gaudi::Property< std::string > m_caloTTPpmRxIdMapKey
L1CaloCoolChannelId createL1CoolChannelId(const HWIdentifier &id) const
create a CoolChannelId (used by TDAQ framework) from a HWIdentifier
CxxUtils::CachedPointer< const LArTTCellMap > m_TTCellMap
Encapsulates the ID of one channel of conditions data in COOL, ie the ID of a row in a table.
Encapsulates the ID of one Rx channel of conditions data in COOL, ie the ID of a row in a table.
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111
This is a StoreGate object holding the offline TT-cell map.
Helper class for Calo TT online identifiers.
Definition TTOnlineID.h:29
Cached pointer with atomic update.