ATLAS Offline Software
CaloTriggerTowerService.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include <cstdio>
8 #include <fstream>
9 #include <iostream>
10 
16 #include "TClass.h"
17 
18 //===========================================================
20  const std::string& name,
21  const IInterface* parent )
23 {
24  // Declare additional interface
25  declareInterface<CaloTriggerTowerService>(this);
26 }
27 
28 
29 //===========================================================
31 {
32  ATH_MSG_INFO(" => CaloTriggerTowerService::initialize()");
33 
34  const CaloIdManager* caloMgr;
35  ATH_CHECK( detStore()->retrieve(caloMgr) );
36 
37  ATH_CHECK( (m_emHelper = caloMgr->getEM_ID()) != nullptr );
38  ATH_CHECK( (m_lvl1Helper = caloMgr->getLVL1_ID()) != nullptr );
39  ATH_CHECK( (m_ttonlineHelper = caloMgr->getTTOnlineID()) != nullptr );
40 
41  ATH_CHECK( detStore()->retrieve(m_onlineHelper, "LArOnlineID") );
42 
43  // Make sure the dictionaries for the LArTTCellMap persistent classes
44  // are available. We used to read this object via a conditions callback,
45  // but callbacks are not thread-friendly, so this was changed to retrieving
46  // it from detStore during event processing. However, this meant that
47  // the TClass's for the persistent objects were also being loaded
48  // at that time. As of root 6.22.00, at least, TClass can sometimes
49  // fail to properly load a dictionary when it's being run in a multithreaded
50  // context. So force the needed dictionaries to load now.
51  TClass::GetClass ("LArTTCell_P");
52  TClass::GetClass ("LArTTCell_P::LArTTCell_P_t");
53  TClass::GetClass ("std::vector<LArTTCell_P::LArTTCell_P_t>");
54 
55  return StatusCode::SUCCESS;
56 }
57 
58 
59 //===========================================================
61 {
62 
63  HWIdentifier invalidId (0);
64 
65  const CaloTTOnOffIdMap* caloTTOnOffIdMap = getCaloTTOnOffIdMap();
66  if(!caloTTOnOffIdMap ) {// no mapping object
67  ATH_MSG_ERROR(" No CaloTTOnOffIdMap !");
68  ATH_MSG_ERROR(" Has the DB folder holding the CaloTTOnOffIdMap been added to IOVDbSvc ? ");
69  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
70  return invalidId;
71 
72  } else {
73 
74  // have mapping object, forward the call
75  HWIdentifier sid = caloTTOnOffIdMap->createSignalChannelID( id ) ;
76  if(bQuiet) {
77  return sid;
78 
79  } else {
80  if(sid == invalidId) {
81  CaloID_Exception except;
82  except.code(5) ;
83  except.message("HWIdentifier not found in map ") ;
84  throw except ;
85  }
86  return sid;
87  }
88  }
89 }
90 
91 
92 //===========================================================================
94 {
95  Identifier invalidId (0);
96 
97  const CaloTTOnOffIdMap* caloTTOnOffIdMap = getCaloTTOnOffIdMap();
98  if(!caloTTOnOffIdMap ) {
99  ATH_MSG_ERROR(" No CaloTTOnOffIdMap !");
100  ATH_MSG_ERROR(" Has the DB folder holding the CaloTTOnOffIdMap been added to IOVDbSvc ? ");
101  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
102  return invalidId;
103 
104  } else {
105  // mapping object exist, forward the call
106  Identifier offid = caloTTOnOffIdMap->cnvToIdentifier(id, bQuiet);
107  if(bQuiet) {
108  return offid;
109 
110  } else {
111  if(!offid.is_valid()) {
112  CaloID_Exception except;
113  except.code(6) ;
114  except.message(" Online ID not found in map ") ;
115  throw except ;
116  }
117  return offid;
118  }
119  }
120 }
121 
123 
124  L1CaloCoolChannelId invalidId;
125 
126  const CaloTTPpmRxIdMap* caloTTPpmRxIdMap = getCaloTTPpmRxIdMap();
127  if(!caloTTPpmRxIdMap ) {
128  ATH_MSG_ERROR(" No CaloTTPpmRxIdMap !");
129  ATH_MSG_ERROR(" Has the DB folder holding the CaloTTPpmRxIdMap been added to IOVDbSvc ? ");
130  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
131  return invalidId;
132 
133  } else {
134  // mapping object exist, forward the call
135  L1CaloCoolChannelId ppmId = caloTTPpmRxIdMap->rxToPpmId(rxCoolChannelId);
136  if(ppmId==L1CaloCoolChannelId()) {
137  CaloID_Exception except;
138  except.code(6) ;
139  except.message(" Rx channel ID not found in map ") ;
140  throw except ;
141  }
142  return ppmId;
143  }
144 }
145 
146 std::vector<L1CaloRxCoolChannelId> CaloTriggerTowerService::cnvCoolChannelIdToRxId(const L1CaloCoolChannelId& ppmCoolChannelId) const {
147 
148  const CaloTTPpmRxIdMap* caloTTPpmRxIdMap = getCaloTTPpmRxIdMap();
149  if(!caloTTPpmRxIdMap ) {
150  ATH_MSG_ERROR(" No CaloTTPpmRxIdMap !");
151  ATH_MSG_ERROR(" Has the DB folder holding the CaloTTPpmRxIdMap been added to IOVDbSvc ? ");
152  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
153  return {};
154 
155  } else {
156  // mapping object exist, forward the call
157  std::vector<L1CaloRxCoolChannelId> rxChannels = caloTTPpmRxIdMap->ppmToRxId(ppmCoolChannelId);
158  if(rxChannels.empty()) {
159  CaloID_Exception except;
160  except.code(6) ;
161  except.message(" Ppm channel ID not found in map ") ;
162  throw except ;
163  }
164  return rxChannels;
165  }
166 }
167 
168 //==========================================================================
170 
171  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
172  if(!caloTTOnAttrIdMap) {
173  ATH_MSG_ERROR(" No TTOnAttrIdMap !");
174  ATH_MSG_ERROR(" Has the DB folder holding the TTOnAttrIdMap been added to IOVDbSvc ? ");
175  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
176  return (0);
177  } else {
178  unsigned int barrel_endcap_fcal = caloTTOnAttrIdMap->barrel_endcap_fcal(id);
179  return barrel_endcap_fcal;
180  }
181 }
182 
183 //==========================================================================
184 unsigned int CaloTriggerTowerService::em_had(const HWIdentifier & id) const {
185 
186  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
187  if(!caloTTOnAttrIdMap) {
188  ATH_MSG_ERROR(" No TTOnAttrIdMap !");
189  ATH_MSG_ERROR(" Has the DB folder holding the TTOnAttrIdMap been added to IOVDbSvc ? ");
190  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
191  return (0);
192  } else {
193  unsigned int em_had = caloTTOnAttrIdMap->em_had(id);
194  return em_had;
195  }
196 }
197 
198 //==========================================================================
199 unsigned int CaloTriggerTowerService::pos_neg(const HWIdentifier & id) const {
200 
201  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
202  if(!caloTTOnAttrIdMap) {
203  ATH_MSG_ERROR(" No TTOnAttrIdMap !");
204  ATH_MSG_ERROR(" Has the DB folder holding the TTOnAttrIdMap been added to IOVDbSvc ? ");
205  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
206  return (0);
207  } else {
208  unsigned int pos_neg = caloTTOnAttrIdMap->pos_neg(id);
209  return pos_neg;
210  }
211 }
212 
213 unsigned int CaloTriggerTowerService::module_type(const HWIdentifier & id) const {
214 
215 
216  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
217  if(!caloTTOnAttrIdMap) {
218  ATH_MSG_ERROR(" No TTOnAttrIdMap !");
219  ATH_MSG_ERROR(" Has the DB folder holding the TTOnAttrIdMap been added to IOVDbSvc ? ");
220  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
221  return (0);
222  } else {
223  unsigned int module_type = caloTTOnAttrIdMap->module_type(id);
224  return module_type;
225  }
226 }
227 
228 
229 //===========================================================
231 
232  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
233  if(caloTTOnAttrIdMap) {
234 
235  unsigned int crate = m_ttonlineHelper->crate(id);
236  unsigned int module = m_ttonlineHelper->module(id); // this returns the physical slot position !
237  unsigned int submodule = m_ttonlineHelper->submodule(id);
238  unsigned int channel = m_ttonlineHelper->channel(id);
239 
240  unsigned int module_type = caloTTOnAttrIdMap->module_type(id);
241 
242  // since the module argument is the physical position and not the logical one, the logical flag is set to false
244 
245  } else {
246 
247  ATH_MSG_ERROR(" No CaloTTOnAttrIdMap !");
248  ATH_MSG_ERROR(" Has the DB folder holding the CaloTTOnAttrIdMap been added to IOVDbSvc ? ");
249  ATH_MSG_ERROR(" IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] ");
250  return 0;
251  }
252 }
253 
254 
255 //===========================================================
257 
258  unsigned int crate = coolChannelId.crate();
259  unsigned int module = coolChannelId.module(false); // get the physical module position
260  unsigned int submodule = coolChannelId.subModule();
261  unsigned int channel = coolChannelId.channel();
262 
263  // create Athena Online Id - the physical module position is expected here (not the logical)
265 
266  return channelId;
267 }
268 
269 
270 //==========================================================================
271 std::vector<Identifier>
273 //==========================================================================
274 {
275  std::vector<Identifier> vec ;
276 
277  if(m_emHelper->dictionaryVersion() == "fullAtlas" ||
278  m_emHelper->dictionaryVersion() == "H8TestBeam") {
279 
280  const LArTTCellMap* TTCellMap = getTTCellMap();
281  if(!TTCellMap) {
282  ATH_MSG_ERROR(" No TTCellMap !");
283  return vec;
284  }
285 
286  Identifier ttId=m_lvl1Helper->tower_id(id);
287  Identifier regId=m_lvl1Helper->region_id(id);
288  int maxLay=m_lvl1Helper->layer_max(regId);
289 
290  for(int iLay=0;iLay<=maxLay;++iLay) {
291  // Rem: not all iLay correspond to physically existing layers
292  Identifier layId = m_lvl1Helper->layer_id(ttId,iLay);
293  std::vector<Identifier> vecp = TTCellMap->createCellIDvec(layId);
294  std::vector<Identifier>::const_iterator it = vecp.begin();
295  std::vector<Identifier>::const_iterator it_e = vecp.end();
296  for (; it!=it_e; ++it) {
297  vec.push_back(*it);
298  }
299  }
300 
301  }
302 
303  return vec;
304 }
305 
306 //==========================================================================
307 std::vector<Identifier>
309 //==========================================================================
310 {
311  std::vector<Identifier> vec ;
312  const LArTTCellMap* TTCellMap = getTTCellMap();
313 
314  if(m_emHelper->dictionaryVersion() == "fullAtlas" ||
315  m_emHelper->dictionaryVersion() == "H8TestBeam") {
316  if(!TTCellMap) {
317  ATH_MSG_ERROR(" No TTCellMap !");
318  return vec;
319  }
320  vec = TTCellMap->createCellIDvec(id);
321  }
322 
323  return vec;
324 }
325 
326 //==========================================================================
328 //==========================================================================
329 {
330  Identifier sid(0);
331 
332  if(m_emHelper->dictionaryVersion() == "fullAtlas" ||
333  m_emHelper->dictionaryVersion() == "H8TestBeam") {
334 
335  const LArTTCellMap* TTCellMap = getTTCellMap();
336  if(!TTCellMap) {
337  ATH_MSG_ERROR(" No TTCellMap !");
338  return sid;
339  }
340  sid = TTCellMap->whichTTID( id ) ;
341  Identifier invalidId (0);
342  if(sid == invalidId ){
343  LArID_Exception except;
344  except.message("Identifier not found in map ") ;
345  throw except ;
346  }
347  }
348 
349  return sid;
350 }
351 
352 
353 //=============================================================
355 //=============================================================
356 //
357 // input = cell offline id
358 // some channels are mapped to a TT although not in lvl1
359 // 2 cases: barrel end and last compartment of hec.
360 //
361 //=============================================================
362 {
363 
364  bool lvl1 = true ;
365 
366  if(m_emHelper->dictionaryVersion() == "fullAtlas" ||
367  m_emHelper->dictionaryVersion() == "H8TestBeam") {
368 
369  if(m_emHelper->is_em_barrel(id)) {
370  int samp=m_emHelper->sampling(id);
371  if(samp==0) {
372  int eta=m_emHelper->eta(id);
373  if(eta==60) {
374  lvl1 = false ;
375  }
376  }
377  } else {
378  Identifier ttId=whichTTID(id);
379  if(m_lvl1Helper->is_hec(ttId)) {
380  int layer = m_lvl1Helper->layer(ttId);
381  if(layer == 3){
382  lvl1 = false ;
383  }
384  }
385  }
386  } else {
387  lvl1 = false ;
388  }
389 
390  return lvl1;
391 
392 }
393 
394 
396 {
397  if (!m_TTCellMap.get()) {
398  const LArTTCellMap* TTCellMap = nullptr;
399  if (detStore()->retrieve (TTCellMap, m_TTCellMapKey).isSuccess()) {
400  m_TTCellMap.set (TTCellMap);
401  }
402  }
403  return m_TTCellMap.get();
404 }
405 
406 
408 {
409  if (!m_caloTTOnOffIdMap.get()) {
410  const CaloTTOnOffIdMap* caloTTOnOffIdMap = nullptr;
411  if (detStore()->retrieve (caloTTOnOffIdMap, m_caloTTOnOffIdMapKey).isSuccess()) {
412  m_caloTTOnOffIdMap.set (caloTTOnOffIdMap);
413  }
414  }
415  return m_caloTTOnOffIdMap.get();
416 }
417 
418 
420 {
421  if (!m_caloTTOnAttrIdMap.get()) {
422  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = nullptr;
423  if (detStore()->retrieve (caloTTOnAttrIdMap, m_caloTTOnAttrIdMapKey).isSuccess()) {
424  m_caloTTOnAttrIdMap.set (caloTTOnAttrIdMap);
425  }
426  }
427  return m_caloTTOnAttrIdMap.get();
428 }
429 
430 
432 {
433  if (!m_caloTTPpmRxIdMap.get()) {
434  const CaloTTPpmRxIdMap* caloTTPpmRxIdMap = nullptr;
435  if (detStore()->retrieve (caloTTPpmRxIdMap, m_caloTTPpmRxIdMapKey).isSuccess()) {
436  m_caloTTPpmRxIdMap.set (caloTTPpmRxIdMap);
437  }
438  }
439  return m_caloTTPpmRxIdMap.get();
440 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
CaloTriggerTowerService::m_caloTTPpmRxIdMap
CxxUtils::CachedPointer< const CaloTTPpmRxIdMap > m_caloTTPpmRxIdMap
Definition: CaloTriggerTowerService.h:185
TTOnlineID::channel
int channel(const HWIdentifier id) const
Definition: TTOnlineID.h:477
CaloTriggerTowerService::m_emHelper
const LArEM_ID * m_emHelper
pointer to the LArEM offline Id helper
Definition: CaloTriggerTowerService.h:176
LArEM_ID.h
CaloTriggerTowerService::initialize
virtual StatusCode initialize() override
Definition: CaloTriggerTowerService.cxx:30
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
CaloID_Exception
Exception class for Calo Identifiers.
Definition: CaloID_Exception.h:20
CaloTriggerTowerService::m_TTCellMap
CxxUtils::CachedPointer< const LArTTCellMap > m_TTCellMap
Definition: CaloTriggerTowerService.h:182
CaloTriggerTowerService::m_caloTTOnOffIdMap
CxxUtils::CachedPointer< const CaloTTOnOffIdMap > m_caloTTOnOffIdMap
Definition: CaloTriggerTowerService.h:183
CaloTTOnAttrIdMap::pos_neg
unsigned int pos_neg(HWIdentifier channelId) const
return 0 for z<0 channels and 1 for z>0 channels
Definition: CaloTTOnAttrIdMap.cxx:103
CaloTriggerTowerService::createCellIDvecLayer
std::vector< Identifier > createCellIDvecLayer(const Identifier &id) const
Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID,...
Definition: CaloTriggerTowerService.cxx:308
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
CaloTriggerTowerService::m_lvl1Helper
const CaloLVL1_ID * m_lvl1Helper
pointer to the Calo TT offline Id helper
Definition: CaloTriggerTowerService.h:178
CaloIdManager::getEM_ID
const LArEM_ID * getEM_ID(void) const
Definition: CaloIdManager.cxx:80
LArOnlID_Exception.h
LArTTCellMap::whichTTID
Identifier whichTTID(const Identifier &id) const
return the offline id (CaloLVL1_ID) of the TT to which a cell (CaloCell_ID) belongs
Definition: LArTTCellMap.cxx:162
CaloTriggerTowerService::m_onlineHelper
const LArOnlineID * m_onlineHelper
pointer to the LAr Online Id helper
Definition: CaloTriggerTowerService.h:174
CaloTTOnAttrIdMap::barrel_endcap_fcal
unsigned int barrel_endcap_fcal(HWIdentifier channelId) const
To know if a channel belongs to the barrel, end cap or fcal parts.
Definition: CaloTTOnAttrIdMap.cxx:116
skel.it
it
Definition: skel.GENtoEVGEN.py:396
LArTTCellMap::createCellIDvec
const std::vector< Identifier > & createCellIDvec(const Identifier &id) const
Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID,...
Definition: LArTTCellMap.cxx:182
CaloTriggerTowerService::em_had
unsigned int em_had(const HWIdentifier &id) const
return the corresponding sampling of channelId:
Definition: CaloTriggerTowerService.cxx:184
CaloTriggerTowerService::getTTCellMap
const LArTTCellMap * getTTCellMap() const
Definition: CaloTriggerTowerService.cxx:395
CaloTTPpmRxIdMap::ppmToRxId
std::vector< L1CaloRxCoolChannelId > ppmToRxId(const L1CaloCoolChannelId &ppmChannelId) const
return the corresponding Rx channels to the Ppm input one
Definition: CaloTTPpmRxIdMap.cxx:72
L1CaloCoolChannelId::crate
unsigned int crate() const
Definition: L1CaloCoolChannelId.h:25
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
L1CaloModuleType::L1CaloModuleEnum
L1CaloModuleEnum
Definition: L1CaloModuleType.h:15
CaloTriggerTowerService::m_caloTTOnAttrIdMapKey
Gaudi::Property< std::string > m_caloTTOnAttrIdMapKey
Definition: CaloTriggerTowerService.h:189
CaloTTOnOffIdMap::createSignalChannelID
HWIdentifier createSignalChannelID(const Identifier &id, bool bQuiet=false) const
return the corresponfing online Id of an offline one
Definition: CaloTTOnOffIdMap.cxx:95
L1CaloModuleType
Definition: L1CaloModuleType.h:11
HWIdentifier
Definition: HWIdentifier.h:13
CaloTTOnAttrIdMap::module_type
unsigned int module_type(HWIdentifier channelId) const
To get the type of the module connected to the channel:
Definition: CaloTTOnAttrIdMap.cxx:129
CaloTTOnAttrIdMap::em_had
unsigned int em_had(HWIdentifier channelId) const
return the corresponding sampling of channelId:
Definition: CaloTTOnAttrIdMap.cxx:90
Identifier::is_valid
bool is_valid() const
Check if id is in a valid state.
CxxUtils::CachedPointer::set
void set(pointer_t elt) const
Set the element, assuming it is currently null.
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
CaloTriggerTowerService::whichTTID
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 ...
Definition: CaloTriggerTowerService.cxx:327
CaloTriggerTowerService::createTTChannelID
HWIdentifier createTTChannelID(const Identifier &id, bool bQuiet=false) const
create a TT HWIdentifier from a TT Identifier
Definition: CaloTriggerTowerService.cxx:60
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
python.PyAthena.module
module
Definition: PyAthena.py:131
CaloTTOnOffIdMap
This is a StoreGate object holding the TT offline-online map.
Definition: CaloTTOnOffIdMap.h:26
CaloTriggerTowerService::getCaloTTOnOffIdMap
const CaloTTOnOffIdMap * getCaloTTOnOffIdMap() const
Definition: CaloTriggerTowerService.cxx:407
TTOnlineID::module
int module(const HWIdentifier id) const
Definition: TTOnlineID.h:465
CaloTriggerTowerService::m_TTCellMapKey
Gaudi::Property< std::string > m_TTCellMapKey
Definition: CaloTriggerTowerService.h:187
L1CaloRxCoolChannelId
Definition: L1CaloRxCoolChannelId.h:10
CaloTriggerTowerService::createCellIDvecTT
std::vector< Identifier > createCellIDvecTT(const Identifier &id) const
Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID,...
Definition: CaloTriggerTowerService.cxx:272
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CaloTTOnOffIdMap::cnvToIdentifier
Identifier cnvToIdentifier(const HWIdentifier &sid, bool bQuiet=false) const
return the corresponfing offline Id of an online one
Definition: CaloTTOnOffIdMap.cxx:117
CaloTTPpmRxIdMap::rxToPpmId
L1CaloCoolChannelId rxToPpmId(const L1CaloRxCoolChannelId &rxChannelId) const
return the corresponfing ppm channel to the Rx input one
Definition: CaloTTPpmRxIdMap.cxx:88
CaloIdManager
This class initializes the Calo (LAr and Tile) offline identifiers.
Definition: CaloIdManager.h:45
L1CaloCoolChannelId::channel
unsigned int channel() const
Definition: L1CaloCoolChannelId.h:30
CaloTTOnAttrIdMap
Definition: CaloTTOnAttrIdMap.h:33
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
CaloTriggerTowerService::cnvToIdentifier
Identifier cnvToIdentifier(const HWIdentifier &id, bool bQuiet=false) const
create a TT Identifier from a TT HWIdentifier
Definition: CaloTriggerTowerService.cxx:93
CaloTriggerTowerService::pos_neg
unsigned int pos_neg(const HWIdentifier &id) const
return 0 for z<0 channels and 1 for z>0 channels
Definition: CaloTriggerTowerService.cxx:199
CaloTriggerTowerService::m_ttonlineHelper
const TTOnlineID * m_ttonlineHelper
pointer to the Calo TT online Id helper
Definition: CaloTriggerTowerService.h:180
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloIdManager::getLVL1_ID
const CaloLVL1_ID * getLVL1_ID(void) const
Definition: CaloIdManager.cxx:75
CaloTriggerTowerService::is_in_lvl1
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...
Definition: CaloTriggerTowerService.cxx:354
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
CaloTriggerTowerService::m_caloTTPpmRxIdMapKey
Gaudi::Property< std::string > m_caloTTPpmRxIdMapKey
Definition: CaloTriggerTowerService.h:190
CaloTriggerTowerService::cnvCoolChannelIdToRxId
std::vector< L1CaloRxCoolChannelId > cnvCoolChannelIdToRxId(const L1CaloCoolChannelId &ppmCoolChannelId) const
returns a vector of L1CaloRxCoolChannelId corresponding to a L1CaloCoolChannelId
Definition: CaloTriggerTowerService.cxx:146
CaloTriggerTowerService::m_caloTTOnAttrIdMap
CxxUtils::CachedPointer< const CaloTTOnAttrIdMap > m_caloTTOnAttrIdMap
Definition: CaloTriggerTowerService.h:184
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
CaloTriggerTowerService::getCaloTTOnAttrIdMap
const CaloTTOnAttrIdMap * getCaloTTOnAttrIdMap() const
Definition: CaloTriggerTowerService.cxx:419
CaloTriggerTowerService::m_caloTTOnOffIdMapKey
Gaudi::Property< std::string > m_caloTTOnOffIdMapKey
Definition: CaloTriggerTowerService.h:188
LArTTCellMap
This is a StoreGate object holding the offline TT-cell map.
Definition: LArTTCellMap.h:29
CaloID_Exception::message
void message(const std::string &lMessage)
set error message
Definition: CaloID_Exception.cxx:19
CaloTriggerTowerService::barrel_endcap_fcal
unsigned int barrel_endcap_fcal(const HWIdentifier &id) const
To know if a channel belongs to the barrel, end cap or fcal parts.
Definition: CaloTriggerTowerService.cxx:169
LArID_Exception::message
void message(const std::string &l_message)
set error message
Definition: LArID_Exception.h:36
CaloTriggerTowerService::cnvCoolChannelIdToHWID
HWIdentifier cnvCoolChannelIdToHWID(const L1CaloCoolChannelId &coolChannelId) const
create an HWIdentifier from an TDAQ CoolChannelId
Definition: CaloTriggerTowerService.cxx:256
L1CaloCoolChannelId
Definition: L1CaloCoolChannelId.h:10
CaloLVL1_ID.h
TTOnlineID::submodule
int submodule(const HWIdentifier id) const
Definition: TTOnlineID.h:471
CaloTriggerTowerService.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloTriggerTowerService::module_type
unsigned int module_type(const HWIdentifier &id) const
To get the type of the module connected to the channel:
Definition: CaloTriggerTowerService.cxx:213
CaloTriggerTowerService::createL1CoolChannelId
L1CaloCoolChannelId createL1CoolChannelId(const HWIdentifier &id) const
create a CoolChannelId (used by TDAQ framework) from a HWIdentifier
Definition: CaloTriggerTowerService.cxx:230
CaloTTPpmRxIdMap
This is a StoreGate object holding the TT PPM to RX channels map.
Definition: CaloTTPpmRxIdMap.h:27
TTOnlineID::channelId
HWIdentifier channelId(int crate, int module, int submodule, int channel) const
(1) create towerId from fields
Definition: TTOnlineID.h:398
CxxUtils::CachedPointer::get
pointer_t get() const
Return the current value of the element.
CaloTriggerTowerService::getCaloTTPpmRxIdMap
const CaloTTPpmRxIdMap * getCaloTTPpmRxIdMap() const
Definition: CaloTriggerTowerService.cxx:431
CaloIdManager.h
CaloIdManager::getTTOnlineID
const TTOnlineID * getTTOnlineID(void) const
Definition: CaloIdManager.cxx:105
AthAlgTool
Definition: AthAlgTool.h:26
TTOnlineID::crate
int crate(const HWIdentifier id) const
Definition: TTOnlineID.h:459
CaloTriggerTowerService::cnvRxIdToCoolChannelId
L1CaloCoolChannelId cnvRxIdToCoolChannelId(const L1CaloRxCoolChannelId &rxCoolChannelId) const
returns a TDAQ CoolChannelId corresponding to a L1CaloRxCoolChannelId
Definition: CaloTriggerTowerService.cxx:122
LArID_Exception
Exception class for LAr Identifiers.
Definition: LArID_Exception.h:20
L1CaloCoolChannelId::subModule
unsigned int subModule() const
Definition: L1CaloCoolChannelId.h:29
LArOnlineID.h
CaloTriggerTowerService::CaloTriggerTowerService
CaloTriggerTowerService(const std::string &type, const std::string &name, const IInterface *parent)
constructor
Definition: CaloTriggerTowerService.cxx:19
L1CaloCoolChannelId::module
unsigned int module(bool logical=true) const
Identifier
Definition: IdentifierFieldParser.cxx:14
CaloID_Exception::code
void code(int lCode)
set error code number
Definition: CaloID_Exception.cxx:25