|
ATLAS Offline Software
|
Tool providing the mapping of the online and offline TriggerTower identifiers as well as the TT-cells mapping.
More...
#include <CaloTriggerTowerService.h>
|
| CaloTriggerTowerService (const std::string &type, const std::string &name, const IInterface *parent) |
| constructor More...
|
|
virtual StatusCode | initialize () override |
|
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< L1CaloRxCoolChannelId > | cnvCoolChannelIdToRxId (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< Identifier > | 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. More...
|
|
std::vector< Identifier > | 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. 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 |
|
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 45 of file CaloTriggerTowerService.h.
◆ StoreGateSvc_t
◆ CaloTriggerTowerService()
CaloTriggerTowerService::CaloTriggerTowerService |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ 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 169 of file CaloTriggerTowerService.cxx.
172 if(!caloTTOnAttrIdMap) {
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>\" ] ");
◆ cnvCoolChannelIdToHWID()
◆ cnvCoolChannelIdToRxId()
◆ cnvRxIdToCoolChannelId()
◆ cnvToIdentifier()
◆ createCellIDvecLayer()
◆ createCellIDvecTT()
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 272 of file CaloTriggerTowerService.cxx.
275 std::vector<Identifier>
vec ;
290 for(
int iLay=0;iLay<=maxLay;++iLay) {
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) {
◆ createL1CoolChannelId()
create a CoolChannelId (used by TDAQ framework) from a HWIdentifier
Definition at line 230 of file CaloTriggerTowerService.cxx.
233 if(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>\" ] ");
◆ createTTChannelID()
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
◆ declareProperty() [6/6]
◆ detStore()
◆ em_had()
return the corresponding sampling of channelId:
- Returns
- 0: for EM calorimeter
-
1: for HAD calorimeter
-
999: error
Definition at line 184 of file CaloTriggerTowerService.cxx.
187 if(!caloTTOnAttrIdMap) {
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>\" ] ");
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
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
◆ getCaloTTOnAttrIdMap()
◆ getCaloTTOnOffIdMap()
◆ getCaloTTPpmRxIdMap()
◆ getTTCellMap()
◆ initialize()
StatusCode CaloTriggerTowerService::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 30 of file CaloTriggerTowerService.cxx.
32 ATH_MSG_INFO(
" => CaloTriggerTowerService::initialize()");
51 TClass::GetClass (
"LArTTCell_P");
52 TClass::GetClass (
"LArTTCell_P::LArTTCell_P_t");
53 TClass::GetClass (
"std::vector<LArTTCell_P::LArTTCell_P_t>");
55 return StatusCode::SUCCESS;
◆ inputHandles()
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 |
◆ is_in_lvl1()
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 354 of file CaloTriggerTowerService.cxx.
◆ module_type()
To get the type of the module connected to the channel:
- Returns
- 1: PPM
-
2: CPM
-
3: JEM
-
999: error
Definition at line 213 of file CaloTriggerTowerService.cxx.
217 if(!caloTTOnAttrIdMap) {
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>\" ] ");
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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()
return 0 for z<0 channels and 1 for z>0 channels
Definition at line 199 of file CaloTriggerTowerService.cxx.
202 if(!caloTTOnAttrIdMap) {
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>\" ] ");
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ whichTTID()
◆ m_caloTTOnAttrIdMap
◆ m_caloTTOnAttrIdMapKey
Gaudi::Property<std::string> CaloTriggerTowerService::m_caloTTOnAttrIdMapKey {this, "CaloTTOnAttrIdMapKey", "CaloTTOnAttrIdMapAtlas"} |
|
private |
◆ m_caloTTOnOffIdMap
◆ m_caloTTOnOffIdMapKey
Gaudi::Property<std::string> CaloTriggerTowerService::m_caloTTOnOffIdMapKey {this, "CaloTTOnOffIdMapKey", "CaloTTOnOffIdMapAtlas"} |
|
private |
◆ m_caloTTPpmRxIdMap
◆ m_caloTTPpmRxIdMapKey
Gaudi::Property<std::string> CaloTriggerTowerService::m_caloTTPpmRxIdMapKey {this, "CaloTTPpmRxIdMapKey", "CaloTTPpmRxIdMapAtlas"} |
|
private |
◆ m_detStore
◆ m_emHelper
◆ m_evtStore
◆ m_lvl1Helper
◆ m_onlineHelper
◆ m_TTCellMap
◆ m_TTCellMapKey
Gaudi::Property<std::string> CaloTriggerTowerService::m_TTCellMapKey {this, "LArTTCellMapKey", "LArTTCellMapAtlas"} |
|
private |
◆ m_ttonlineHelper
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
CxxUtils::CachedPointer< const CaloTTPpmRxIdMap > m_caloTTPpmRxIdMap
int channel(const HWIdentifier id) const
int layer_max(const Identifier regId) const
max value of phi index (-999 == failure)
const LArEM_ID * m_emHelper
pointer to the LArEM offline Id helper
Exception class for Calo Identifiers.
CxxUtils::CachedPointer< const LArTTCellMap > m_TTCellMap
CxxUtils::CachedPointer< const CaloTTOnOffIdMap > m_caloTTOnOffIdMap
unsigned int pos_neg(HWIdentifier channelId) const
return 0 for z<0 channels and 1 for z>0 channels
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const CaloLVL1_ID * m_lvl1Helper
pointer to the Calo TT offline Id helper
const LArEM_ID * getEM_ID(void) const
Identifier whichTTID(const Identifier &id) const
return the offline id (CaloLVL1_ID) of the TT to which a cell (CaloCell_ID) belongs
const LArOnlineID * m_onlineHelper
pointer to the LAr Online Id helper
unsigned int barrel_endcap_fcal(HWIdentifier channelId) const
To know if a channel belongs to the barrel, end cap or fcal parts.
const std::vector< Identifier > & createCellIDvec(const Identifier &id) const
Return a vector of offline Identifiers (corresponding helpers = LArEM_ID, LArHEC_ID,...
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
unsigned int em_had(const HWIdentifier &id) const
return the corresponding sampling of channelId:
int sampling(const Identifier id) const
return sampling according to :
const LArTTCellMap * getTTCellMap() const
std::vector< L1CaloRxCoolChannelId > ppmToRxId(const L1CaloCoolChannelId &ppmChannelId) const
return the corresponding Rx channels to the Ppm input one
unsigned int crate() const
std::vector< size_t > vec
Identifier region_id(int pos_neg_z, int sampling, int region) const
build a region (of towers) identifier
Gaudi::Property< std::string > m_caloTTOnAttrIdMapKey
HWIdentifier createSignalChannelID(const Identifier &id, bool bQuiet=false) const
return the corresponfing online Id of an offline one
unsigned int module_type(HWIdentifier channelId) const
To get the type of the module connected to the channel:
unsigned int em_had(HWIdentifier channelId) const
return the corresponding sampling of channelId:
bool is_valid() const
Check if id is in a valid state.
int layer(const Identifier id) const
return layer according to :
virtual std::string dictionaryVersion(void) const override
int eta(const Identifier id) const
return eta according to :
void set(pointer_t elt) const
Set the element, assuming it is currently null.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
bool is_hec(const Identifier id) const
Test wether given tower or layer is part of the HEC.
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 ...
Identifier layer_id(int pos_neg_z, int sampling, int region, int eta, int phi, int layer) const
build a layer identifier
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
This is a StoreGate object holding the TT offline-online map.
const CaloTTOnOffIdMap * getCaloTTOnOffIdMap() const
int module(const HWIdentifier id) const
Gaudi::Property< std::string > m_TTCellMapKey
Identifier cnvToIdentifier(const HWIdentifier &sid, bool bQuiet=false) const
return the corresponfing offline Id of an online one
L1CaloCoolChannelId rxToPpmId(const L1CaloRxCoolChannelId &rxChannelId) const
return the corresponfing ppm channel to the Rx input one
This class initializes the Calo (LAr and Tile) offline identifiers.
unsigned int channel() const
unsigned int pos_neg(const HWIdentifier &id) const
return 0 for z<0 channels and 1 for z>0 channels
const TTOnlineID * m_ttonlineHelper
pointer to the Calo TT online Id helper
const CaloLVL1_ID * getLVL1_ID(void) const
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Gaudi::Property< std::string > m_caloTTPpmRxIdMapKey
virtual void renounce()=0
CxxUtils::CachedPointer< const CaloTTOnAttrIdMap > m_caloTTOnAttrIdMap
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const CaloTTOnAttrIdMap * getCaloTTOnAttrIdMap() const
Gaudi::Property< std::string > m_caloTTOnOffIdMapKey
This is a StoreGate object holding the offline TT-cell map.
void message(const std::string &lMessage)
set error message
unsigned int barrel_endcap_fcal(const HWIdentifier &id) const
To know if a channel belongs to the barrel, end cap or fcal parts.
void message(const std::string &l_message)
set error message
int submodule(const HWIdentifier id) const
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
unsigned int module_type(const HWIdentifier &id) const
To get the type of the module connected to the channel:
This is a StoreGate object holding the TT PPM to RX channels map.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
HWIdentifier channelId(int crate, int module, int submodule, int channel) const
(1) create towerId from fields
pointer_t get() const
Return the current value of the element.
const CaloTTPpmRxIdMap * getCaloTTPpmRxIdMap() const
const TTOnlineID * getTTOnlineID(void) const
int crate(const HWIdentifier id) const
Identifier tower_id(int pos_neg_z, int sampling, int region, int eta, int phi) const
build a tower identifier
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Exception class for LAr Identifiers.
unsigned int subModule() const
unsigned int module(bool logical=true) const
void code(int lCode)
set error code number