ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
CaloTriggerTowerService Class Reference

Tool providing the mapping of the online and offline TriggerTower identifiers as well as the TT-cells mapping. More...

#include <CaloTriggerTowerService.h>

Inheritance diagram for CaloTriggerTowerService:
Collaboration diagram for CaloTriggerTowerService:

Public Member Functions

 CaloTriggerTowerService (const std::string &type, const std::string &name, const IInterface *parent)
 constructor More...
 
StatusCode initialize ()
 
StatusCode finalize ()
 
bool is_initialized () const
 
virtual StatusCode iovCallBack (IOVSVC_CALLBACK_ARGS)
 
HWIdentifier createTTChannelID (const Identifier &id, bool bQuiet=false) const
 create a TT HWIdentifier from a TT Identifier More...
 
Identifier cnvToIdentifier (const HWIdentifier &id, bool bQuiet=false) const
 create a TT Identifier from a TT HWIdentifier More...
 
L1CaloCoolChannelId createL1CoolChannelId (const HWIdentifier &id) const
 create a CoolChannelId (used by TDAQ framework) from a HWIdentifier More...
 
HWIdentifier cnvCoolChannelIdToHWID (const L1CaloCoolChannelId &coolChannelId) const
 create an HWIdentifier from an TDAQ CoolChannelId More...
 
L1CaloCoolChannelId cnvRxIdToCoolChannelId (const L1CaloRxCoolChannelId &rxCoolChannelId) const
 returns a TDAQ CoolChannelId corresponding to a L1CaloRxCoolChannelId More...
 
std::vector< L1CaloRxCoolChannelIdcnvCoolChannelIdToRxId (const L1CaloCoolChannelId &ppmCoolChannelId) const
 returns a vector of L1CaloRxCoolChannelId corresponding to a L1CaloCoolChannelId More...
 
unsigned int pos_neg (const HWIdentifier &id) const
 return 0 for z<0 channels and 1 for z>0 channels More...
 
unsigned int em_had (const HWIdentifier &id) const
 return the corresponding sampling of channelId: More...
 
unsigned int barrel_endcap_fcal (const HWIdentifier &id) const
 To know if a channel belongs to the barrel, end cap or fcal parts. More...
 
unsigned int module_type (const HWIdentifier &id) const
 To get the type of the module connected to the channel: More...
 
std::vector< IdentifiercreateCellIDvecTT (const Identifier &id) const
 Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID, LArFCAL_ID) for a TT offline id (helper=CaloLVL1_ID) -> all layers together (Rem: equivalent to above extTt=0)
The call is formarded to the DB object LArTTCellMap. More...
 
std::vector< IdentifiercreateCellIDvecLayer (const Identifier &id) const
 Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID, LArFCAL_ID) for a TT-layer offline id (helper=CaloLVL1_ID) -> one single layer (Rem: equivalent to above extTt!=0)
The call is formarded to the DB object LArTTCellMap. More...
 
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 formarded to the DB object LArTTCellMap More...
 
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 compartment and last cells of barrel PS) More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Retrieve interface ID. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

const LArTTCellMapgetTTCellMap () const
 
const CaloTTOnOffIdMapgetCaloTTOnOffIdMap () const
 
const CaloTTOnAttrIdMapgetCaloTTOnAttrIdMap () const
 
const CaloTTPpmRxIdMapgetCaloTTPpmRxIdMap () const
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

const LArOnlineIDm_onlineHelper
 pointer to the LAr Online Id helper More...
 
const LArEM_IDm_emHelper
 pointer to the LArEM offline Id helper More...
 
const CaloLVL1_IDm_lvl1Helper
 pointer to the Calo TT offline Id helper More...
 
const TTOnlineIDm_ttonlineHelper
 pointer to the Calo TT online Id helper More...
 
CxxUtils::CachedPointer< const LArTTCellMapm_TTCellMap
 
CxxUtils::CachedPointer< const CaloTTOnOffIdMapm_caloTTOnOffIdMap
 
CxxUtils::CachedPointer< const CaloTTOnAttrIdMapm_caloTTOnAttrIdMap
 
CxxUtils::CachedPointer< const CaloTTPpmRxIdMapm_caloTTPpmRxIdMap
 
std::string m_TTCellMapKey
 
std::string m_caloTTOnOffIdMapKey
 
std::string m_caloTTOnAttrIdMapKey
 
std::string m_caloTTPpmRxIdMapKey
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Tool providing the mapping of the online and offline TriggerTower identifiers as well as the TT-cells mapping.

Author
Arnaud Lucotte, Fabienne Ledroit
maintained by Damien Prieur

Definition at line 49 of file CaloTriggerTowerService.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ CaloTriggerTowerService()

CaloTriggerTowerService::CaloTriggerTowerService ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

constructor

Definition at line 22 of file CaloTriggerTowerService.cxx.

26  m_onlineHelper(nullptr) ,
27  m_emHelper(nullptr) ,
28  m_lvl1Helper(nullptr) ,
29  m_ttonlineHelper(nullptr)
30 {
31 
32  // Declare additional interface
33  declareInterface<CaloTriggerTowerService>(this);
34 
35  declareProperty("LArTTCellMapKey",m_TTCellMapKey="LArTTCellMapAtlas");
36  declareProperty("CaloTTOnOffIdMapKey",m_caloTTOnOffIdMapKey="CaloTTOnOffIdMapAtlas");
37  declareProperty("CaloTTOnAttrIdMapKey",m_caloTTOnAttrIdMapKey="CaloTTOnAttrIdMapAtlas");
38  declareProperty("CaloTTPpmRxIdMapKey",m_caloTTPpmRxIdMapKey="CaloTTPpmRxIdMapAtlas");
39 
40 }

Member Function Documentation

◆ barrel_endcap_fcal()

unsigned int CaloTriggerTowerService::barrel_endcap_fcal ( const HWIdentifier id) const

To know if a channel belongs to the barrel, end cap or fcal parts.

Returns
0: barrel
1: end cap
2: fcal
999: error

Definition at line 231 of file CaloTriggerTowerService.cxx.

231  {
232 
233  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
234  if(!caloTTOnAttrIdMap) {
235  msg() << MSG::ERROR << " No TTOnAttrIdMap !" << endmsg;
236  msg() << MSG::ERROR << " Has the DB folder holding the TTOnAttrIdMap been added to IOVDbSvc ? " << endmsg;
237  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
238  return (0);
239  } else {
240  unsigned int barrel_endcap_fcal = caloTTOnAttrIdMap->barrel_endcap_fcal(id);
241  return barrel_endcap_fcal;
242  }
243 }

◆ cnvCoolChannelIdToHWID()

HWIdentifier CaloTriggerTowerService::cnvCoolChannelIdToHWID ( const L1CaloCoolChannelId coolChannelId) const

create an HWIdentifier from an TDAQ CoolChannelId

Definition at line 318 of file CaloTriggerTowerService.cxx.

318  {
319 
320  unsigned int crate = coolChannelId.crate();
321  unsigned int module = coolChannelId.module(false); // get the physical module position
322  unsigned int submodule = coolChannelId.subModule();
323  unsigned int channel = coolChannelId.channel();
324 
325  // create Athena Online Id - the physical module position is expected here (not the logical)
327 
328  return channelId;
329 }

◆ cnvCoolChannelIdToRxId()

std::vector< L1CaloRxCoolChannelId > CaloTriggerTowerService::cnvCoolChannelIdToRxId ( const L1CaloCoolChannelId ppmCoolChannelId) const

returns a vector of L1CaloRxCoolChannelId corresponding to a L1CaloCoolChannelId

Definition at line 208 of file CaloTriggerTowerService.cxx.

208  {
209 
210  const CaloTTPpmRxIdMap* caloTTPpmRxIdMap = getCaloTTPpmRxIdMap();
211  if(!caloTTPpmRxIdMap ) {
212  msg() << MSG::ERROR << " No CaloTTPpmRxIdMap !" << endmsg;
213  msg() << MSG::ERROR << " Has the DB folder holding the CaloTTPpmRxIdMap been added to IOVDbSvc ? " << endmsg;
214  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
215  return std::vector<L1CaloRxCoolChannelId>();
216 
217  } else {
218  // mapping object exist, forward the call
219  std::vector<L1CaloRxCoolChannelId> rxChannels = caloTTPpmRxIdMap->ppmToRxId(ppmCoolChannelId);
220  if(rxChannels.empty()) {
221  CaloID_Exception except;
222  except.code(6) ;
223  except.message(" Ppm channel ID not found in map ") ;
224  throw except ;
225  }
226  return rxChannels;
227  }
228 }

◆ cnvRxIdToCoolChannelId()

L1CaloCoolChannelId CaloTriggerTowerService::cnvRxIdToCoolChannelId ( const L1CaloRxCoolChannelId rxCoolChannelId) const

returns a TDAQ CoolChannelId corresponding to a L1CaloRxCoolChannelId

Definition at line 184 of file CaloTriggerTowerService.cxx.

184  {
185 
186  L1CaloCoolChannelId invalidId;
187 
188  const CaloTTPpmRxIdMap* caloTTPpmRxIdMap = getCaloTTPpmRxIdMap();
189  if(!caloTTPpmRxIdMap ) {
190  msg() << MSG::ERROR << " No CaloTTPpmRxIdMap !" << endmsg;
191  msg() << MSG::ERROR << " Has the DB folder holding the CaloTTPpmRxIdMap been added to IOVDbSvc ? " << endmsg;
192  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
193  return invalidId;
194 
195  } else {
196  // mapping object exist, forward the call
197  L1CaloCoolChannelId ppmId = caloTTPpmRxIdMap->rxToPpmId(rxCoolChannelId);
198  if(ppmId==L1CaloCoolChannelId()) {
199  CaloID_Exception except;
200  except.code(6) ;
201  except.message(" Rx channel ID not found in map ") ;
202  throw except ;
203  }
204  return ppmId;
205  }
206 }

◆ cnvToIdentifier()

Identifier CaloTriggerTowerService::cnvToIdentifier ( const HWIdentifier id,
bool  bQuiet = false 
) const

create a TT Identifier from a TT HWIdentifier

Definition at line 155 of file CaloTriggerTowerService.cxx.

156 {
157  Identifier invalidId (0);
158 
159  const CaloTTOnOffIdMap* caloTTOnOffIdMap = getCaloTTOnOffIdMap();
160  if(!caloTTOnOffIdMap ) {
161  msg() << MSG::ERROR << " No CaloTTOnOffIdMap !" << endmsg;
162  msg() << MSG::ERROR << " Has the DB folder holding the CaloTTOnOffIdMap been added to IOVDbSvc ? " << endmsg;
163  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
164  return invalidId;
165 
166  } else {
167  // mapping object exist, forward the call
168  Identifier offid = caloTTOnOffIdMap->cnvToIdentifier(id, bQuiet);
169  if(bQuiet) {
170  return offid;
171 
172  } else {
173  if(!offid.is_valid()) {
174  CaloID_Exception except;
175  except.code(6) ;
176  except.message(" Online ID not found in map ") ;
177  throw except ;
178  }
179  return offid;
180  }
181  }
182 }

◆ createCellIDvecLayer()

std::vector< Identifier > CaloTriggerTowerService::createCellIDvecLayer ( const Identifier id) const

Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID, LArFCAL_ID) for a TT-layer offline id (helper=CaloLVL1_ID) -> one single layer (Rem: equivalent to above extTt!=0)
The call is formarded to the DB object LArTTCellMap.

Definition at line 370 of file CaloTriggerTowerService.cxx.

372 {
373  std::vector<Identifier> vec ;
374  const LArTTCellMap* TTCellMap = getTTCellMap();
375 
376  if(m_emHelper->dictionaryVersion() == "fullAtlas" ||
377  m_emHelper->dictionaryVersion() == "H8TestBeam") {
378  if(!TTCellMap) {
379  msg() << MSG::ERROR << " No TTCellMap !" << endmsg;
380  return vec;
381  }
382  vec = TTCellMap->createCellIDvec(id);
383  }
384 
385  return vec;
386 }

◆ createCellIDvecTT()

std::vector< Identifier > CaloTriggerTowerService::createCellIDvecTT ( const Identifier id) const

Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID, LArFCAL_ID) for a TT offline id (helper=CaloLVL1_ID) -> all layers together (Rem: equivalent to above extTt=0)
The call is formarded to the DB object LArTTCellMap.

Definition at line 334 of file CaloTriggerTowerService.cxx.

336 {
337  std::vector<Identifier> vec ;
338 
339  if(m_emHelper->dictionaryVersion() == "fullAtlas" ||
340  m_emHelper->dictionaryVersion() == "H8TestBeam") {
341 
342  const LArTTCellMap* TTCellMap = getTTCellMap();
343  if(!TTCellMap) {
344  msg() << MSG::ERROR << " No TTCellMap !" << endmsg;
345  return vec;
346  }
347 
348  Identifier ttId=m_lvl1Helper->tower_id(id);
349  Identifier regId=m_lvl1Helper->region_id(id);
350  int maxLay=m_lvl1Helper->layer_max(regId);
351 
352  for(int iLay=0;iLay<=maxLay;++iLay) {
353  // Rem: not all iLay correspond to physically existing layers
354  Identifier layId = m_lvl1Helper->layer_id(ttId,iLay);
355  std::vector<Identifier> vecp = TTCellMap->createCellIDvec(layId);
356  std::vector<Identifier>::const_iterator it = vecp.begin();
357  std::vector<Identifier>::const_iterator it_e = vecp.end();
358  for (; it!=it_e; ++it) {
359  vec.push_back(*it);
360  }
361  }
362 
363  }
364 
365  return vec;
366 }

◆ createL1CoolChannelId()

L1CaloCoolChannelId CaloTriggerTowerService::createL1CoolChannelId ( const HWIdentifier id) const

create a CoolChannelId (used by TDAQ framework) from a HWIdentifier

Definition at line 292 of file CaloTriggerTowerService.cxx.

292  {
293 
294  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
295  if(caloTTOnAttrIdMap) {
296 
297  unsigned int crate = m_ttonlineHelper->crate(id);
298  unsigned int module = m_ttonlineHelper->module(id); // this returns the physical slot position !
299  unsigned int submodule = m_ttonlineHelper->submodule(id);
300  unsigned int channel = m_ttonlineHelper->channel(id);
301 
302  unsigned int module_type = caloTTOnAttrIdMap->module_type(id);
303 
304  // since the module argument is the physical position and not the logical one, the logical flag is set to false
306 
307  } else {
308 
309  msg() << MSG::ERROR << " No CaloTTOnAttrIdMap !" << endmsg;
310  msg() << MSG::ERROR << " Has the DB folder holding the CaloTTOnAttrIdMap been added to IOVDbSvc ? " << endmsg;
311  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
312  return 0;
313  }
314 }

◆ createTTChannelID()

HWIdentifier CaloTriggerTowerService::createTTChannelID ( const Identifier id,
bool  bQuiet = false 
) const

create a TT HWIdentifier from a TT Identifier

Definition at line 122 of file CaloTriggerTowerService.cxx.

123 {
124 
125  HWIdentifier invalidId (0);
126 
127  const CaloTTOnOffIdMap* caloTTOnOffIdMap = getCaloTTOnOffIdMap();
128  if(!caloTTOnOffIdMap ) {// no mapping object
129  msg() << MSG::ERROR << " No CaloTTOnOffIdMap !" << endmsg;
130  msg() << MSG::ERROR << " Has the DB folder holding the CaloTTOnOffIdMap been added to IOVDbSvc ? " << endmsg;
131  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
132  return invalidId;
133 
134  } else {
135 
136  // have mapping object, forward the call
137  HWIdentifier sid = caloTTOnOffIdMap->createSignalChannelID( id ) ;
138  if(bQuiet) {
139  return sid;
140 
141  } else {
142  if(sid == invalidId) {
143  CaloID_Exception except;
144  except.code(5) ;
145  except.message("HWIdentifier not found in map ") ;
146  throw except ;
147  }
148  return sid;
149  }
150  }
151 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ em_had()

unsigned int CaloTriggerTowerService::em_had ( const HWIdentifier id) const

return the corresponding sampling of channelId:

Returns
0: for EM calorimeter
1: for HAD calorimeter
999: error

Definition at line 246 of file CaloTriggerTowerService.cxx.

246  {
247 
248  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
249  if(!caloTTOnAttrIdMap) {
250  msg() << MSG::ERROR << " No TTOnAttrIdMap !" << endmsg;
251  msg() << MSG::ERROR << " Has the DB folder holding the TTOnAttrIdMap been added to IOVDbSvc ? " << endmsg;
252  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
253  return (0);
254  } else {
255  unsigned int em_had = caloTTOnAttrIdMap->em_had(id);
256  return em_had;
257  }
258 }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode CaloTriggerTowerService::finalize ( )

Definition at line 108 of file CaloTriggerTowerService.cxx.

109 {
110  msg()<<MSG::INFO<<" => CaloTriggerTowerService::finalize() "<< endmsg;
111  return StatusCode::SUCCESS;
112 }

◆ getCaloTTOnAttrIdMap()

const CaloTTOnAttrIdMap * CaloTriggerTowerService::getCaloTTOnAttrIdMap ( ) const
private

Definition at line 489 of file CaloTriggerTowerService.cxx.

490 {
491  if (!m_caloTTOnAttrIdMap.get()) {
492  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = nullptr;
493  if (detStore()->retrieve (caloTTOnAttrIdMap, m_caloTTOnAttrIdMapKey).isSuccess()) {
494  m_caloTTOnAttrIdMap.set (caloTTOnAttrIdMap);
495  }
496  }
497  return m_caloTTOnAttrIdMap.get();
498 }

◆ getCaloTTOnOffIdMap()

const CaloTTOnOffIdMap * CaloTriggerTowerService::getCaloTTOnOffIdMap ( ) const
private

Definition at line 477 of file CaloTriggerTowerService.cxx.

478 {
479  if (!m_caloTTOnOffIdMap.get()) {
480  const CaloTTOnOffIdMap* caloTTOnOffIdMap = nullptr;
481  if (detStore()->retrieve (caloTTOnOffIdMap, m_caloTTOnOffIdMapKey).isSuccess()) {
482  m_caloTTOnOffIdMap.set (caloTTOnOffIdMap);
483  }
484  }
485  return m_caloTTOnOffIdMap.get();
486 }

◆ getCaloTTPpmRxIdMap()

const CaloTTPpmRxIdMap * CaloTriggerTowerService::getCaloTTPpmRxIdMap ( ) const
private

Definition at line 501 of file CaloTriggerTowerService.cxx.

502 {
503  if (!m_caloTTPpmRxIdMap.get()) {
504  const CaloTTPpmRxIdMap* caloTTPpmRxIdMap = nullptr;
505  if (detStore()->retrieve (caloTTPpmRxIdMap, m_caloTTPpmRxIdMapKey).isSuccess()) {
506  m_caloTTPpmRxIdMap.set (caloTTPpmRxIdMap);
507  }
508  }
509  return m_caloTTPpmRxIdMap.get();
510 }

◆ getTTCellMap()

const LArTTCellMap * CaloTriggerTowerService::getTTCellMap ( ) const
private

Definition at line 465 of file CaloTriggerTowerService.cxx.

466 {
467  if (!m_TTCellMap.get()) {
468  const LArTTCellMap* TTCellMap = nullptr;
469  if (detStore()->retrieve (TTCellMap, m_TTCellMapKey).isSuccess()) {
470  m_TTCellMap.set (TTCellMap);
471  }
472  }
473  return m_TTCellMap.get();
474 }

◆ initialize()

StatusCode CaloTriggerTowerService::initialize ( )

Definition at line 44 of file CaloTriggerTowerService.cxx.

45 {
46 
47  msg().setLevel(msgLevel());
48 
49  msg()<<MSG::INFO<<" => CaloTriggerTowerService::initialize() "<< endmsg;
50 
51  const CaloIdManager* caloMgr;
52  StatusCode status = detStore()->retrieve(caloMgr);
53  if (status.isFailure()) {
54  msg() << MSG::ERROR << "Unable to retrieve CaloIdManager from DetectorStore" << endmsg;
55  return StatusCode::FAILURE;
56  } else {
57  msg() << MSG::DEBUG << "Successfully retrieved CaloIdManager from DetectorStore" << endmsg;
58  }
59  m_emHelper = caloMgr->getEM_ID();
60  if (!m_emHelper) {
61  msg() << MSG::ERROR << "Could not access LArEM_ID helper" << endmsg;
62  return StatusCode::FAILURE;
63  } else {
64  msg() << MSG::DEBUG << "Successfully accessed LArEM_ID helper" << endmsg;
65  }
66  m_lvl1Helper = caloMgr->getLVL1_ID();
67  if (!m_lvl1Helper) {
68  msg() << MSG::ERROR << "Could not access CaloLVL1_ID helper" << endmsg;
69  return StatusCode::FAILURE;
70  } else {
71  msg() << MSG::DEBUG << "Successfully accessed CaloLVL1_ID helper" << endmsg;
72  }
73  m_ttonlineHelper = caloMgr->getTTOnlineID();
74  if (!m_ttonlineHelper) {
75  msg() << MSG::ERROR << "Could not access TTOnlineID helper" << endmsg;
76  return StatusCode::FAILURE;
77  } else {
78  msg() << MSG::DEBUG << "Successfully accessed CaloLVL1_ID helper" << endmsg;
79  }
80 
81  status = detStore()->retrieve(m_onlineHelper, "LArOnlineID");
82  if (status.isFailure()) {
83  msg() << MSG::ERROR << "Could not access LArOnlineID helper" << endmsg;
84  return StatusCode::FAILURE;
85  } else {
86  msg() << MSG::DEBUG << "Successfully accessed LArOnlineID helper" << endmsg;
87  }
88 
89  // Make sure the dictionaries for the LArTTCellMap persistent classes
90  // are available. We used to read this object via a conditions callback,
91  // but callbacks are not thread-friendly, so this was changed to retrieving
92  // it from detStore during event processing. However, this meant that
93  // the TClass's for the persistent objects were also being loaded
94  // at that time. As of root 6.22.00, at least, TClass can sometimes
95  // fail to properly load a dictionary when it's being run in a multithreaded
96  // context. So force the needed dictionaries to load now.
97  TClass::GetClass ("LArTTCell_P");
98  TClass::GetClass ("LArTTCell_P::LArTTCell_P_t");
99  TClass::GetClass ("std::vector<LArTTCell_P::LArTTCell_P_t>");
100 
101  msg()<<MSG::INFO<<" ====> ...CaloTriggerTowerService::init() OK "<< endmsg;
102  return StatusCode::SUCCESS;
103 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

static const InterfaceID& CaloTriggerTowerService::interfaceID ( )
inlinestatic

Retrieve interface ID.

Definition at line 53 of file CaloTriggerTowerService.h.

53 { return IID_CaloTriggerTowerService; }

◆ iovCallBack()

StatusCode CaloTriggerTowerService::iovCallBack ( IOVSVC_CALLBACK_ARGS  )
virtual

Definition at line 456 of file CaloTriggerTowerService.cxx.

456  {
457 
458  msg()<<MSG::INFO<<" ====> iovCallBack " << endmsg;
459 
460  return StatusCode::SUCCESS;
461 
462 }

◆ is_in_lvl1()

bool CaloTriggerTowerService::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 compartment and last cells of barrel PS)

Definition at line 416 of file CaloTriggerTowerService.cxx.

424 {
425 
426  bool lvl1 = true ;
427 
428  if(m_emHelper->dictionaryVersion() == "fullAtlas" ||
429  m_emHelper->dictionaryVersion() == "H8TestBeam") {
430 
431  if(m_emHelper->is_em_barrel(id)) {
432  int samp=m_emHelper->sampling(id);
433  if(samp==0) {
434  int eta=m_emHelper->eta(id);
435  if(eta==60) {
436  lvl1 = false ;
437  }
438  }
439  } else {
440  Identifier ttId=whichTTID(id);
441  if(m_lvl1Helper->is_hec(ttId)) {
442  int layer = m_lvl1Helper->layer(ttId);
443  if(layer == 3){
444  lvl1 = false ;
445  }
446  }
447  }
448  } else {
449  lvl1 = false ;
450  }
451 
452  return lvl1;
453 
454 }

◆ is_initialized()

bool CaloTriggerTowerService::is_initialized ( ) const

Definition at line 115 of file CaloTriggerTowerService.cxx.

116 {
117  return getTTCellMap() != nullptr && getCaloTTOnOffIdMap() != nullptr && getCaloTTOnAttrIdMap() != nullptr;
118 }

◆ module_type()

unsigned int CaloTriggerTowerService::module_type ( const HWIdentifier id) const

To get the type of the module connected to the channel:

Returns
1: PPM
2: CPM
3: JEM
999: error

Definition at line 275 of file CaloTriggerTowerService.cxx.

275  {
276 
277 
278  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
279  if(!caloTTOnAttrIdMap) {
280  msg() << MSG::ERROR << " No TTOnAttrIdMap !" << endmsg;
281  msg() << MSG::ERROR << " Has the DB folder holding the TTOnAttrIdMap been added to IOVDbSvc ? " << endmsg;
282  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
283  return (0);
284  } else {
285  unsigned int module_type = caloTTOnAttrIdMap->module_type(id);
286  return module_type;
287  }
288 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ pos_neg()

unsigned int CaloTriggerTowerService::pos_neg ( const HWIdentifier id) const

return 0 for z<0 channels and 1 for z>0 channels

Definition at line 261 of file CaloTriggerTowerService.cxx.

261  {
262 
263  const CaloTTOnAttrIdMap* caloTTOnAttrIdMap = getCaloTTOnAttrIdMap();
264  if(!caloTTOnAttrIdMap) {
265  msg() << MSG::ERROR << " No TTOnAttrIdMap !" << endmsg;
266  msg() << MSG::ERROR << " Has the DB folder holding the TTOnAttrIdMap been added to IOVDbSvc ? " << endmsg;
267  msg() << MSG::ERROR << " IOVDbSvc.Folders+=[ FolderName + DBConnection + \"<tag>\"+TagSpec+\"</tag>\" ] " << endmsg;
268  return (0);
269  } else {
270  unsigned int pos_neg = caloTTOnAttrIdMap->pos_neg(id);
271  return pos_neg;
272  }
273 }

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

◆ whichTTID()

Identifier CaloTriggerTowerService::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 formarded to the DB object LArTTCellMap

Definition at line 389 of file CaloTriggerTowerService.cxx.

391 {
392  Identifier sid(0);
393 
394  if(m_emHelper->dictionaryVersion() == "fullAtlas" ||
395  m_emHelper->dictionaryVersion() == "H8TestBeam") {
396 
397  const LArTTCellMap* TTCellMap = getTTCellMap();
398  if(!TTCellMap) {
399  msg() << MSG::ERROR << " No TTCellMap !" << endmsg;
400  return sid;
401  }
402  sid = TTCellMap->whichTTID( id ) ;
403  Identifier invalidId (0);
404  if(sid == invalidId ){
405  LArID_Exception except;
406  except.message("Identifier not found in map ") ;
407  throw except ;
408  }
409  }
410 
411  return sid;
412 }

Member Data Documentation

◆ m_caloTTOnAttrIdMap

CxxUtils::CachedPointer<const CaloTTOnAttrIdMap> CaloTriggerTowerService::m_caloTTOnAttrIdMap
private

Definition at line 193 of file CaloTriggerTowerService.h.

◆ m_caloTTOnAttrIdMapKey

std::string CaloTriggerTowerService::m_caloTTOnAttrIdMapKey
private

Definition at line 198 of file CaloTriggerTowerService.h.

◆ m_caloTTOnOffIdMap

CxxUtils::CachedPointer<const CaloTTOnOffIdMap> CaloTriggerTowerService::m_caloTTOnOffIdMap
private

Definition at line 192 of file CaloTriggerTowerService.h.

◆ m_caloTTOnOffIdMapKey

std::string CaloTriggerTowerService::m_caloTTOnOffIdMapKey
private

Definition at line 197 of file CaloTriggerTowerService.h.

◆ m_caloTTPpmRxIdMap

CxxUtils::CachedPointer<const CaloTTPpmRxIdMap> CaloTriggerTowerService::m_caloTTPpmRxIdMap
private

Definition at line 194 of file CaloTriggerTowerService.h.

◆ m_caloTTPpmRxIdMapKey

std::string CaloTriggerTowerService::m_caloTTPpmRxIdMapKey
private

Definition at line 199 of file CaloTriggerTowerService.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_emHelper

const LArEM_ID* CaloTriggerTowerService::m_emHelper
private

pointer to the LArEM offline Id helper

Definition at line 185 of file CaloTriggerTowerService.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_lvl1Helper

const CaloLVL1_ID* CaloTriggerTowerService::m_lvl1Helper
private

pointer to the Calo TT offline Id helper

Definition at line 187 of file CaloTriggerTowerService.h.

◆ m_onlineHelper

const LArOnlineID* CaloTriggerTowerService::m_onlineHelper
private

pointer to the LAr Online Id helper

Definition at line 183 of file CaloTriggerTowerService.h.

◆ m_TTCellMap

CxxUtils::CachedPointer<const LArTTCellMap> CaloTriggerTowerService::m_TTCellMap
private

Definition at line 191 of file CaloTriggerTowerService.h.

◆ m_TTCellMapKey

std::string CaloTriggerTowerService::m_TTCellMapKey
private

Definition at line 196 of file CaloTriggerTowerService.h.

◆ m_ttonlineHelper

const TTOnlineID* CaloTriggerTowerService::m_ttonlineHelper
private

pointer to the Calo TT online Id helper

Definition at line 189 of file CaloTriggerTowerService.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
CaloTriggerTowerService::m_caloTTPpmRxIdMap
CxxUtils::CachedPointer< const CaloTTPpmRxIdMap > m_caloTTPpmRxIdMap
Definition: CaloTriggerTowerService.h:194
TTOnlineID::channel
int channel(const HWIdentifier id) const
Definition: TTOnlineID.h:477
CaloLVL1_ID::layer_max
int layer_max(const Identifier regId) const
max value of phi index (-999 == failure)
Definition: CaloLVL1_ID.cxx:515
CaloTriggerTowerService::m_emHelper
const LArEM_ID * m_emHelper
pointer to the LArEM offline Id helper
Definition: CaloTriggerTowerService.h:185
CaloTriggerTowerService::m_TTCellMapKey
std::string m_TTCellMapKey
Definition: CaloTriggerTowerService.h:196
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
CaloTriggerTowerService::m_caloTTOnOffIdMapKey
std::string m_caloTTOnOffIdMapKey
Definition: CaloTriggerTowerService.h:197
CaloID_Exception
Exception class for Calo Identifiers.
Definition: CaloID_Exception.h:20
CaloTriggerTowerService::m_TTCellMap
CxxUtils::CachedPointer< const LArTTCellMap > m_TTCellMap
Definition: CaloTriggerTowerService.h:191
CaloTriggerTowerService::m_caloTTOnOffIdMap
CxxUtils::CachedPointer< const CaloTTOnOffIdMap > m_caloTTOnOffIdMap
Definition: CaloTriggerTowerService.h:192
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:112
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CaloTriggerTowerService::m_lvl1Helper
const CaloLVL1_ID * m_lvl1Helper
pointer to the Calo TT offline Id helper
Definition: CaloTriggerTowerService.h:187
CaloIdManager::getEM_ID
const LArEM_ID * getEM_ID(void) const
Definition: CaloIdManager.cxx:80
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:183
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:131
skel.it
it
Definition: skel.GENtoEVGEN.py:423
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
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
CaloTriggerTowerService::em_had
unsigned int em_had(const HWIdentifier &id) const
return the corresponding sampling of channelId:
Definition: CaloTriggerTowerService.cxx:246
LArEM_Base_ID::sampling
int sampling(const Identifier id) const
return sampling according to :
CaloTriggerTowerService::getTTCellMap
const LArTTCellMap * getTTCellMap() const
Definition: CaloTriggerTowerService.cxx:465
CaloTTPpmRxIdMap::ppmToRxId
std::vector< L1CaloRxCoolChannelId > ppmToRxId(const L1CaloCoolChannelId &ppmChannelId) const
return the corresponding Rx channels to the Ppm input one
Definition: CaloTTPpmRxIdMap.cxx:84
L1CaloCoolChannelId::crate
unsigned int crate() const
Definition: L1CaloCoolChannelId.h:25
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
CaloLVL1_ID::region_id
Identifier region_id(int pos_neg_z, int sampling, int region) const
build a region (of towers) identifier
Definition: CaloLVL1_ID.h:502
L1CaloModuleType::L1CaloModuleEnum
L1CaloModuleEnum
Definition: L1CaloModuleType.h:15
CaloTTOnOffIdMap::createSignalChannelID
HWIdentifier createSignalChannelID(const Identifier &id, bool bQuiet=false) const
return the corresponfing online Id of an offline one
Definition: CaloTTOnOffIdMap.cxx:98
L1CaloModuleType
Definition: L1CaloModuleType.h:11
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
CaloTriggerTowerService::m_caloTTOnAttrIdMapKey
std::string m_caloTTOnAttrIdMapKey
Definition: CaloTriggerTowerService.h:198
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:150
CaloTTOnAttrIdMap::em_had
unsigned int em_had(HWIdentifier channelId) const
return the corresponding sampling of channelId:
Definition: CaloTTOnAttrIdMap.cxx:94
Identifier::is_valid
bool is_valid() const
Check if id is in a valid state.
CaloLVL1_ID::layer
int layer(const Identifier id) const
return layer according to :
Definition: CaloLVL1_ID.h:665
AtlasDetectorID::dictionaryVersion
virtual std::string dictionaryVersion(void) const override
Definition: AtlasDetectorID.cxx:347
LArEM_Base_ID::eta
int eta(const Identifier id) const
return eta according to :
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
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
CaloLVL1_ID::is_hec
bool is_hec(const Identifier id) const
Test wether given tower or layer is part of the HEC.
Definition: CaloLVL1_ID.h:703
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:389
CaloLVL1_ID::layer_id
Identifier layer_id(int pos_neg_z, int sampling, int region, int eta, int phi, int layer) const
build a layer identifier
Definition: CaloLVL1_ID.h:530
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:134
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:477
TTOnlineID::module
int module(const HWIdentifier id) const
Definition: TTOnlineID.h:465
AthCommonDataStore
Definition: AthCommonDataStore.h:52
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:126
CaloTTPpmRxIdMap::rxToPpmId
L1CaloCoolChannelId rxToPpmId(const L1CaloRxCoolChannelId &rxChannelId) const
return the corresponfing ppm channel to the Rx input one
Definition: CaloTTPpmRxIdMap.cxx:106
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
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
CaloTTOnAttrIdMap
Definition: CaloTTOnAttrIdMap.h:33
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
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::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:261
CaloTriggerTowerService::m_ttonlineHelper
const TTOnlineID * m_ttonlineHelper
pointer to the Calo TT online Id helper
Definition: CaloTriggerTowerService.h:189
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloIdManager::getLVL1_ID
const CaloLVL1_ID * getLVL1_ID(void) const
Definition: CaloIdManager.cxx:75
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
CaloTriggerTowerService::m_caloTTOnAttrIdMap
CxxUtils::CachedPointer< const CaloTTOnAttrIdMap > m_caloTTOnAttrIdMap
Definition: CaloTriggerTowerService.h:193
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloTriggerTowerService::getCaloTTOnAttrIdMap
const CaloTTOnAttrIdMap * getCaloTTOnAttrIdMap() const
Definition: CaloTriggerTowerService.cxx:489
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:231
CaloTriggerTowerService::m_caloTTPpmRxIdMapKey
std::string m_caloTTPpmRxIdMapKey
Definition: CaloTriggerTowerService.h:199
LArID_Exception::message
void message(const std::string &l_message)
set error message
Definition: LArID_Exception.h:36
L1CaloCoolChannelId
Definition: L1CaloCoolChannelId.h:10
a
TList * a
Definition: liststreamerinfos.cxx:10
TTOnlineID::submodule
int submodule(const HWIdentifier id) const
Definition: TTOnlineID.h:471
h
LArEM_Base_ID::is_em_barrel
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
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:275
DEBUG
#define DEBUG
Definition: page_access.h:11
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
CaloTTPpmRxIdMap
This is a StoreGate object holding the TT PPM to RX channels map.
Definition: CaloTTPpmRxIdMap.h:27
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
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:501
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
CaloIdManager::getTTOnlineID
const TTOnlineID * getTTOnlineID(void) const
Definition: CaloIdManager.cxx:105
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
merge.status
status
Definition: merge.py:17
TTOnlineID::crate
int crate(const HWIdentifier id) const
Definition: TTOnlineID.h:459
CaloLVL1_ID::tower_id
Identifier tower_id(int pos_neg_z, int sampling, int region, int eta, int phi) const
build a tower identifier
Definition: CaloLVL1_ID.h:429
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
LArID_Exception
Exception class for LAr Identifiers.
Definition: LArID_Exception.h:20
L1CaloCoolChannelId::subModule
unsigned int subModule() const
Definition: L1CaloCoolChannelId.h:29
fitman.k
k
Definition: fitman.py:528
L1CaloCoolChannelId::module
unsigned int module(bool logical=true) const
CaloID_Exception::code
void code(int lCode)
set error code number
Definition: CaloID_Exception.cxx:25