15 #include "GaudiKernel/EventIDRange.h"
53 return StatusCode::SUCCESS;
75 return StatusCode::SUCCESS;
81 std::unique_ptr<SG::ReadCondHandle<PixelCablingCondData> > pixCabling;
82 std::unique_ptr<SG::ReadCondHandle<SCT_CablingData> > sctCabling;
84 EventIDRange id_range;
91 sctCabling = std::make_unique<SG::ReadCondHandle<SCT_CablingData> >(
m_sctCablingKey, ctx );
92 if( !sctCabling->range( id_range ) ) {
93 ATH_MSG_ERROR(
"Failed to retrieve validity range for " << sctCabling->key());
94 return StatusCode::FAILURE;
101 ATH_MSG_DEBUG(
"RegSelCondAlg: " << id_range <<
"( initial range )" );
103 pixCabling = std::make_unique<SG::ReadCondHandle<PixelCablingCondData> >(
m_pixCablingKey, ctx );
104 if( !pixCabling->range( id_range ) ) {
105 ATH_MSG_ERROR(
"Failed to retrieve validity range for " << pixCabling->key() <<
" : " << id_range );
106 return StatusCode::FAILURE;
108 ATH_MSG_DEBUG(
"RegSelCondAlg: " << id_range <<
"( final range )" );
116 std::unique_ptr<RegSelSiLUT> rd;
127 if (elements==
nullptr) {
129 return StatusCode::FAILURE;
136 if( !detEle.
range( id_range ) ) {
137 ATH_MSG_ERROR(
"Failed to retrieve validity range for " << detEle.
key() <<
" : " << id_range );
138 return StatusCode::FAILURE;
140 ATH_MSG_DEBUG(
"RegSelCondAlg: " << id_range <<
"( final range )" );
153 double rMin, rMax, zMin, zMax, phiMin, phiMax;
155 rMin = element->rMin();
156 rMax = element->rMax();
157 zMin = element->zMin();
158 zMax = element->zMax();
159 phiMin = element->phiMin();
160 phiMax = element->phiMax();
167 if (element->isPixel()) {
169 const PixelID* pixelId =
dynamic_cast<const PixelID*
>(element->getIdHelper());
170 if ( pixelId!=
nullptr ) {
171 barrelEC = pixelId->
barrel_ec(element->identify());
172 if ( std::fabs(barrelEC)>3 )
continue;
173 layerDisk = pixelId->
layer_disk(element->identify());
174 if(
m_useCabling) robId=(*pixCabling)->find_entry_offrob(element->identify());
178 ATH_MSG_ERROR(
"Could not get PIXEL_ID for " << element->getIdHelper() );
183 const SCT_ID* sctId =
dynamic_cast<const SCT_ID*
>(element->getIdHelper());
184 if ( sctId!=
nullptr ) {
185 barrelEC = sctId->
barrel_ec(element->identify());
186 layerDisk = sctId->
layer_disk(element->identify());
189 if(
m_useCabling) robId = ((*sctCabling)->getOnlineIdFromHash(element->identifyHash())).rod();
193 ATH_MSG_ERROR(
"Could not get SCT_ID for " << element->getIdHelper() );
201 RegSelModule smod( zMin, zMax, rMin, rMax, phiMin, phiMax, layerDisk, barrelEC, robId, hashId );
208 <<
" barrelEC = " << barrelEC
209 <<
", layerDisk = " << layerDisk
227 if( lutCondData.
record( id_range, rcd ).isFailure() ) {
229 <<
" " << lutCondData.
key()
230 <<
" with range " << id_range );
231 return StatusCode::FAILURE;
237 return StatusCode::FAILURE;
243 return StatusCode::SUCCESS;