diff --git a/DetectorDescription/RegionSelector/src/RegSelSvc.cxx b/DetectorDescription/RegionSelector/src/RegSelSvc.cxx index 0ad022d9fb1836a7593ee998191f94f70e2eb21a..564a5ba1ec9328aa573e645fd907fa0158f02c6d 100755 --- a/DetectorDescription/RegionSelector/src/RegSelSvc.cxx +++ b/DetectorDescription/RegionSelector/src/RegSelSvc.cxx @@ -175,20 +175,6 @@ StatusCode RegSelSvc::initialize() { ATH_MSG_INFO( "DeltaZ = " << m_DeltaZ ); - - std::string sctflag("enabled"); - std::string pixelflag("enabled"); - std::string trtflag("enabled"); - - if ( m_initOnlyID.value() ) { - if ( !m_initSCT.value() ) sctflag = "disabled"; - else ATH_CHECK(m_SCTCablingToolInc.retrieve()); // SCT_CablingToolInc has to be retrieved now. - // Otherwise, SCT_RegionSelectorTable cannot use ready SCT_CablingToolInc. - - if ( !m_initPixel.value() ) pixelflag = "disabled"; - if ( !m_initTRT.value() ) trtflag = "disabled"; - } - std::string rpcflag("enabled"); std::string mdtflag("enabled"); std::string tgcflag("enabled"); @@ -209,8 +195,6 @@ StatusCode RegSelSvc::initialize() { msg(MSG::INFO) << "detector switches:" << " indet=" << (m_initOnlyID.value() ? "enabled":"disabled"); - if( m_initOnlyID.value() ) - msg() << " ( sct=" << sctflag << " pixel=" << pixelflag << " trt=" << trtflag << " )"; msg() << " calo=" << (m_initOnlyCalo.value() ? "enabled":"disabled") << " muon=" << (m_initOnlyMuon.value() ? "enabled":"disabled"); @@ -301,7 +285,6 @@ void RegSelSvc::handle(const Incident& incident) { initialised = true; // call Innr detector, Calo and Muon handlers - if ( m_initOnlyID ) handleID(); if ( m_initOnlyMuon ) handleMuon(); // if ( m_initOnlyCalo ) handleCalo(); @@ -312,122 +295,16 @@ void RegSelSvc::handle(const Incident& incident) { msg() << " " << *d; msg() << " detectors have been initialized" << endmsg; // " with Region Type " << m_regionType << endmsg; } - - if ( m_dumpTable ) { - RegSelSiLUT* tables[7] = { m_newpixel, m_newsct, m_newtrt, m_newrpc, m_newmdt, m_newtgc, m_newcsc }; - for ( int it=0 ; it<7 ; it++ ) { - if ( tables[it] ) { - char table[64]; - std::sprintf( table, "table-%d.map", it ); - ATH_MSG_INFO( "dumping table " << it << " to file: " << table ); - tables[it]->write(table); - } - } - } - - // if ( m_errorFlag ) return StatusCode::FAILURE; - // else return StatusCode::SUCCESS; - } - -} - - - - - -void RegSelSvc::disableIDFromConditions(RegSelSiLUT* detector, const std::string& serviceName) { - ATH_MSG_INFO( " reading detector conditions from " << serviceName ); - - if (serviceName.empty()){ - ATH_MSG_INFO( "Unspecified conditions summary service, skipping disableIDFromConditions" ); - return; } - if ( detector ) { - - // get list of all detector elements for this detector - - std::vector<IdentifierHash> IDList; +} - if ( detector==m_newpixel ) DetHashIDList(PIXEL, IDList); - if ( detector==m_newsct ) DetHashIDList(SCT, IDList); - if ( detector==m_newtrt ) DetHashIDList(TRT, IDList); - - // there must be a nicer way to do this. - // basically, I have to enable all modules, - // then go through them getting the list of - // modules to enable and the list to disable, - // then I have to enable and disable them - // appropriately. hmmm - - // get lists of modules to enable and disable - std::vector<IdentifierHash> DisableList; - std::vector<IdentifierHash> EnableList; - - int active_modules = 0; - int disabled_modules = 0; - - std::vector<IdentifierHash>::iterator mitr(IDList.begin()); - std::vector<IdentifierHash>::iterator mend(IDList.end()); - - if ( detector==m_newpixel or detector==m_newsct ) { - // get ConditionsSummaryTool - ToolHandle<IInDetConditionsTool> condsummary(serviceName, this); - if ( condsummary.retrieve().isFailure() ) { - ATH_MSG_ERROR( "failed to get " << serviceName ); - return; - } - while ( mitr!=mend ) { - if ( condsummary->isActive(*mitr) ) { - EnableList.push_back(*mitr); - active_modules++; - } - else { - DisableList.push_back(*mitr); - disabled_modules++; - } - ATH_MSG_VERBOSE( serviceName << " module 0x" << std::hex << *mitr << std::dec - << " isActive()=" << condsummary->isActive(*mitr) ); - mitr++; - } - } else { - // get ConditionsSummarySvc - ServiceHandle<IInDetConditionsSvc> condsummary(serviceName, name()); - if ( condsummary.retrieve().isFailure() ) { - ATH_MSG_ERROR( "failed to get " << serviceName ); - return; - } - while ( mitr!=mend ) { - if ( condsummary->isActive(*mitr) ) { - EnableList.push_back(*mitr); - active_modules++; - } - else { - DisableList.push_back(*mitr); - disabled_modules++; - } - ATH_MSG_VERBOSE( serviceName << " module 0x" << std::hex << *mitr << std::dec - << " isActive()=" << condsummary->isActive(*mitr) ); - mitr++; - } - } - ATH_MSG_INFO( serviceName << " Number of modules active " << active_modules ); - ATH_MSG_INFO( serviceName << " Number of modules disabled " << disabled_modules ); - - // these methods have to be tidied up, since they - // each rebuild the Disabled module maps, I need - // methods to enable/disable, and *after* to rebuild - // the disabled module map - - detector->disableModuleList(DisableList); - // detector->enableModuleList(EnableList); - - } +void RegSelSvc::disableIDFromConditions(RegSelSiLUT* /* detector */, const std::string& /* serviceName */ ) { } @@ -437,87 +314,8 @@ void RegSelSvc::disableIDFromConditions(RegSelSiLUT* detector, const std::string bool RegSelSvc::handleID() { - - bool errorFlag = false; - - ATH_MSG_INFO( " Initialising Inner Detector maps" ); - - // new region selector code, we make the (reasonably simple) - // structures in the SiRegionSelectorTable so we don't need to - // do any more than just extract the tables. - - - //! Read PIXEL data from Detector Store - if ( m_initPixel.value() ) { - StatusCode sc = readFromSG(m_lutCreatorToolPixel, m_newpixel); - // sc = m_detStore->retrieve(m_newpixel, "PixelRegSelSiLUT"); - if (sc.isFailure()){ - ATH_MSG_WARNING( "Failed to initialize pixel data" ); - errorFlag = true; - } - else { - if ( m_newpixel ) { - ATH_MSG_INFO( "retrieved new pixel RegSelSiLUT map " << m_newpixel->getName() ); - } - else { - ATH_MSG_ERROR( "retrieved new pixel RegSelSiLUT map is NULL" ); - errorFlag = true; - } - } - } - - //! Read SCT data from Detector Store - if ( m_initSCT.value() ) { - StatusCode sc = readFromSG(m_lutCreatorToolSCT, m_newsct); - // sc = m_detStore->retrieve(m_newsct, "SCTRegSelSiLUT"); - if (sc.isFailure()){ - ATH_MSG_WARNING( "Failed to initialize SCT data" ); - errorFlag = true; - } - else { - if ( m_newsct ) - ATH_MSG_INFO( "retrieved new sct RegSelSiLUT map " << m_newsct->getName() ); - else { - ATH_MSG_ERROR( "retrieved new sct RegSelSiLUT map is NULL" ); - errorFlag = true; - } - } - } - - - //! Read TRT data from Detector Store - - if ( m_initTRT.value() ) { - StatusCode sc = readFromSG(m_lutCreatorToolTRT, m_newtrt); - // sc = m_detStore->retrieve(m_newtrt, "TRTRegSelSiLUT"); - if (sc.isFailure()){ - ATH_MSG_WARNING( "Failed to initialize TRT data" ); - errorFlag = true; - } - else { - if ( m_newtrt ) - ATH_MSG_INFO( "retrieved new trt RegSelSiLUT map " << m_newtrt->getName() ); - else { - ATH_MSG_ERROR( "retrieved new trt RegSelSiLUT is NULL" ); - errorFlag = true; - } - } - } - - // now enable/disable requested robs and modules from OKS - if ( !reinitialiseInternalFromOKS() ) { - ATH_MSG_WARNING( " could not enable robs from OKS " ); - } - - if ( !reinitialiseInternal() ) { - ATH_MSG_WARNING( " could not disable requested detector elements " ); - } - - m_enabledDetectors.emplace_back("Inner"); - - m_errorFlag |= errorFlag; - - return errorFlag; + ATH_MSG_INFO( " Initialising Inner Detector maps - no longer used" ); + return true; } @@ -823,22 +621,14 @@ void RegSelSvc::getRoIData(DETID detectorID, } modules.clear(); - // std::cout << "RegSelSvc::getRoIData()" << detectorID << std::endl; - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel) m_newpixel->getRoIData( selroi, modules ); - break; - } - case SCT: { // Semiconductor Tracker - if ( m_newsct ) m_newsct->getRoIData( selroi, modules ); - break; - } - case TRT: { // TRT - if ( m_newtrt ) m_newtrt->getRoIData( selroi, modules ); + case PIXEL: + case SCT: + case TRT: { + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case RPC: { // RPC (obviously) @@ -883,12 +673,11 @@ void RegSelSvc::DetHashIDList(DETID detectorID, const IRoiDescriptor& roi, std::vector<IdentifierHash>& IDList) { - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; if ( roi.composite() ) { for ( unsigned iroi=roi.size() ; iroi-- ; ) { DetHashIDList( detectorID, *(roi.at(iroi)), IDList ); - // std::cout << "DetHashIDList:: SuperRoi memeber " << iroi << " IDList.size() " << IDList.size() << *roi.at(iroi) << std::endl; + } if ( roi.size()>1 ) RegSelSiLUT::removeDuplicates( IDList ); return; @@ -911,19 +700,10 @@ void RegSelSvc::DetHashIDList(DETID detectorID, switch(detectorID){ - case PIXEL: { // Pixel - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newpixel ) m_newpixel->getHashList(selroi, IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newsct ) m_newsct->getHashList(selroi, IDList); - break; - } + case PIXEL: + case SCT: case TRT: { // TRT (obviously) - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newtrt ) m_newtrt->getHashList(selroi, IDList); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case MDT: { // etc @@ -994,8 +774,6 @@ void RegSelSvc::DetHashIDList(DETID detectorID, long layer, const IRoiDescriptor& roi, std::vector<IdentifierHash>& IDList) { - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; - if ( roi.composite() ) { for ( unsigned iroi=roi.size() ; iroi-- ; ) { DetHashIDList( detectorID, layer, *(roi.at(iroi)), IDList ); @@ -1022,19 +800,10 @@ void RegSelSvc::DetHashIDList(DETID detectorID, long layer, long sampling = layer; switch(detectorID){ - case PIXEL: { // Pixel - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newpixel ) m_newpixel->getHashList(selroi, layer, IDList); - break; - } - case SCT: { // Semiconductor Tracker - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newsct ) m_newsct->getHashList(selroi, layer, IDList); - break; - } + case PIXEL: + case SCT: case TRT: { // TRT (obviously) - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newtrt ) m_newtrt->getHashList(selroi, layer, IDList); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case MDT: { @@ -1106,7 +875,6 @@ void RegSelSvc::DetHashIDList(DETID detectorID, long layer, void RegSelSvc::DetHashIDList(DETID detectorID, std::vector<IdentifierHash>& IDList ) { - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; if(IDList.size()!=0 ){ ATH_MSG_VERBOSE( " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID ); @@ -1115,16 +883,10 @@ void RegSelSvc::DetHashIDList(DETID detectorID, IDList.clear(); switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getHashList(IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getHashList(IDList); - break; - } + case PIXEL: + case SCT: case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getHashList(IDList); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case MDT: { @@ -1194,7 +956,6 @@ void RegSelSvc::DetHashIDList(DETID detectorID, void RegSelSvc::DetHashIDList(DETID detectorID, long layer, std::vector<IdentifierHash>& IDList) { - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; if(IDList.size()!=0 ){ ATH_MSG_VERBOSE( " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID ); @@ -1205,16 +966,10 @@ void RegSelSvc::DetHashIDList(DETID detectorID, long layer, long sampling = layer; switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getHashList( layer, IDList); - break; - } - case SCT: { // Semiconductor Tracker - if ( m_newsct ) m_newsct->getHashList( layer, IDList); - break; - } + case PIXEL: + case SCT: case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getHashList( layer, IDList); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case MDT: { @@ -1284,7 +1039,6 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, setDuplicateRemoval( false ); for ( unsigned iroi=roi.size() ; iroi-- ; ) { DetROBIDListUint( detectorID, *(roi.at(iroi)), outputROBIDList ); - // std::cout << "DetROBIDListUint:: SuperRoi memeber " << iroi << " outputROBIDList.size() " << outputROBIDList.size() << std::endl; } RegSelSiLUT::removeDuplicates( outputROBIDList ); setDuplicateRemoval( true ); @@ -1293,8 +1047,6 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, if ( roi.isFullscan() ) return DetROBIDListUint( detectorID, outputROBIDList ); - // std::cout << "RegSelSvc::DetROBIDListUint() new map " << detectorID << std::endl; - if(outputROBIDList.size()!=0 ){ ATH_MSG_VERBOSE( " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID ); } @@ -1313,19 +1065,10 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, switch (detectorID) { - case PIXEL: { // Pixel - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newpixel ) m_newpixel->getRobList(selroi, outputROBIDList, m_duplicateRemoval ); - break; - } - case SCT: { // SCT - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newsct ) m_newsct->getRobList(selroi, outputROBIDList, m_duplicateRemoval ); - break; - } + case PIXEL: + case SCT: case TRT: { // TRT - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newtrt ) m_newtrt->getRobList(selroi, outputROBIDList, m_duplicateRemoval ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case MDT: { @@ -1395,8 +1138,6 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, long layer, const IRoiDescriptor& roi, std::vector<uint32_t>& outputROBIDList) { - // std::cout << "RegSelSvc::DetROBIDListUint() new map " << detectorID << std::endl; - if ( roi.composite() ) { setDuplicateRemoval(false); for ( unsigned iroi=roi.size() ; iroi-- ; ) { @@ -1425,19 +1166,10 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, long layer, long sampling = layer; switch (detectorID) { - case PIXEL: { // Pixel - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newpixel ) m_newpixel->getRobList(selroi, layer, outputROBIDList, m_duplicateRemoval ); - break; - } - case SCT: { // SCT - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newsct ) m_newsct->getRobList(selroi, layer, outputROBIDList, m_duplicateRemoval ); - break; - } + case PIXEL: + case SCT: case TRT: { // TRT - RegSelRoI selroi( roi.zedMinus(), roi.zedPlus(), roi.phiMinus(), roi.phiPlus(), roi.etaMinus(), roi.etaPlus() ); - if ( m_newtrt ) m_newtrt->getRobList(selroi, layer, outputROBIDList, m_duplicateRemoval ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case MDT: { @@ -1510,16 +1242,10 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, outputROBIDList.clear(); switch (detectorID) { - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getRobList(outputROBIDList); - break; - } - case SCT: { // SCT - if ( m_newsct ) m_newsct->getRobList(outputROBIDList); - break; - } + case PIXEL: + case SCT: case TRT: { // TRT - if ( m_newtrt ) m_newtrt->getRobList(outputROBIDList); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case MDT: { @@ -1577,8 +1303,6 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, void RegSelSvc::DetROBIDListUint(DETID detectorID, long layer, std::vector<uint32_t>& outputROBIDList) { - // std::cout << "RegSelSvc::DetROBIDListUint() new map " << detectorID << std::endl; - if(outputROBIDList.size()!=0 ){ ATH_MSG_VERBOSE( " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID ); } @@ -1587,16 +1311,11 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, long layer, long sampling = layer; switch (detectorID) { - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getRobList( layer, outputROBIDList ); - break; - } - case SCT: { // SCT - if ( m_newsct ) m_newsct->getRobList( layer, outputROBIDList ); - break; - } + case PIXEL: + case SCT: case TRT: { // TRT if ( m_newtrt ) m_newtrt->getRobList( layer, outputROBIDList ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); break; } case MDT: { @@ -2168,63 +1887,21 @@ void RegSelSvc::printTable(const RegionSelectorLUT * lut){ } } -void RegSelSvc::DisableSiRobList(const std::vector<uint32_t>& RobIdList) { - // if the list of robs to disable is not empty... - if ( RobIdList.size()>0 ) { - // check the look up tables actually already exist before - // trying to disable the robs from them - if ( m_newpixel ) m_newpixel->disableRobList(RobIdList); - if ( m_newsct ) m_newsct->disableRobList(RobIdList); - if ( m_newtrt ) m_newtrt->disableRobList(RobIdList); - } +void RegSelSvc::DisableSiRobList(const std::vector<uint32_t>& /* RobIdList */ ) { } -void RegSelSvc::DisablePixelHashList(const std::vector<unsigned int>& HashList) { - // if the list of hashids to disable is not empty... - if ( HashList.size()>0 ) { - // check the look up tables actually already exist before - // trying to disable the modules from them - - std::vector<IdentifierHash> hashlist; - for ( std::vector<unsigned int>::const_iterator hptr(HashList.begin()) ; - hptr!=HashList.end() ; hptr ++ ) hashlist.emplace_back(*hptr); - - if ( m_newpixel ) m_newpixel->disableModuleList(hashlist); - } +void RegSelSvc::DisablePixelHashList(const std::vector<unsigned int>& /* HashList */ ) { } -void RegSelSvc::DisableSCTHashList(const std::vector<unsigned int>& HashList) { - // if the list of hashids to disable is not empty... - if ( HashList.size()>0 ) { - // check the look up tables actually already exist before - // trying to disable the modules from them - std::vector<IdentifierHash> hashlist; - for ( std::vector<unsigned int>::const_iterator hptr(HashList.begin()) ; - hptr!=HashList.end() ; hptr ++ ) hashlist.emplace_back(*hptr); - if ( m_newsct ) m_newsct->disableModuleList(hashlist); - } +void RegSelSvc::DisableSCTHashList(const std::vector<unsigned int>& /* HashList */ ) { } -void RegSelSvc::DisableTRTHashList(const std::vector<unsigned int>& HashList) { - // if the list of hashids to disable is not empty... - if ( HashList.size()>0 ) { - // check the look up tables actually already exist before - // trying to disable the modules from them - std::vector<IdentifierHash> hashlist; - for ( std::vector<unsigned int>::const_iterator hptr(HashList.begin()) ; - hptr!=HashList.end() ; hptr ++ ) hashlist.emplace_back(*hptr); - if ( m_newtrt ) m_newtrt->disableModuleList(hashlist); - } +void RegSelSvc::DisableTRTHashList(const std::vector<unsigned int>& /* HashList*/ ) { } void RegSelSvc::RestoreSiRobList() { - // check the look up tables actually already exist before - // trying to disable the robs from them - if ( m_newpixel ) m_newpixel->enableRobs(); - if ( m_newsct ) m_newsct->enableRobs(); - if ( m_newtrt ) m_newtrt->enableRobs(); } @@ -2240,33 +1917,6 @@ StatusCode RegSelSvc::reinitialize() { // ids from oks and enable the modules corresponding to the // specified robs bool RegSelSvc::reinitialiseInternalFromOKS() { - - // don't disable anything if not initialising from oks - if ( m_readSiROBListFromOKS.value()==false ) return true; - - if ( m_initPixel.value() ) { - // disable everything - m_newpixel->disableRobs(); - - // enable the robs from OKS - m_newpixel->enableRobList(m_enabledROBs.value()); - } - - if ( m_initSCT.value() ) { - m_newsct->disableRobs(); - - // enable robs from list for pixel and sct - m_newsct->enableRobList(m_enabledROBs.value()); - } - - if ( m_initTRT.value() ) { - // disable everything - m_newtrt->disableRobs(); - - // enable the robs from OKS - m_newtrt->enableRobList(m_enabledROBs.value()); - } - return true; } @@ -2275,69 +1925,6 @@ bool RegSelSvc::reinitialiseInternalFromOKS() { bool RegSelSvc::reinitialiseInternal() { - - // NB: the conditions summary service names, and probably the services - // themselves should be setable from a job option, but why make - // life even more complicated with configurability that may never - // be used. If it needs it, it can easily be added - - // now handle all the disabling for the pixel ... - if ( m_initPixel.value() ) { - - // first disable modules from the conditions summary services - // if ( m_disableFromConditions ) disableIDFromConditions(m_newpixel, "PixelConditionsSummarySvc"); - if ( m_disableFromConditions && m_disablePixelFromConditions ) disableIDFromConditions(m_newpixel, m_PixConditionsTool); - - // now *disable* the modules from robs the user has flagged - if ( m_deleteRobList.size() ) m_newpixel->disableRobList(m_deleteRobList); - - // and disable any other modules from the module list - // have to convert the std::vector<unsigned int> into std::vector<IdentifierHash> - std::vector<IdentifierHash> hashlist; - for ( std::vector<unsigned int>::const_iterator hptr(m_deletePixelHashList.begin()) ; - hptr!=m_deletePixelHashList.end() ; hptr ++ ) hashlist.emplace_back(*hptr); - - if ( m_deletePixelHashList.size() ) m_newpixel->disableModuleList(hashlist); - } - - // and now handle all the disabling for the sct ... - if ( m_initSCT.value() ) { - - // first disable modules from the conditions summary tool - if ( m_disableFromConditions && m_disableSCTFromConditions ) disableIDFromConditions(m_newsct, m_SCTConditionsTool); - - // now *disable* the modules from robs the user has flagged - if ( m_deleteRobList.size() ) m_newsct->disableRobList(m_deleteRobList); - - // and disable any other modules from the module list - // have to convert the std::vector<unsigned int> into std::vector<IdentifierHash> - std::vector<IdentifierHash> hashlist; - for ( std::vector<unsigned int>::const_iterator hptr(m_deleteSCTHashList.begin()) ; - hptr!=m_deleteSCTHashList.end() ; hptr ++ ) hashlist.emplace_back(*hptr); - - if ( m_deleteSCTHashList.size() ) m_newsct->disableModuleList(hashlist); - } - - // and now handle all the disabling for the trt ... - if ( m_initTRT.value() ) { - - // first disable modules from the conditions summary services - // if ( m_disableFromConditions ) disableIDFromConditions(m_newtrt, "TRT_ConditionsSummarySvc"); - if ( m_disableFromConditions && m_disableTRTFromConditions ) disableIDFromConditions(m_newtrt, m_TRTConditionsSvc); - - // now *disable* the modules from robs the user has flagged - if ( m_deleteRobList.size() ) m_newtrt->disableRobList(m_deleteRobList); - - // and disable any other modules from the module list - // have to convert the std::vector<unsigned int> into std::vector<IdentifierHash> - std::vector<IdentifierHash> hashlist; - for ( std::vector<unsigned int>::const_iterator hptr(m_deleteTRTHashList.begin()) ; - hptr!=m_deleteTRTHashList.end() ; hptr ++ ) hashlist.emplace_back(*hptr); - - if ( m_deleteTRTHashList.size() ) m_newtrt->disableModuleList(hashlist); - } - - return true; } diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx index ef10e7d4be3456bd407c18458bac32cf8fd38b76..26aa988b7a064274e96dccc40d769b2078603e7e 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx @@ -52,8 +52,12 @@ StatusCode PixelCablingCondAlg::initialize() { std::unique_ptr<PixelCablingCondData> writeCdo(std::make_unique<PixelCablingCondData>()); const EventIDBase::number_type UNDEFNUM = EventIDBase::UNDEFNUM; const EventIDBase::event_number_t UNDEFEVT = EventIDBase::UNDEFEVT; + + /// FIXME: this is a hack to get the code to work - the comfiguration should be + /// such that the cabling is now only configured with a proper IoV and not + /// in the initialise method EventIDRange rangeW (EventIDBase (0, UNDEFEVT, UNDEFNUM, 0, 0), - EventIDBase (1, UNDEFEVT, UNDEFNUM, 0, 0)); + EventIDBase (9999999, UNDEFEVT, UNDEFNUM, 0, 0)); // Signed values int barrel_ec, eta_module; diff --git a/InnerDetector/InDetDetDescr/InDetRegionSelector/src/InDetRegionSelectorLUT.cxx b/InnerDetector/InDetDetDescr/InDetRegionSelector/src/InDetRegionSelectorLUT.cxx index 1fdd7bb66e961bb48181d1afbb3b61f9daad28e7..ac581221fab90c13aad26a5f9c72bafe81701980 100755 --- a/InnerDetector/InDetDetDescr/InDetRegionSelector/src/InDetRegionSelectorLUT.cxx +++ b/InnerDetector/InDetDetDescr/InDetRegionSelector/src/InDetRegionSelectorLUT.cxx @@ -42,65 +42,8 @@ StatusCode InDetRegionSelectorLUT::initialize(){ // get tools // - msg(MSG::INFO) << "InDetRegionSelectorLUT::initialize() " << name() << "\t" << m_lutCreatorToolPixel << endmsg; + ATH_MSG_INFO( "InDetRegionSelectorLUT::initialize() " << name() << " no longer used" ); - // Pixel - if (!m_lutCreatorToolPixel) { - msg(MSG::INFO) << "Pixel LUT Creator not configured " << m_lutCreatorToolPixel << endmsg; - } else { - if ( m_lutCreatorToolPixel.retrieve().isFailure() ) { - msg(MSG::FATAL) << "Failed to retrieve tool " << m_lutCreatorToolPixel << endmsg; - return StatusCode::FAILURE; - } else { - msg(MSG::INFO) << "Retrieved tool " << m_lutCreatorToolPixel << endmsg; - // compute LUT - const RegSelSiLUT* pixellut = m_lutCreatorToolPixel->getLUT(); - if (!pixellut) { - msg(MSG::ERROR) << "Pixel table missing" << endmsg; - } else if (m_doTests) { - msg(MSG::DEBUG) << "Test Pixel" << endmsg; - printTable(pixellut); - } - } - } - // SCT - if (!m_lutCreatorToolSCT) { - msg(MSG::INFO) << "SCT LUT Creator not configured " << m_lutCreatorToolSCT << endmsg; - } else { - if ( m_lutCreatorToolSCT.retrieve().isFailure() ) { - msg(MSG::FATAL) << "Failed to retrieve tool " << m_lutCreatorToolSCT << endmsg; - return StatusCode::FAILURE; - } else { - msg(MSG::INFO) << "Retrieved tool " << m_lutCreatorToolSCT << endmsg; - // compute LUT - const RegSelSiLUT* sctlut = m_lutCreatorToolSCT->getLUT(); - if (!sctlut) { - msg(MSG::ERROR) << "SCT table missing" << endmsg; - } else if (m_doTests) { - msg(MSG::DEBUG) << "Test SCT" << endmsg; - printTable(sctlut); - } - } - } - // Pixel - if (!m_lutCreatorToolTRT) { - msg(MSG::INFO) << "TRT LUT Creator not configured " << m_lutCreatorToolTRT << endmsg; - } else { - if ( m_lutCreatorToolTRT.retrieve().isFailure() ) { - msg(MSG::FATAL) << "Failed to retrieve tool " << m_lutCreatorToolSCT << endmsg; - return StatusCode::FAILURE; - } else { - msg(MSG::INFO) << "Retrieved tool " << m_lutCreatorToolSCT << endmsg; - // compute LUT - const RegSelSiLUT* trtlut = m_lutCreatorToolTRT->getLUT(); - if (!trtlut) { - msg(MSG::ERROR) << "TRT table missing" << endmsg; - } else if (m_doTests) { - msg(MSG::DEBUG) << "Test TRT" << endmsg; - printTable(trtlut); - } - } - } return StatusCode::SUCCESS; } diff --git a/InnerDetector/InDetDetDescr/InDetRegionSelector/src/SiRegSelCondAlg.cxx b/InnerDetector/InDetDetDescr/InDetRegionSelector/src/SiRegSelCondAlg.cxx index e11efe88f9d186c896124d01ebf8508ba9e63400..cf62494149841bc157e071dd5d1f58defeeaceae 100644 --- a/InnerDetector/InDetDetDescr/InDetRegionSelector/src/SiRegSelCondAlg.cxx +++ b/InnerDetector/InDetDetDescr/InDetRegionSelector/src/SiRegSelCondAlg.cxx @@ -81,6 +81,8 @@ StatusCode SiRegSelCondAlg::execute(const EventContext& ctx) const std::unique_ptr<SG::ReadCondHandle<SCT_CablingData> > sctCabling; EventIDRange id_range; + + ATH_MSG_DEBUG( "RegSelCondAlg:" << name() ); if (m_managerName=="SCT") { // SCT sctCabling = std::make_unique<SG::ReadCondHandle<SCT_CablingData> >( m_sctCablingKey, ctx ); @@ -90,13 +92,23 @@ StatusCode SiRegSelCondAlg::execute(const EventContext& ctx) const } } else { // PIXEL + + ATH_MSG_DEBUG( "RegSelCondAlg: " << name() << "\t" << m_pixCablingKey ); + ATH_MSG_DEBUG( "RegSelCondAlg: " << ctx ); + ATH_MSG_DEBUG( "RegSelCondAlg: " << id_range << "( initial range )" ); + pixCabling = std::make_unique<SG::ReadCondHandle<PixelCablingCondData> >( m_pixCablingKey, ctx ); if( !pixCabling->range( id_range ) ) { - ATH_MSG_ERROR("Failed to retrieve validity range for " << pixCabling->key()); + ATH_MSG_ERROR("Failed to retrieve validity range for " << pixCabling->key() << " : " << id_range ); return StatusCode::FAILURE; } + ATH_MSG_DEBUG( "RegSelCondAlg: " << id_range << "( final range )" ); + } + ATH_MSG_DEBUG( "RegSelCondAlg:" << name() << " done" ); + + std::unique_ptr<RegSelSiLUT> rd; if ( m_managerName=="Pixel" ) rd = std::make_unique<RegSelSiLUT>(RegSelSiLUT::PIXEL); diff --git a/InnerDetector/InDetDetDescr/InDetRegionSelector/src/SiRegionSelectorTable.cxx b/InnerDetector/InDetDetDescr/InDetRegionSelector/src/SiRegionSelectorTable.cxx index a67fd227535c24749b5482fa32eaf6c243bccb4f..4e1d64da481b1ceb340148b514fafb10971c93e1 100755 --- a/InnerDetector/InDetDetDescr/InDetRegionSelector/src/SiRegionSelectorTable.cxx +++ b/InnerDetector/InDetDetDescr/InDetRegionSelector/src/SiRegionSelectorTable.cxx @@ -73,18 +73,11 @@ SiRegionSelectorTable::initialize(){ if (m_managerName.empty()) { msg(MSG::WARNING) << "Tool disabled." << endmsg; - return StatusCode::FAILURE; } - ATH_CHECK(m_condCablingKey.initialize()); + // ATH_CHECK(m_condCablingKey.initialize()); ATH_MSG_WARNING("So far, this prevents the conditions migration!! The createTable() should NOT be used in the initilization step..."); - const EventIDBase::number_type UNDEFNUM = EventIDBase::UNDEFNUM; - const EventIDBase::event_number_t UNDEFEVT = EventIDBase::UNDEFEVT; - EventContext ctx = Gaudi::Hive::currentContext(); - ctx.setEventID (EventIDBase (0, UNDEFEVT, UNDEFNUM, 0, 0)); - Atlas::getExtendedEventContext(ctx).setConditionsRun (0); - ATH_CHECK(createTable (ctx)); return StatusCode::SUCCESS; } @@ -92,10 +85,6 @@ SiRegionSelectorTable::initialize(){ SiRegionSelectorTable::~SiRegionSelectorTable() { - // table is stored in storegate so nothing to delete. -#ifndef USE_STOREGATE - if ( m_regionLUT ) delete m_regionLUT; -#endif } @@ -109,162 +98,9 @@ RegSelSiLUT* SiRegionSelectorTable::getLUT() StatusCode -SiRegionSelectorTable::createTable (const EventContext& ctx) +SiRegionSelectorTable::createTable (const EventContext& /* ctx */ ) { - - if ( msgLvl(MSG::DEBUG) ) msg(MSG::DEBUG) << "Creating region selector table" << endmsg; - - StatusCode sc; - - // Retrieve manager - const SiDetectorManager * manager; - sc=detStore()->retrieve(manager, m_managerName); - - if (sc.isFailure()) { - msg(MSG::FATAL) << "Could not find the Manager: " - << m_managerName << " !" << endmsg; - return StatusCode::FAILURE; - } else { - if ( msgLvl(MSG::DEBUG) ) msg(MSG::DEBUG) << "Manager found" << endmsg; - } - - ATH_CHECK(m_sctCablingToolInc.retrieve( DisableTool{manager->isPixel()} )); - - // Create RegionSelectorLUT pointers for Pixel or Sct - // RegionSelectorLUT* rslut = new RegionSelectorLUT; - - RegSelSiLUT* rd; - - if ( manager->isPixel() ) rd = new RegSelSiLUT(RegSelSiLUT::PIXEL); - else rd = new RegSelSiLUT(RegSelSiLUT::SCT); - - - SG::ReadCondHandle<PixelCablingCondData> pixCabling(m_condCablingKey, ctx); - - SiDetectorElementCollection::const_iterator iter; - for (iter = manager->getDetectorElementBegin(); iter != manager->getDetectorElementEnd(); ++iter){ - - const SiDetectorElement* element = *iter; - - if (element) { - - IdentifierHash hashId = element->identifyHash(); - - if ( msgLvl(MSG::VERBOSE) ) msg(MSG::VERBOSE) << "Found element with HashId = " << hashId << endmsg; - - // new region selector detector element extent. - double rMin, rMax, zMin, zMax, phiMin, phiMax; - - rMin = element->rMin(); - rMax = element->rMax(); - zMin = element->zMin(); - zMax = element->zMax(); - phiMin = element->phiMin(); - phiMax = element->phiMax(); - - - int barrelEC = 0; - int layerDisk = 0; - uint32_t robId = 0; - - if (element->isPixel()) { - - const PixelID* pixelId = dynamic_cast<const PixelID*>(element->getIdHelper()); - if ( pixelId!=0 ) { - barrelEC = pixelId->barrel_ec(element->identify()); - - if ( m_noDBM && std::fabs(barrelEC)>3 ) continue; // skip DBM modules - - layerDisk = pixelId->layer_disk(element->identify()); - robId=pixCabling->find_entry_offrob(element->identify()); - } - else { - msg(MSG::ERROR) << " could not get PixelID for " << element->getIdHelper() << endmsg; - } - } else { // Its an SCT. - - const SCT_ID* sctId = dynamic_cast<const SCT_ID*>(element->getIdHelper()); - if ( sctId!=0 ) { - barrelEC = sctId->barrel_ec(element->identify()); - layerDisk = sctId->layer_disk(element->identify()); - robId=m_sctCablingToolInc->getRobIdFromOfflineId(element->identify()); - } - else { - msg(MSG::ERROR) << " could not get SCT_ID for " << element->getIdHelper() << endmsg; - } - } - - // write in new Region Selector Si LUT - // create module - RegSelModule smod(zMin,zMax,rMin,rMax,phiMin,phiMax,layerDisk,barrelEC,robId,hashId); - - // if ( robId ) { - // add to the new RegionSelector map - rd->addModule(smod); - // } - // else { - // msg(MSG::WARNING) << "module with RobID=0x0 - not added to look up table " << smod << endmsg; - // } - - if ( msgLvl(MSG::DEBUG) ) msg(MSG::DEBUG) << smod << endmsg; - - if ( msgLvl(MSG::VERBOSE) ) msg(MSG::VERBOSE) << " " - << " robId = " << robId - << " barrelEC = " << barrelEC - << ", layerDisk = " << layerDisk - << ", phiMin, phiMax = " << phiMin/CLHEP::degree << " " << phiMax/CLHEP::degree - << ", rMin = " << rMin/CLHEP::mm << " mm, rMax = " << rMax/CLHEP::mm << " mm" - << endmsg; - - } - } - - msg(MSG::INFO) << " initialising new map " << endmsg; - - rd->initialise(); - - // write out new new LUT to a file if need be - if ( m_printTable ) { - if ( manager->isPixel() ) rd->write("NewPixel"+m_roiFileName); - else rd->write("NewSCT"+m_roiFileName); - } - - // std::string key; - std::string detName; - - std::string newkey; - - if (manager->isPixel()) { - newkey = "PixelRegSelSiLUT"; - detName = "Pixel"; - } else { - newkey = "SCTRegSelSiLUT"; - detName = "SCT"; - } - -#ifndef USE_STOREGATE - if ( m_regionLUT ) delete m_regionLUT; -#endif - m_regionLUT = rd; - -#ifdef USE_STOREGATE - // save new map in StoreGate RegSelSiLUT - if ( detStore()->contains< RegSelSiLUT >(newkey) ) { - msg(MSG::FATAL) << " RegSelSiLUT " << newkey << " already exists " << endmsg; - } else { - // create and store LUT - // needs to be modifiable so we can enable/disable modules - // from the RegSelSvc - sc = detStore()->record(rd, newkey, true); - if ( sc.isFailure() ) { - msg(MSG::ERROR) << " could not register " << detName << " RegSelSiLUT" << endmsg; - return( StatusCode::FAILURE ); - } else { - msg(MSG::INFO) << detName << " RegSelSiLUT successfully saved in detector Store" << endmsg; - } - } -#endif - + ATH_MSG_INFO( "SiRegionSelectorTable::createTable() - no longer in use" ); return StatusCode::SUCCESS; } diff --git a/LArCalorimeter/LArRegionSelector/src/RegSelCondAlg_LAr.cxx b/LArCalorimeter/LArRegionSelector/src/RegSelCondAlg_LAr.cxx index 80f83619e658deb9343b7a72c5aede94a9df5b3d..755a015b96b154ee93a46eccac6744fe0b1e6f6e 100644 --- a/LArCalorimeter/LArRegionSelector/src/RegSelCondAlg_LAr.cxx +++ b/LArCalorimeter/LArRegionSelector/src/RegSelCondAlg_LAr.cxx @@ -56,9 +56,9 @@ StatusCode RegSelCondAlg_LAr::initialize() { StatusCode RegSelCondAlg_LAr::execute(const EventContext& ctx) const { - ATH_MSG_DEBUG("RegSelCondAlg_LAr::execute() -- enter -- "); - - /// do stuff here ... + ATH_MSG_INFO( "RegSelConfAlg_LAr:execute() " << name() ); + + /// do stuff here ... ATH_MSG_DEBUG( "Creating region selector table " << m_tableKey ); SG::WriteCondHandle<IRegSelLUTCondData> lutCondData( m_tableKey, ctx ); @@ -72,7 +72,7 @@ StatusCode RegSelCondAlg_LAr::execute(const EventContext& ctx) const { return StatusCode::SUCCESS; } - + /// annoyingly take the pixel cabling to determine whether to build this /// calorimeter table using the EventIDRange. /// Once the calorimeter has it own conditions data cabling, then we can @@ -87,7 +87,8 @@ StatusCode RegSelCondAlg_LAr::execute(const EventContext& ctx) const { return StatusCode::FAILURE; } - + ATH_MSG_DEBUG( "RegSelConfAlg_LAr: " << name() << " found range: " << id_range ); + ATH_MSG_INFO( "creating new LAr table" ); /// create the new lookup table diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/TrigGenericAlgs/SeededSuperRoiAllTEAlgo.h b/Trigger/TrigAlgorithms/TrigGenericAlgs/TrigGenericAlgs/SeededSuperRoiAllTEAlgo.h index e92833f1941d5d004330a282835ce60d21e22653..05a841068725e9fae2d5a3cdbb651e7cb57427bc 100755 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/TrigGenericAlgs/SeededSuperRoiAllTEAlgo.h +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/TrigGenericAlgs/SeededSuperRoiAllTEAlgo.h @@ -25,7 +25,6 @@ #include "TrigInterfaces/AllTEAlgo.h" -class IRegSelSvc; namespace HLT { class TriggerElement; @@ -69,10 +68,6 @@ namespace PESA double m_etaHalfWidth; double m_phiHalfWidth; - - std::string m_regionSelectorName; - IRegSelSvc* m_regionSelector; - }; } // end of namespace diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/SeededSuperRoiAllTEAlgo.cxx b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/SeededSuperRoiAllTEAlgo.cxx index 027e31b9ff0f7d475a0df28ff09a1570c79913de..0981eb37e1064dd4236c423922641513fa348c96 100755 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/SeededSuperRoiAllTEAlgo.cxx +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/SeededSuperRoiAllTEAlgo.cxx @@ -5,7 +5,6 @@ #include "TrigGenericAlgs/SeededSuperRoiAllTEAlgo.h" #include "TrigNavigation/TriggerElement.h" -#include "IRegionSelector/IRegSelSvc.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h" #include "CxxUtils/phihelper.h" @@ -16,8 +15,7 @@ SeededSuperRoiAllTEAlgo::SeededSuperRoiAllTEAlgo(const std::string& name, ISvcLo : HLT::AllTEAlgo(name, pSvcLocator), m_runOncePerEvent(true), m_was_run(false), - m_useRoiSizes(true), - m_regionSelector(0) + m_useRoiSizes(true) { declareProperty("NumberOfOutputTEs", m_numberOfOutputTEs = 1, "configure the number of output TEs this algorithm will create"); declareProperty("createRoIDescriptors", m_createRoIDescriptors=true, "create SuperRoi descriptor if set true"); @@ -27,7 +25,6 @@ SeededSuperRoiAllTEAlgo::SeededSuperRoiAllTEAlgo(const std::string& name, ISvcLo declareProperty("UseRoiSizes", m_useRoiSizes=true, "User RoI sizes rather than width parameters"); declareProperty("EtaHalfWidth", m_etaHalfWidth=0.1, "RoI eta half width"); declareProperty("PhiHalfWidth", m_phiHalfWidth=0.1, "RoI phi half width"); - declareProperty("RegionSelectorTool", m_regionSelectorName = "RegSelSvc", "instance of the RegionSelector service"); } @@ -35,12 +32,6 @@ HLT::ErrorCode SeededSuperRoiAllTEAlgo::hltInitialize(){ m_was_run=false; - if ( (serviceLocator()->service( m_regionSelectorName, m_regionSelector)).isFailure() ) { - msg() << MSG::FATAL - << "Unable to retrieve RegionSelector Service " << m_regionSelectorName << endmsg; - return HLT::BAD_JOB_SETUP; - }; - return HLT::OK; } @@ -159,16 +150,6 @@ HLT::ErrorCode SeededSuperRoiAllTEAlgo::hltEndEvent() { HLT::ErrorCode SeededSuperRoiAllTEAlgo::prepareRobRequests(const std::vector<HLT::TEConstVec>& /* inputTE */){ - std::vector<unsigned int> uIntListOfRobs; - - if (m_prefetchPIX){ - m_regionSelector->DetROBIDListUint( PIXEL, uIntListOfRobs); - } - if (m_prefetchSCT){ - m_regionSelector->DetROBIDListUint( SCT, uIntListOfRobs); - } - - config()->robRequestInfo()->addRequestScheduledRobIDs(uIntListOfRobs); return HLT::OK; } diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/CMakeLists.txt b/Trigger/TrigAlgorithms/TrigT2MinBias/CMakeLists.txt index b5617482676d9e88c8b89ba4d8f878505e73575e..e4353a7b87ddac23a8a1effa845b2de1a9170e4d 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/CMakeLists.txt +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/CMakeLists.txt @@ -10,7 +10,7 @@ find_package( tdaq-common ) atlas_add_component( TrigT2MinBias src/*.cxx src/components/*.cxx INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthViews AthenaBaseComps AthenaMonitoringKernelLib CaloEvent CaloIdentifier DecisionHandlingLib GaudiKernel IRegionSelector InDetIdentifier InDetPrepRawData InDetRawData StoreGateLib TileByteStreamLib TileConditionsLib TileEvent TileIdentifier TrigCaloEvent TrigCompositeUtilsLib TrigInDetEvent TrigInDetToolInterfacesLib TrigInterfacesLib TrigSteeringEvent TrigT2CaloCommonLib TrigTimeAlgsLib TrkSpacePoint ZdcConditions ZdcEvent ZdcIdentifier xAODEventInfo xAODTrigMinBias xAODTrigger ) + LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AthViews AthenaBaseComps AthenaMonitoringKernelLib CaloEvent CaloIdentifier DecisionHandlingLib GaudiKernel IRegionSelector RoiDescriptor InDetIdentifier InDetPrepRawData InDetRawData StoreGateLib TileByteStreamLib TileConditionsLib TileEvent TileIdentifier TrigCaloEvent TrigCompositeUtilsLib TrigInDetEvent TrigInDetToolInterfacesLib TrigInterfacesLib TrigSteeringEvent TrigT2CaloCommonLib TrigTimeAlgsLib TrkSpacePoint ZdcConditions ZdcEvent ZdcIdentifier xAODEventInfo xAODTrigMinBias xAODTrigger ) # Install files from the package: atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} --extend-extensions=ATL900,ATL901 ) diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py b/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py index f72969c45a86fb1bd02add9fa56b466876be15a0..9a628e21429834a936766b9d61f346a399c986e6 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py @@ -416,6 +416,12 @@ class MbSpFex ( TrigCountSpacePoints ) : self.PixelClusSizeMin = trigT2MinBiasProperties.pixelClusSizeMin() self.PixelClusSizeMax = trigT2MinBiasProperties.pixelClusSizeMax() + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT + + self.RegSelTool_Pixel = makeRegSelTool_Pixel() + self.RegSelTool_SCT = makeRegSelTool_SCT() + #self.SpacePointProviderTool = ospTool time = TrigTimeHistToolConfig("MbSpFexTimers") time.NumberOfHistBins = 100 diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePoints.cxx b/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePoints.cxx index d5ffe2de28917be59ae8cb46ea004f6631204bfb..e0a280de66a643ac046dd9f7595d16d6687fc578 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePoints.cxx +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePoints.cxx @@ -12,7 +12,8 @@ #include "InDetIdentifier/SCT_ID.h" #include "InDetIdentifier/PixelID.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "RoiDescriptor/RoiDescriptor.h" +#include "IRegionSelector/IRegSelTool.h" #include "InDetPrepRawData/SiClusterContainer.h" #include "InDetPrepRawData/PixelClusterContainer.h" @@ -33,7 +34,6 @@ TrigCountSpacePoints::TrigCountSpacePoints(const std::string& name, ISvcLocator* pSvcLocator) : HLT::AllTEAlgo(name, pSvcLocator), m_hltExecuteInitialisationRun(kFALSE), - m_regionSelector("RegSelSvc", name), m_doPixelSp(true), m_doSctSp(true), m_doOnlyBLayer(false), @@ -55,7 +55,6 @@ TrigCountSpacePoints::TrigCountSpacePoints(const std::string& name, ISvcLocator* declareProperty( "PixelSP_ContainerName", m_pixelSpName = "PixelTrigSpacePoints" ); declareProperty( "SCT_SP_ContainerName", m_sctSpName = "SCT_TrigSpacePoints" ); - declareProperty("RegionSelectorTool", m_regionSelector); declareProperty( "ReadPixelSp", m_doPixelSp = true ); declareProperty( "ReadSctSp", m_doSctSp = true ); declareProperty( "OnlyCountBLayer", m_doOnlyBLayer = false ); @@ -171,8 +170,15 @@ HLT::ErrorCode TrigCountSpacePoints::hltInitialize() { ATH_MSG_DEBUG("Initialize this TrigCountSpacePoints: " << name()); // Retrieving Region Selector Tool - if ( m_regionSelector.retrieve().isFailure() ) { - ATH_MSG_FATAL("Unable to retrieve RegionSelector tool " << m_regionSelector.type()); + if ( m_regionSelector_pix.retrieve().isFailure() ) { + ATH_MSG_FATAL("Unable to retrieve RegionSelector tool " << m_regionSelector_pix.type()); + return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); + } + + + // Retrieving Region Selector Tool + if ( m_regionSelector_sct.retrieve().isFailure() ) { + ATH_MSG_FATAL("Unable to retrieve RegionSelector tool " << m_regionSelector_sct.type()); return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); } @@ -392,7 +398,7 @@ HLT::ErrorCode TrigCountSpacePoints::hltExecute(std::vector<std::vector<HLT::Tri //sc = StatusCode::FAILURE; } - m_regionSelector->DetHashIDList(PIXEL, m_listOfPixIds ); + m_regionSelector_pix->HashIDList( RoiDescriptor(true), m_listOfPixIds ); m_pixListSize = m_listOfPixIds.size();//..................................................................... if( m_pixListSize != 0 ){ @@ -612,7 +618,7 @@ HLT::ErrorCode TrigCountSpacePoints::hltExecute(std::vector<std::vector<HLT::Tri } - m_regionSelector->DetHashIDList(SCT, m_listOfSctIds ); + m_regionSelector_sct->HashIDList( RoiDescriptor(true), m_listOfSctIds ); m_sctListSize = m_listOfSctIds.size(); if( m_sctListSize !=0 ){ diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePoints.h b/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePoints.h index e1ae048b3b8edca80a87b9926bee56c4f2deddfa..2e6ab53235a508858e1b74a5c251cef5996c3766 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePoints.h +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePoints.h @@ -11,11 +11,12 @@ #include "xAODTrigMinBias/TrigSpacePointCounts.h" #include "xAODTrigMinBias/TrigHisto2D.h" +#include "IRegionSelector/IRegSelTool.h" class SCT_ID; class PixelID; class TrigSpacePointCounts; -class IRegSelSvc; + /** @class TrigCountSpacePoints @@ -47,7 +48,8 @@ class TrigCountSpacePoints: public HLT::AllTEAlgo { HLT::ErrorCode checkDetectorMask(); Bool_t m_hltExecuteInitialisationRun; //!< Flag to run extra initialisation on the first event when xAOD::EventInfo is present - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector_pix{ this, "RegSelTool_Pixel", "RegSelTool/RegSelTool_Pixel" }; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector_sct{ this, "RegSelTool_SCT", "RegSelTool/RegSelTool_SCT" }; //!< region selector service bool m_doPixelSp; //!< Flag to switch on or off Pixel space point retrieval bool m_doSctSp; //!< Flag to switch on or off SCT space point retrieval diff --git a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/CMakeLists.txt b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/CMakeLists.txt index 7b1dcb881865a88e6ad34c8dd5de954e3b5545f6..acc336c8781aa536db2e21190562d6dd32e680bd 100644 --- a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/CMakeLists.txt +++ b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/CMakeLists.txt @@ -11,7 +11,7 @@ atlas_add_component( TrigLongLivedParticlesHypo src/*.cxx src/components/*.cxx INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} CaloEvent CxxUtils GaudiKernel IRegionSelector InDetIdentifier InDetPrepRawData TrigCaloEvent TrigInDetEvent TrigInterfacesLib TrigParticle TrigSteeringEvent TrigTimeAlgsLib TrkSpacePoint xAODEventInfo xAODJet xAODTracking xAODTrigger ) + LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} CaloEvent CxxUtils GaudiKernel IRegionSelector RoiDescriptor InDetIdentifier InDetPrepRawData TrigCaloEvent TrigInDetEvent TrigInterfacesLib TrigParticle TrigSteeringEvent TrigTimeAlgsLib TrkSpacePoint xAODEventInfo xAODJet xAODTracking xAODTrigger ) # Install files from the package: atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} --extend-extensions=ATL900,ATL901 ) diff --git a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/TrigLongLivedParticlesHypo/TrigLLPInnerDetectorHypo.h b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/TrigLongLivedParticlesHypo/TrigLLPInnerDetectorHypo.h index 649d897c9c5586f05c0597079e56a1ad8beeb221..a97558a9b8c403f39da0eaf5789adf431732647e 100644 --- a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/TrigLongLivedParticlesHypo/TrigLLPInnerDetectorHypo.h +++ b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/TrigLongLivedParticlesHypo/TrigLLPInnerDetectorHypo.h @@ -18,10 +18,13 @@ #include "GaudiKernel/ToolHandle.h" #include "TrigInterfaces/HypoAlgo.h" +#include "IRegionSelector/IRegSelTool.h" + + class StoreGateSvc; class SCT_ID; class PixelID; -class IRegSelSvc; + class TrigLLPInnerDetectorHypo: public HLT::HypoAlgo { @@ -40,7 +43,9 @@ class TrigLLPInnerDetectorHypo: public HLT::HypoAlgo { HLT::ErrorCode checkDetectorMask(); Bool_t m_hltExecuteInitialisationRun; //!< Flag to run extra initialisation on the first event when xAOD::EventInfo is present - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + + ToolHandle<IRegSelTool> m_regionSelector_pix { this, "RegSelTool_Pixel", "RegSelTool/RegSelTool_Pixel" }; //!< region selector tool + ToolHandle<IRegSelTool> m_regionSelector_sct { this, "RegSelTool_SCT", "RegSelTool/RegSelTool_SCT" }; //!< region selector tool const PixelID* m_pixHelper; const SCT_ID* m_sctHelper; diff --git a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigLLPInnerDetectorHypo.cxx b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigLLPInnerDetectorHypo.cxx index 2482c6ff75bf337f9265fa98ff0dc9be6c73170b..a2a2094b4727698a4314c5a2e3e5a82980919da6 100644 --- a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigLLPInnerDetectorHypo.cxx +++ b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigLLPInnerDetectorHypo.cxx @@ -8,12 +8,12 @@ #include "eformat/DetectorMask.h" #include "eformat/SourceIdentifier.h" +#include "RoiDescriptor/RoiDescriptor.h" + #include "InDetPrepRawData/PixelCluster.h" #include "InDetIdentifier/SCT_ID.h" #include "InDetIdentifier/PixelID.h" -#include "IRegionSelector/IRegSelSvc.h" - #include "InDetPrepRawData/SiClusterContainer.h" #include "InDetPrepRawData/PixelClusterContainer.h" #include "InDetPrepRawData/SCT_ClusterContainer.h" @@ -31,14 +31,12 @@ TrigLLPInnerDetectorHypo::TrigLLPInnerDetectorHypo(const std::string& name, ISvcLocator* pSvcLocator) : HLT::HypoAlgo(name, pSvcLocator), m_hltExecuteInitialisationRun(kFALSE), - m_regionSelector("RegSelSvc", name), m_pixHelper(0), m_sctHelper(0) { declareProperty("PixelSP_ContainerName", m_pixelSpName = "PixelTrigSpacePoints" ); declareProperty("SCT_SP_ContainerName", m_sctSpName = "SCT_TrigSpacePoints" ); - declareProperty("RegionSelectorTool", m_regionSelector); declareProperty("MaxNModIdentifier", m_maxnid = 100 ); declareProperty("PixelModuleThreshold", m_pixModuleThreshold = 50 ); @@ -102,11 +100,21 @@ HLT::ErrorCode TrigLLPInnerDetectorHypo::hltInitialize() { ATH_MSG_DEBUG( "Initialize: " << name() ); - if ( m_regionSelector.retrieve().isFailure() ) { - ATH_MSG_FATAL( "Unable to retrieve RegionSelector tool " << m_regionSelector.type() ); + if ( m_regionSelector_pix.retrieve().isFailure() ) { + ATH_MSG_FATAL( "Unable to retrieve RegionSelector tool " << m_regionSelector_pix.type() ); return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); - } else - ATH_MSG_INFO( "Successfully initialised RegionSelector tool !" ); + } else { + ATH_MSG_INFO( "Successfully initialised Pixel RegionSelector tool !" ); + } + + + if ( m_regionSelector_sct.retrieve().isFailure() ) { + ATH_MSG_FATAL( "Unable to retrieve RegionSelector tool " << m_regionSelector_sct.type() ); + return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); + } else { + ATH_MSG_INFO( "Successfully initialised SCT RegionSelector tool !" ); + } + StatusCode sc_pixH = detStore()->retrieve(m_pixHelper, "PixelID"); if( sc_pixH.isFailure() ){ @@ -227,7 +235,7 @@ HLT::ErrorCode TrigLLPInnerDetectorHypo::hltExecute(const HLT::TriggerElement* / ATH_MSG_DEBUG( "Successfully retrieved pixel SP container!" ); } - m_regionSelector->DetHashIDList(PIXEL, m_listOfPixIds ); + m_regionSelector_pix->HashIDList( RoiDescriptor(true), m_listOfPixIds ); m_pixListSize = m_listOfPixIds.size(); if( m_pixListSize != 0 ){ @@ -304,7 +312,7 @@ HLT::ErrorCode TrigLLPInnerDetectorHypo::hltExecute(const HLT::TriggerElement* / return HLT::TOOL_FAILURE; } - m_regionSelector->DetHashIDList(SCT, m_listOfSctIds ); + m_regionSelector_sct->HashIDList( RoiDescriptor(true), m_listOfSctIds ); m_sctListSize = m_listOfSctIds.size(); if( m_sctListSize !=0 ){ diff --git a/Trigger/TrigTools/TrigInDetConf/python/RoiManipulators.py b/Trigger/TrigTools/TrigInDetConf/python/RoiManipulators.py index d2bc90f67ff77f0bebaaf83e22697ea1bc24694c..1f111e49f8d9f055628150ac5c0ec4bf2d1ac12a 100644 --- a/Trigger/TrigTools/TrigInDetConf/python/RoiManipulators.py +++ b/Trigger/TrigTools/TrigInDetConf/python/RoiManipulators.py @@ -7,18 +7,12 @@ class IDTrigRoiUpdater ( PESA__TrigRoiUpdater ): def __init__(self, name="IDTrigRoiUpdater_Electron_IDT", type="electron"): super ( PESA__TrigRoiUpdater, self ).__init__(name) - print( "\n\n\n\nRoiUpdater:: ", name ) - - from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT self.RegSelTool_Pixel = makeRegSelTool_Pixel() self.RegSelTool_SCT = makeRegSelTool_SCT() - print( "added RegSelTools\n\n\n\n" ) - - from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings self.EtaHalfWidth = InDetTrigSliceSettings[('etaHalfWidth',type)] self.PhiHalfWidth = InDetTrigSliceSettings[('phiHalfWidth',type)]