diff --git a/DetectorDescription/RegSelSvcTest/src/RegSelTestAlg.cxx b/DetectorDescription/RegSelSvcTest/src/RegSelTestAlg.cxx index 0e29bb5d56017f2fbcf44db87509127a37ca7b63..1673c2949498814f408636b31e3dcbf63866f57b 100644 --- a/DetectorDescription/RegSelSvcTest/src/RegSelTestAlg.cxx +++ b/DetectorDescription/RegSelSvcTest/src/RegSelTestAlg.cxx @@ -73,7 +73,7 @@ StatusCode RegSelTestAlg::dumpOne( const std::string& message, double eta, const StatusCode RegSelTestAlg::dump() const { // generate list of RoIs for ID - CHECK( dumpOne("Inner Detector ", 2.5, { PIXEL, SCT, TRT } ) ); + // CHECK( dumpOne("Inner Detector ", 2.5, { PIXEL, SCT, TRT } ) ); CHECK( dumpOne("Calorimeters ", 5., { LAR, TTEM, TTHEC, TILE, FCALEM, FCALHAD } ) ); CHECK( dumpOne("Muons ", 5., { MDT, RPC, TGC, CSC } ) ); return StatusCode::SUCCESS; @@ -185,7 +185,8 @@ StatusCode RegSelTestAlg::mt() const { std::vector<ParallelCallTest*> tests; - for ( auto detector: {PIXEL, SCT, TRT, LAR, TTEM, TTHEC, TILE, MDT, RPC, TGC, CSC, FCALEM, FCALHAD, FTK} ) { + // for ( auto detector: {PIXEL, SCT, TRT, LAR, TTEM, TTHEC, TILE, MDT, RPC, TGC, CSC, FCALEM, FCALHAD, FTK} ) { + for ( auto detector: { LAR, TTEM, TTHEC, TILE, MDT, RPC, TGC, CSC, FCALEM, FCALHAD } ) { for ( auto& roi : rois ) { tests.push_back( new RoIReqTest( roi, detector, msg(), m_regSelSvc ) ); } diff --git a/DetectorDescription/RegionSelector/src/RegSelSvc.cxx b/DetectorDescription/RegionSelector/src/RegSelSvc.cxx index 564a5ba1ec9328aa573e645fd907fa0158f02c6d..aa6c71ae682e3b1359656bdd0756b623b6338249 100755 --- a/DetectorDescription/RegionSelector/src/RegSelSvc.cxx +++ b/DetectorDescription/RegionSelector/src/RegSelSvc.cxx @@ -628,7 +628,7 @@ void RegSelSvc::getRoIData(DETID detectorID, case PIXEL: case SCT: case TRT: { - ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case RPC: { // RPC (obviously) @@ -703,7 +703,7 @@ void RegSelSvc::DetHashIDList(DETID detectorID, case PIXEL: case SCT: case TRT: { // TRT (obviously) - ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case MDT: { // etc @@ -803,7 +803,7 @@ void RegSelSvc::DetHashIDList(DETID detectorID, long layer, case PIXEL: case SCT: case TRT: { // TRT (obviously) - ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case MDT: { @@ -886,7 +886,7 @@ void RegSelSvc::DetHashIDList(DETID detectorID, case PIXEL: case SCT: case TRT: { // TRT (obviously) - ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case MDT: { @@ -969,7 +969,7 @@ void RegSelSvc::DetHashIDList(DETID detectorID, long layer, case PIXEL: case SCT: case TRT: { // TRT (obviously) - ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case MDT: { @@ -1068,7 +1068,7 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, case PIXEL: case SCT: case TRT: { // TRT - ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case MDT: { @@ -1169,7 +1169,7 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, long layer, case PIXEL: case SCT: case TRT: { // TRT - ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case MDT: { @@ -1245,7 +1245,7 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, case PIXEL: case SCT: case TRT: { // TRT - ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID" << detectorID ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case MDT: { @@ -1314,8 +1314,7 @@ void RegSelSvc::DetROBIDListUint(DETID detectorID, long layer, 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 ); + ATH_MSG_ERROR( "RegSelSvc: should no longer be called for ID: " << detectorID ); break; } case MDT: { diff --git a/DetectorDescription/RegionSelector/src/obsolete.h b/DetectorDescription/RegionSelector/src/obsolete.h deleted file mode 100644 index 35d3604ff2444cf45d8f09ad4f3e89af65773381..0000000000000000000000000000000000000000 --- a/DetectorDescription/RegionSelector/src/obsolete.h +++ /dev/null @@ -1,178 +0,0 @@ -// emacs: this is -*- c++ -*- - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////////// -/// obsolete methods DO NOT USE -/////////////////////////////////////////////////////////////////////// - - -public: - - /// obsolete HashID methods - - void DetHashIDList(DETID detectorID, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash>* IDList ); - - // inner detector - void DetHashIDList(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash>* IDList); - - - void DetHashIDList(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - double xBeam, double yBeam, - std::vector<IdentifierHash>* IDList); - - - void DetHashIDList(DETID detectorID, - const IRoiDescriptor& roi, - std::vector<IdentifierHash>* IDList); - - // inner detector layer - void DetHashIDList(DETID detectorID, long layer, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash>* IDList); - - void DetHashIDList(DETID detectorID, long layer, - const IRoiDescriptor& roi, - std::vector<IdentifierHash>* IDList); - - // inner detector full scan - void DetHashIDList(DETID detectorID, - std::vector<IdentifierHash>* IDList ); - - // calorimeter - void DetHashIDList(DETID detectorID, long sampling, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash>* IDList); - - // muon - void DetHashIDList(DETID detectorID, TYPEID typeID, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash>* IDList); - - - - /// obsolete rob identifier methods - - void DetROBIDListUint(DETID detectorID, - double etaMin,double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList); - - // inner detector - void DetROBIDListUint(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList); - - - void DetROBIDListUint(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - double xBeam, double yBeam, - std::vector<uint32_t>& outputROBIDList); - - - // inner detector by layer - void DetROBIDListUint(DETID detectorID, long layer, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList); - - - - // calorimeter - void DetROBIDListUint(DETID detectorID, long sampling, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList); - - - - - - // Combined inner detector rob id and hash id methods - - void DetROBHashIDList(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash>* IDList ); - - void DetROBHashIDList(DETID detectorID, - const IRoiDescriptor& roi, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash>* IDList); - - - // inner detector layer - void DetROBHashIDList(DETID detectorID, long layer, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash>* IDList); - - void DetROBHashIDList(DETID detectorID, long layer, - const IRoiDescriptor& roi, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash>* IDList); - - // inner detector full scan - void DetROBHashIDList(DETID detectorID, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash>* IDList ); - - - - - - - // Find disabled inner detector modules from a layer - void DetDisabledHashIDList(DETID detectorID, long layer, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash>* IDList); - -#if 0 - void DetDisabledHashIDList(DETID detectorID, long layer, - const IRoiDescriptor& roi, - std::vector<IdentifierHash>* IDList); -#endif - - - void getDisabledLayers(DETID detectorID, - int subdetector, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<int>& layers); - - void getDisabledLayers(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<int>& barrellayers, - std::vector<int>& endAlayers, - std::vector<int>& endClayers ); - diff --git a/DetectorDescription/RegionSelector/src/obsolete.icc b/DetectorDescription/RegionSelector/src/obsolete.icc deleted file mode 100644 index dea79b16ab50f3780a0bcc580cb0e6b379b012ae..0000000000000000000000000000000000000000 --- a/DetectorDescription/RegionSelector/src/obsolete.icc +++ /dev/null @@ -1,1594 +0,0 @@ -// emacs: this is -*- c++ -*- - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////////// -/// obsolete HashID methods -/////////////////////////////////////////////////////////////////////// - - -// calorimeter - -void RegSelSvc::DetROBIDListUint(DETID detectorID, - long sampling, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList) { - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if ( !checkinput(etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - - switch(detectorID){ - case PIXEL: - case SCT: - return DetROBIDListUint(detectorID, sampling, -m_DeltaZ, m_DeltaZ, etaMin, etaMax, phiMin, phiMax, outputROBIDList); - break; - case TRT: - break; - case LAR: // Liquid Argon Calorimeter - verifyInputs(LAR, etaMin, etaMax, phiMin, phiMax); - m_larData.regionSelectorRobIdUint(sampling, etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "LAR verifyOutput" << endmsg; larData.verifyOutput(ROBID, sampling, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case TTEM: // Liquid Argon Trigger Tower EM Calorimeter - verifyInputs(TTEM, etaMin, etaMax, phiMin, phiMax); - m_ttemData.regionSelectorRobIdUint(sampling, etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "TTEM verifyOutput" << endmsg; ttemData.verifyOutput(ROBID, sampling, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case TTHEC: // Liquid Argon Trigger Tower HEC Calorimeter - verifyInputs(TTHEC, etaMin, etaMax, phiMin, phiMax); - m_tthecData.regionSelectorRobIdUint(sampling, etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "TTHEC verifyOutput" << endmsg; tthecData.verifyOutput(ROBID, sampling, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case FCALEM: // Liquid Argon Trigger Tower FCALEM Calorimeter - verifyInputs(FCALEM, etaMin, etaMax, phiMin, phiMax); - m_ttfcalemData.regionSelectorRobIdUint(sampling, etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "FCALEM verifyOutput" << endmsg; ttfcalemData.verifyOutput(ROBID, sampling, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case FCALHAD: // Liquid Argon Trigger Tower FCALHAD Calorimeter - verifyInputs(FCALHAD, etaMin, etaMax, phiMin, phiMax); - m_ttfcalhadData.regionSelectorRobIdUint(sampling, etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "FCALHAD verifyOutput" << endmsg; ttfcalhadData.verifyOutput(ROBID, sampling, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case TILE: // Tile Calorimeters - break; - case MDT: // MDT Calorimeter - break; - case RPC: // RPC Calorimeters - break; - case TGC: // TGC Calorimeters - break; - case CSC: // CSC Calorimeters - break; - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBIDListUint for detector " << detectorID - << " got " << outputROBIDList.size() << " ROB IDs" << endmsg; - } - -} - - - - - - - - - - - - - - -// Combiner inner detector rob id and hash id methods - -void RegSelSvc::DetROBHashIDList(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash> *IDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetROBHashIDList() new map " << detectorID << std::endl; - - // if(m_msgOutputLevel <= MSG::WARNING ) - // (*m_log) << MSG::WARNING << " This method is obsolete - please replace" << endmsg; - - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getRobHashList(roi, outputROBIDList, *IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getRobHashList(roi, outputROBIDList, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getRobHashList(roi, outputROBIDList, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - - -#if 1 -void RegSelSvc::DetROBHashIDList(DETID detectorID, - const IRoiDescriptor& roi, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash> *IDList) -{ - // std::cout << "RegSelSvc::DetROBHashIDList() new map " << detectorID << std::endl; - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - RegSelRoI _roi( roi.zedMinus(), roi.zedPlus(), - roi.phiMinus(), roi.phiPlus(), - roi.etaMinus(), roi.etaPlus() ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getRobHashList(_roi, outputROBIDList, *IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getRobHashList(_roi, outputROBIDList, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getRobHashList(_roi, outputROBIDList, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} -#endif - - - - -// inner detector by layer - -void RegSelSvc::DetROBHashIDList(DETID detectorID, long layer, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash> *IDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetROBHashIDList() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getRobHashList(roi, layer, outputROBIDList, *IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getRobHashList(roi, layer, outputROBIDList, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getRobHashList(roi, layer, outputROBIDList, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - -#if 1 -void RegSelSvc::DetROBHashIDList(DETID detectorID, long layer, - const IRoiDescriptor& roi, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash> *IDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetROBHashIDList() new map " << detectorID << std::endl; - - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - RegSelRoI _roi( roi.zedMinus(), roi.zedPlus(), - roi.phiMinus(), roi.phiPlus(), - roi.etaMinus(), roi.etaPlus() ); - - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getRobHashList(_roi, layer, outputROBIDList, *IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getRobHashList(_roi, layer, outputROBIDList, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getRobHashList(_roi, layer, outputROBIDList, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} -#endif - - - -// inner detector full scan - -void RegSelSvc::DetROBHashIDList(DETID detectorID, - std::vector<uint32_t>& outputROBIDList, - std::vector<IdentifierHash>* IDList ) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - switch (detectorID) { - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getRobHashList(outputROBIDList, *IDList); - break; - } - case SCT: { // SCT - if ( m_newsct ) m_newsct->getRobHashList(outputROBIDList, *IDList); - break; - } - case TRT: { // TRT - if ( m_newtrt ) m_newtrt->getRobHashList(outputROBIDList, *IDList); - break; - } - default: - break; - } -} - - - - - - - - - - - - -// methods to return the list of disabled modules from the inner -// within and roi in a given layer - -void RegSelSvc::DetDisabledHashIDList(DETID detectorID, long layer, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash>* IDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetDisabledHashIDList() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getDisabledHashList(roi, layer, *IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getDisabledHashList(roi, layer, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getDisabledHashList(roi, layer, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetDisabledHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - - - -void RegSelSvc::getDisabledLayers(DETID detectorID, - int subdetector, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<int>& layers) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if(m_msgOutputLevel <= MSG::DEBUG && layers.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input layers vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - layers.clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getDisabledLayers(roi, subdetector, layers); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getDisabledLayers(roi, subdetector, layers); - break; - } - default: - break; - } - -} - - - -void RegSelSvc::getDisabledLayers(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<int>& barrellayers, - std::vector<int>& endAlayers, - std::vector<int>& endClayers) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if(m_msgOutputLevel <= MSG::DEBUG && barrellayers.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input barrellayers vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - barrellayers.clear(); - - - if(m_msgOutputLevel <= MSG::DEBUG && endAlayers.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input endAlayers vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - endAlayers.clear(); - - if(m_msgOutputLevel <= MSG::DEBUG && endClayers.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input endClayers vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - endClayers.clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) { - m_newpixel->getDisabledLayers(roi, 0, barrellayers); - m_newpixel->getDisabledLayers(roi, -2, endAlayers); - m_newpixel->getDisabledLayers(roi, 2, endClayers); - } - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) { - m_newsct->getDisabledLayers(roi, 0, barrellayers); - m_newsct->getDisabledLayers(roi, -2, endAlayers); - m_newsct->getDisabledLayers(roi, 2, endClayers); - } - break; - } - default: - break; - } - -} - - - - - -#if 0 -void RegSelSvc::DetDisabledHashIDList(DETID detectorID, long layer, - const IRoiDescriptor& roi, - std::vector<IdentifierHash>* IDList) -{ - // std::cout << "RegSelSvc::DetDisabledHashIDList() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - RegSelRoI _roi( roi.zedMinus(), roi.zedPlus(), - roi.phiMinus(), roi.phiPlus(), - roi.etaMinus(), roi.etaPlus() ); - - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getDisabledHashList(_roi, layer, *IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getDisabledHashList(_roi, layer, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getDisabledHashList(_roi, layer, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetDisabledHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} -#endif - - - - - -// old Region Selector interface - -void RegSelSvc::DetHashIDList(DETID detectorID, - double etaMin,double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash>* IDList) { - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // if(m_msgOutputLevel <= MSG::WARNING ) - // (*m_log) << MSG::WARNING << " THIS METHOD IS OBSOLETE - PLEASE REPLACE" << endmsg; - - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - switch(detectorID){ - case PIXEL: - case SCT: - case TRT: - case MDT: - case RPC: - case TGC: - case CSC: - return DetHashIDList(detectorID, -m_DeltaZ, m_DeltaZ, etaMin, etaMax, phiMin, phiMax, IDList); - break; - case LAR: // Liquid Argon Calorimeter - verifyInputs(LAR, etaMin, etaMax, phiMin, phiMax); - m_larData.regionSelector(etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "LAR hashID verifyOutput" << endmsg; larDataIdentHash.verifyOutput(etaMin, etaMax, phiMin, phiMax,IDList); - break; - case TTEM: // Liquid Argon Trigger Tower EM Calorimeter - verifyInputs(TTEM, etaMin, etaMax, phiMin, phiMax); - m_ttemData.regionSelector(etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "TTEM hashID verifyOutput" << endmsg; ttemDataIdentHash.verifyOutput(etaMin, etaMax, phiMin, phiMax,IDList); - break; - case TTHEC: // Liquid Argon Trigger Tower HEC Calorimeter - verifyInputs(TTHEC, etaMin, etaMax, phiMin, phiMax); - m_tthecData.regionSelector(etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "TTHEC hashID verifyOutput" << endmsg; tthecDataIdentHash.verifyOutput(etaMin, etaMax, phiMin, phiMax,IDList); - break; - case FCALEM: // Liquid Argon Trigger Tower HEC Calorimeter - verifyInputs(FCALEM, etaMin, etaMax, phiMin, phiMax); - m_ttfcalemData.regionSelector(etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "TTHEC hashID verifyOutput" << endmsg; ttfcalemDataIdentHash.verifyOutput(etaMin, etaMax, phiMin, phiMax,IDList); - break; - case FCALHAD: // Liquid Argon Trigger Tower HEC Calorimeter - verifyInputs(FCALHAD, etaMin, etaMax, phiMin, phiMax); - m_ttfcalhadData.regionSelector(etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "TTHEC hashID verifyOutput" << endmsg; ttfcalhadDataIdentHash.verifyOutput(etaMin, etaMax, phiMin, phiMax,IDList); - break; - case TILE: // Tile Calorimeters - verifyInputs(TILE, etaMin, etaMax, phiMin, phiMax); - m_tileData.regionSelector(TILE,etaMin, etaMax, phiMin, phiMax,(*IDList)); - break; - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - - - - -// detector with new lookup tables - -void RegSelSvc::DetHashIDList(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash> *IDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // if(m_msgOutputLevel <= MSG::WARNING ) - // (*m_log) << MSG::WARNING << " THIS METHOD IS OBSOLETE - PLEASE REPLACE" << endmsg; - - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getHashList(roi, *IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getHashList(roi, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getHashList(roi, *IDList); - break; - } - case RPC: { // RPC (obviously) - if ( m_newrpc ) m_newrpc->getHashList(roi, *IDList); - break; - } - case MDT: { // MDT (obviously) - if ( m_newmdt ) m_newmdt->getHashList(roi, *IDList); - break; - } - case TGC: { // TGC (obviously) - if ( m_newtgc ) m_newtgc->getHashList(roi, *IDList); - break; - } - case CSC: { // CSC (obviously) - if ( m_newcsc ) m_newcsc->getHashList(roi, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - - - - - -void RegSelSvc::DetHashIDList(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - double xBeam, double yBeam, - std::vector<IdentifierHash> *IDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // if(m_msgOutputLevel <= MSG::WARNING ) - // (*m_log) << MSG::WARNING << " THIS METHOD IS OBSOLETE - PLEASE REPLACE" << endmsg; - - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getHashList(roi, *IDList, xBeam, yBeam ); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getHashList(roi, *IDList, xBeam, yBeam ); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getHashList(roi, *IDList, xBeam, yBeam ); - break; - } - case MDT: { - if ( m_newmdt ) m_newmdt->getHashList(roi, *IDList, xBeam, yBeam ); - break; - } - case RPC: { - if ( m_newrpc ) m_newrpc->getHashList(roi, *IDList, xBeam, yBeam ); - break; - } - case TGC: { - if ( m_newtgc ) m_newtgc->getHashList(roi, *IDList, xBeam, yBeam ); - break; - } - case CSC: { - if ( m_newcsc ) m_newcsc->getHashList(roi, *IDList, xBeam, yBeam ); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - - -#if 1 -void RegSelSvc::DetHashIDList(DETID detectorID, - const IRoiDescriptor& roi, - std::vector<IdentifierHash> *IDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if ( roi.isFullscan() ) return DetHashIDList( detectorID, IDList ); - - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; - - // if(m_msgOutputLevel <= MSG::WARNING ) - // (*m_log) << MSG::WARNING << " THIS METHOD IS OBSOLETE - PLEASE REPLACE" << endmsg; - - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - RegSelRoI _roi( roi.zedMinus(), roi.zedPlus(), - roi.phiMinus(), roi.phiPlus(), - roi.etaMinus(), roi.etaPlus() ); - - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getHashList(_roi, *IDList); - break; - } - case SCT: { // Semiconductor Tracker (and pixel) - if ( m_newsct ) m_newsct->getHashList(_roi, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getHashList(_roi, *IDList); - break; - } - case MDT: { - if ( m_newmdt ) m_newmdt->getHashList(_roi, *IDList); - break; - } - case RPC: { - if ( m_newrpc ) m_newrpc->getHashList(_roi, *IDList); - break; - } - case TGC: { - if ( m_newtgc ) m_newtgc->getHashList(_roi, *IDList); - break; - } - case CSC: { - if ( m_newcsc ) m_newcsc->getHashList(_roi, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - - -// detector by layer - -void RegSelSvc::DetHashIDList(DETID detectorID, long layer, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<IdentifierHash> *IDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getHashList(roi, layer, *IDList); - break; - } - case SCT: { // Semiconductor Tracker - if ( m_newsct ) m_newsct->getHashList(roi, layer, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getHashList(roi, layer, *IDList); - break; - } - case MDT: { - if ( m_newmdt ) m_newmdt->getHashList(roi, layer, *IDList); - break; - } - case RPC: { - if ( m_newrpc ) m_newrpc->getHashList(roi, layer, *IDList); - break; - } - case TGC: { - if ( m_newtgc ) m_newtgc->getHashList(roi, layer, *IDList); - break; - } - case CSC: { - if ( m_newcsc ) m_newcsc->getHashList(roi, layer, *IDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - -void RegSelSvc::DetHashIDList(DETID detectorID, long layer, - const IRoiDescriptor& roi, - std::vector<IdentifierHash> *IDList) -{ - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if ( roi.isFullscan() ) return DetHashIDList( detectorID, layer, *IDList ); - - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - RegSelRoI _roi( roi.zedMinus(), roi.zedPlus(), - roi.phiMinus(), roi.phiPlus(), - roi.etaMinus(), roi.etaPlus() ); - - switch(detectorID){ - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getHashList(_roi, layer, *IDList); - break; - } - case SCT: { // Semiconductor Tracker - if ( m_newsct ) m_newsct->getHashList(_roi, layer, *IDList); - break; - } - case TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getHashList(_roi, layer, *IDList); - break; - } - case MDT: { - if ( m_newmdt ) m_newmdt->getHashList(_roi, layer, *IDList); - break; - } - case RPC: { - if ( m_newrpc ) m_newrpc->getHashList(_roi, layer, *IDList); - break; - } - case TGC: { - if ( m_newtgc ) m_newtgc->getHashList(_roi, layer, *IDList); - break; - } - case CSC: { - if ( m_newcsc ) m_newcsc->getHashList(_roi, layer, *IDList); - break; - } - default: - break; - } - - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} -#endif - - - - - - - - -// detector full scan - -void RegSelSvc::DetHashIDList(DETID detectorID, - std::vector<IdentifierHash>* IDList ) -{ - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetHashIDList() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - 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 TRT: { // TRT (obviously) - if ( m_newtrt ) m_newtrt->getHashList(*IDList); - break; - } - case MDT: { - if ( m_newmdt ) m_newmdt->getHashList(*IDList); - break; - } - case RPC: { - if ( m_newrpc ) m_newrpc->getHashList(*IDList); - break; - } - case TGC: { - if ( m_newtgc ) m_newtgc->getHashList(*IDList); - break; - } - case CSC: { - if ( m_newcsc ) m_newcsc->getHashList(*IDList); - break; - } - default: - break; - } -} - - - - - -// calorimeter - -void RegSelSvc::DetHashIDList(DETID detectorID, - long sampling, - double etaMin, double etaMax , - double phiMin, double phiMax, - std::vector<IdentifierHash> *IDList) { - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - - switch(detectorID){ - case PIXEL: - case SCT: - case TRT: - case MDT: - case RPC: - case TGC: - case CSC: - return DetHashIDList(detectorID, sampling, -m_DeltaZ, m_DeltaZ, etaMin, etaMax, phiMin, phiMax, IDList); - break; - case LAR: // Liquid Argon Calorimeter - verifyInputs(LAR, etaMin, etaMax, phiMin, phiMax); - m_larData.regionSelector(sampling, etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "LAR hashID verifyOutput sampling " << sampling << endmsg; larDataIdentHash.verifyOutput(sampling,etaMin, etaMax, phiMin, phiMax,IDList); - break; - case TTEM: // Liquid Argon Trigger Tower EM Calorimeter - verifyInputs(TTEM, etaMin, etaMax, phiMin, phiMax); - m_ttemData.regionSelector(sampling, etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "TTEM hashID verifyOutput sampling " << sampling << endmsg; ttemDataIdentHash.verifyOutput(sampling,etaMin, etaMax, phiMin, phiMax,IDList); - break; - case TTHEC: // Liquid Argon Trigger Tower HEC Calorimeter - verifyInputs(TTHEC, etaMin, etaMax, phiMin, phiMax); - m_tthecData.regionSelector(sampling, etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "TTEC hashID verifyOutput sampling " << sampling << endmsg; tthecDataIdentHash.verifyOutput(sampling,etaMin, etaMax, phiMin, phiMax,IDList); - break; - case FCALEM: // Liquid Argon Trigger Tower FCALEM Calorimeter - verifyInputs(FCALEM, etaMin, etaMax, phiMin, phiMax); - m_ttfcalemData.regionSelector(sampling, etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "FCALEM hashID verifyOutput sampling " << sampling << endmsg; ttfcalemDataIdentHash.verifyOutput(sampling,etaMin, etaMax, phiMin, phiMax,IDList); - break; - case FCALHAD: // Liquid Argon Trigger Tower FCALHAD Calorimeter - verifyInputs(FCALHAD, etaMin, etaMax, phiMin, phiMax); - m_ttfcalhadData.regionSelector(sampling, etaMin, etaMax, phiMin, phiMax,(*IDList)); - //log<< MSG::DEBUG << "FCALHAD hashID verifyOutput sampling " << sampling << endmsg; ttfcalhadDataIdentHash.verifyOutput(sampling,etaMin, etaMax, phiMin, phiMax,IDList); - break; - case TILE: // Tile Calorimeters - break; - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - -// muon - -void RegSelSvc::DetHashIDList(DETID detectorID, - TYPEID typeID, - double etaMin, double etaMax , - double phiMin, double phiMax, - std::vector<IdentifierHash> *IDList) -{ - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if(m_msgOutputLevel <= MSG::DEBUG && IDList->size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input IDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - IDList->clear(); - - if ( !checkinput(etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - if ( detectorID==MDT ) { - long layer = typeID; - DetHashIDList(detectorID, layer, -m_DeltaZ, m_DeltaZ, etaMin, etaMax, phiMin, phiMax, IDList); - } - - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetHashIDList for detector " << detectorID - << " got " << IDList->size() << " hash IDs" << endmsg; - } - -} - - - - - -// Methods to retrieve the rob is list - -// old region selector interface - -void RegSelSvc::DetROBIDListUint(DETID detectorID, - double etaMin, double etaMax , - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if ( !checkinput(etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - - switch(detectorID){ - case PIXEL: - case SCT: - case TRT: - return DetROBIDListUint(detectorID, -m_DeltaZ, m_DeltaZ, etaMin, etaMax, phiMin, phiMax, outputROBIDList); - break; - case LAR: // Liquid Argon Calorimeter - verifyInputs(LAR, etaMin, etaMax, phiMin, phiMax); - m_larData.regionSelectorRobIdUint(etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "LAR verifyOutput" << endmsg; larData.verifyOutput(ROBID, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case TTEM: // Liquid Argon Trigger Tower EM Calorimeter - verifyInputs(TTEM, etaMin, etaMax, phiMin, phiMax); - m_ttemData.regionSelectorRobIdUint(etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "TTEM verifyOutput" << endmsg; ttemData.verifyOutput(ROBID, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case TTHEC: // Liquid Argon Trigger Tower HEC Calorimeter - verifyInputs(TTHEC, etaMin, etaMax, phiMin, phiMax); - m_tthecData.regionSelectorRobIdUint(etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "TTHEC verifyOutput" << endmsg; tthecData.verifyOutput(ROBID, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case FCALEM: // Liquid Argon Trigger Tower FCALEM Calorimeter - verifyInputs(FCALEM, etaMin, etaMax, phiMin, phiMax); - m_ttfcalemData.regionSelectorRobIdUint(etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "FCALEM verifyOutput" << endmsg; ttfcalemData.verifyOutput(ROBID, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case FCALHAD: // Liquid Argon Trigger Tower FCALHAD Calorimeter - verifyInputs(FCALHAD, etaMin, etaMax, phiMin, phiMax); - m_ttfcalhadData.regionSelectorRobIdUint(etaMin, etaMax, phiMin, phiMax, outputROBIDList); - //log<< MSG::DEBUG << "FCALHAD verifyOutput" << endmsg; ttfcalhadData.verifyOutput(ROBID, etaMin, etaMax, phiMin, phiMax,outputROBIDList); - break; - case TILE: // Tile Calorimeters - verifyInputs(TILE, etaMin, etaMax, phiMin, phiMax); - m_tileData.regionSelectorRobIdUint(TILE,etaMin, etaMax, phiMin, phiMax, outputROBIDList); - break; - case MDT: // MDT Calorimeter - //verifyInputs(MDT, etaMin, etaMax, phiMin, phiMax); - //m_mdtData.regionSelectorRobIdUint(MDT,etaMin, etaMax, phiMin, phiMax, outputROBIDList); - break; - case RPC: // RPC Calorimeters - //verifyInputs(RPC, etaMin, etaMax, phiMin, phiMax); - //m_rpcData.regionSelectorRobIdUint(RPC,etaMin, etaMax, phiMin, phiMax, outputROBIDList); - break; - case TGC: // TGC Calorimeters - //verifyInputs(TGC, etaMin, etaMax, phiMin, phiMax); - //m_tgcData.regionSelectorRobIdUint(TGC,etaMin, etaMax, phiMin, phiMax, outputROBIDList); - break; - case CSC: // CSC Calorimeters - //verifyInputs(CSC, etaMin, etaMax, phiMin, phiMax); - //m_cscData.regionSelectorRobIdUint(CSC,etaMin, etaMax, phiMin, phiMax, outputROBIDList); - break; - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBIDListUint for detector " << detectorID - << " got " << outputROBIDList.size() << " ROB IDs" << endmsg; - } - -} - - - - -// inner detector - -void RegSelSvc::DetROBIDListUint(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetROBIDListUint() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - - switch (detectorID) { - case PIXEL: { // Pixel - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - if ( m_newpixel ) m_newpixel->getRobList(roi, outputROBIDList); - break; - } - case SCT: { // SCT - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - if ( m_newsct ) m_newsct->getRobList(roi, outputROBIDList); - break; - } - case TRT: { // TRT - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - if ( m_newtrt ) m_newtrt->getRobList(roi, outputROBIDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBIDListUint for detector " << detectorID - << " got " << outputROBIDList.size() << " ROB IDs" << endmsg; - } - -} - - - - - -void RegSelSvc::DetROBIDListUint(DETID detectorID, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - double xBeam, double yBeam, - std::vector<uint32_t>& outputROBIDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetROBIDListUint() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - - switch (detectorID) { - case PIXEL: { // Pixel - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - if ( m_newpixel ) m_newpixel->getRobList(roi, outputROBIDList, xBeam, yBeam ); - break; - } - case SCT: { // SCT - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - if ( m_newsct ) m_newsct->getRobList(roi, outputROBIDList, xBeam, yBeam ); - break; - } - case TRT: { // TRT - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - if ( m_newtrt ) m_newtrt->getRobList(roi, outputROBIDList, xBeam, yBeam ); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBIDListUint for detector " << detectorID - << " got " << outputROBIDList.size() << " ROB IDs" << endmsg; - } - -} - - - -// inner detector by layer - -void RegSelSvc::DetROBIDListUint(DETID detectorID, long layer, - double zMin, double zMax, - double etaMin, double etaMax, - double phiMin, double phiMax, - std::vector<uint32_t>& outputROBIDList) -{ - - static bool first = true; - if ( first ) { - first = false; - (*m_log) << MSG::WARNING << __func__ << " - This method is obsolete DO NOT USE" << endmsg; - } - - // std::cout << "RegSelSvc::DetROBIDListUint() new map " << detectorID << std::endl; - - if(m_msgOutputLevel <= MSG::DEBUG && outputROBIDList.size()!=0 ){ - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " input outputROBIDList vector not empty for RegSelSvc call for detectorID " << detectorID << endmsg; - } - outputROBIDList.clear(); - - if ( !checkinput(zMin, zMax, etaMin, etaMax, phiMin, phiMax) ) { - if(m_msgOutputLevel <= MSG::WARNING ) - (*m_log) << MSG::WARNING << " bad roi parameter to regionselector" - << "zMin=" << zMin << "\tzMax=" << zMax - << "\tetaMin=" << etaMin << "\tetaMax=" << etaMax - << "\tphiMin=" << phiMin << "\tphiMax=" << phiMax << endmsg; - - return; - } - - RegSelRoI roi( zMin, zMax, phiMin, phiMax, etaMin, etaMax ); - - switch (detectorID) { - case PIXEL: { // Pixel - if ( m_newpixel ) m_newpixel->getRobList(roi, layer, outputROBIDList); - break; - } - case SCT: { // SCT - if ( m_newsct ) m_newsct->getRobList(roi, layer, outputROBIDList); - break; - } - case TRT: { // TRT - if ( m_newtrt ) m_newtrt->getRobList(roi, layer, outputROBIDList); - break; - } - default: - break; - } - - if(m_msgOutputLevel <= MSG::DEBUG){ - (*m_log) << MSG::DEBUG << "DetROBIDListUint for detector " << detectorID - << " got " << outputROBIDList.size() << " ROB IDs" << endmsg; - } - -} - - - - - - - - - - diff --git a/InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv/src/TRTRawDataProvider.cxx b/InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv/src/TRTRawDataProvider.cxx index 9c3b8cc1b79ee951777414543c416a564535902f..fdd454ead890d4409ef13b1b7d5ed9b8cdadfdef 100644 --- a/InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv/src/TRTRawDataProvider.cxx +++ b/InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv/src/TRTRawDataProvider.cxx @@ -14,7 +14,6 @@ using OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment; TRTRawDataProvider::TRTRawDataProvider(const std::string& name, ISvcLocator* pSvcLocator) : AthAlgorithm ( name, pSvcLocator ), - m_regionSelector ("RegSelSvc", name), m_robDataProvider ( "ROBDataProviderSvc", name ), m_rawDataTool ( "TRTRawDataProviderTool",this ), m_CablingSvc ( "TRT_CablingSvc", name ), @@ -117,9 +116,7 @@ StatusCode TRTRawDataProvider::execute() for (; roi!=roiE; ++roi) { superRoI.push_back(*roi); } - m_regionSelector->DetROBIDListUint( TRT, - superRoI, - listOfRobs); + m_regionSelector->ROBIDList( superRoI, listOfRobs ); } std::vector<const ROBFragment*> listOfRobf; m_robDataProvider->getROBData( listOfRobs, listOfRobf); diff --git a/InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv/src/TRTRawDataProvider.h b/InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv/src/TRTRawDataProvider.h index 8a4be6d46a7221f6f72b4c87572155ad40a6ee50..75e61d3dbc30ad0685c2c59cab3dbfdbcd7b10d6 100755 --- a/InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv/src/TRTRawDataProvider.h +++ b/InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv/src/TRTRawDataProvider.h @@ -17,7 +17,7 @@ #include "InDetRawData/TRT_RDO_Container.h" #include "TRT_RawDataByteStreamCnv/ITRTRawDataProviderTool.h" #include "TRT_Cabling/ITRT_CablingSvc.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "TrigSteeringEvent/TrigRoiDescriptorCollection.h" #include "AthenaBaseComps/AthAlgorithm.h" @@ -54,7 +54,8 @@ public: private: - ServiceHandle<IRegSelSvc> m_regionSelector; + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSelTool/RegSelTool_TRT" } +; ServiceHandle<IROBDataProviderSvc> m_robDataProvider; ToolHandle<ITRTRawDataProviderTool> m_rawDataTool; ServiceHandle<ITRT_CablingSvc> m_CablingSvc; diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetReadBS_jobOptions.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetReadBS_jobOptions.py index e5d39621d69299391403ea7a37e4f07cc375bb1f..227fa738084468abe796b5f55e662ed09595b738 100755 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetReadBS_jobOptions.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetReadBS_jobOptions.py @@ -99,8 +99,8 @@ if DetFlags.readRDOBS.TRT_on(): RDOKey = InDetKeys.TRT_RDOs(), ProviderTool = InDetTRTRawDataProviderTool) -# from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT -# InDetTRTRawDataProvider.RegSelTool = makeRegSelTool_TRT() + from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT + InDetTRTRawDataProvider.RegSelTool = makeRegSelTool_TRT() topSequence += InDetTRTRawDataProvider if (InDetFlags.doPrintConfigurables()): diff --git a/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py b/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py index 88098c10d29d0452a608f082cd501f1d9248668d..189943c2024abd9b46b877cf9f442fef654edac3 100755 --- a/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py +++ b/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py @@ -237,8 +237,8 @@ class TrigFastTrackFinderBase(TrigFastTrackFinder): from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT - spTool.RegSel_Pixel = makeRegSelTool_Pixel() - spTool.RegSel_SCT = makeRegSelTool_SCT() + spTool.RegSelTool_Pixel = makeRegSelTool_Pixel() + spTool.RegSelTool_SCT = makeRegSelTool_SCT() ToolSvc += spTool self.SpacePointProviderTool=spTool diff --git a/Trigger/TrigAlgorithms/TrigPartialEventBuilding/src/RoIPEBInfoWriterTool.cxx b/Trigger/TrigAlgorithms/TrigPartialEventBuilding/src/RoIPEBInfoWriterTool.cxx index 5823bcb2dd20a7c13b242f2549b89ad0e7fcc17e..94caec1619e0fcb8209724a52206cb1349050e02 100644 --- a/Trigger/TrigAlgorithms/TrigPartialEventBuilding/src/RoIPEBInfoWriterTool.cxx +++ b/Trigger/TrigAlgorithms/TrigPartialEventBuilding/src/RoIPEBInfoWriterTool.cxx @@ -25,10 +25,8 @@ StatusCode RoIPEBInfoWriterTool::initialize() { ATH_MSG_DEBUG("Extra PEBInfo attached to every passed event: " << m_extraPebInfo); // Ugly solution - need to translate strings into enums. Wouldn't be needed if DETID enum was accessible from python. + const std::unordered_map<std::string_view,DETID> detNameDict = { - {"PIXEL", DETID::PIXEL}, - {"SCT", DETID::SCT}, - {"TRT", DETID::TRT}, {"LAR", DETID::LAR}, {"TTEM", DETID::TTEM}, {"TTHEC", DETID::TTHEC}, @@ -43,18 +41,46 @@ StatusCode RoIPEBInfoWriterTool::initialize() { {"MM", DETID::MM}, {"STGC", DETID::STGC}, }; + +#if 1 + const std::unordered_map< std::string_view, ToolHandle<IRegSelTool> > detTools = { + { "PIXEL", m_regionSelector_pix }, + { "SCT", m_regionSelector_sct }, + { "TRT", m_regionSelector_trt } + }; +#else + + std::unordered_map< std::string_view, ToolHandle<IRegSelTool> > detTools; + + detTools.insert( std::unordered_map< std::string_view, ToolHandle<IRegSelTool> >::value_type( "PIXEL", m_regionSelector_pix ) ); + detTools.insert( std::unordered_map< std::string_view, ToolHandle<IRegSelTool> >::value_type( "SCT", m_regionSelector_sct ) ); + detTools.insert( std::unordered_map< std::string_view, ToolHandle<IRegSelTool> >::value_type( "TRT", m_regionSelector_trt ) ); + + +#endif + for (std::string_view name : m_detNames) { if (name=="All") { for (const auto& p : detNameDict) m_dets.insert(p.second); + for (const auto& p : detTools) m_tools.insert(p.second); break; } - const auto it = detNameDict.find(name); - if (it==detNameDict.cend()) { - ATH_MSG_ERROR("The detector name " << name << " cannot be translated into RegSelEnum DETID"); - return StatusCode::FAILURE; + + const auto itt = detTools.find(name); + if ( itt!=detTools.cend() ) { + ATH_MSG_DEBUG("The detector name " << name << " being inserted from the RegSelTools database"); + m_tools.insert(itt->second); + } + else { + ATH_MSG_DEBUG("The detector name " << name << " not in the RegSelTools database - trying RegSelEnum database"); + const auto it = detNameDict.find(name); + if (it==detNameDict.cend()) { + ATH_MSG_ERROR("The detector name " << name << " cannot be translated into RegSelEnum DETID"); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("Adding " << name << "=" << it->second << " to detector list"); + m_dets.insert(it->second); } - ATH_MSG_DEBUG("Adding " << name << "=" << it->second << " to detector list"); - m_dets.insert(it->second); } return StatusCode::SUCCESS; @@ -86,6 +112,20 @@ PEBInfoWriterToolBase::PEBInfo RoIPEBInfoWriterTool::createPEBInfo(const PEBInfo TrigRoiDescriptor roiForPEB(eta, etaMin, etaMax, phi, phiMin, phiMax); +#if 0 + std::vector<IRegSelTool*> tools = { + m_regionSelectot_pix, + m_regionSelectot_sct, + m_regionSelectot_trt + }; +#endif + + for ( auto tool : m_tools ) { + std::vector<uint32_t> detROBs; + tool->ROBIDList( roiForPEB, detROBs); + pebi.robs.insert(detROBs.begin(),detROBs.end()); + } + for (const DETID detid : m_dets) { std::vector<uint32_t> detROBs; m_regionSelector->DetROBIDListUint(detid, roiForPEB, detROBs); diff --git a/Trigger/TrigAlgorithms/TrigPartialEventBuilding/src/RoIPEBInfoWriterTool.h b/Trigger/TrigAlgorithms/TrigPartialEventBuilding/src/RoIPEBInfoWriterTool.h index 253c420d906b1cafb5bbbc9517b84409609cbeb5..f1f893825978b832843fea07cc663b44ccd89666 100644 --- a/Trigger/TrigAlgorithms/TrigPartialEventBuilding/src/RoIPEBInfoWriterTool.h +++ b/Trigger/TrigAlgorithms/TrigPartialEventBuilding/src/RoIPEBInfoWriterTool.h @@ -8,6 +8,7 @@ #include "TrigPartialEventBuilding/PEBInfoWriterToolBase.h" #include "IRegionSelector/RegSelEnums.h" #include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" /** @class RoIPEBInfoWriterTool * @brief Tool writing ROB list corresponding to an RoI in given detectors for use in PEBInfoWriterAlg @@ -31,6 +32,20 @@ private: this, "RegionSelector", "RegSelSvc/RegSelSvc", "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" + }; + + ToolHandle<IRegSelTool> m_regionSelector_trt { + this, "RegSelTool_TRT", "RegSelTool/RegSelTool_TRT", "Region Selector Tool" + }; + + + // ------------------------- Properties -------------------------------------- Gaudi::Property<float> m_etaEdge { this, "EtaEdge", 5.0, "Upper limit of |eta| range" @@ -58,7 +73,9 @@ private: /// Static PEB Info which contains ExtraROBs and ExtraSubDets PEBInfoWriterToolBase::PEBInfo m_extraPebInfo; /// m_detNames translated into set of DETID, filled at initialisation - std::set<DETID> m_dets; + std::set<DETID> m_dets; + std::set<ToolHandle<IRegSelTool> > m_tools; + }; #endif // TrigPartialEventBuilding_RoIPEBInfoWriterTool_h diff --git a/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py b/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py index 6a2e8ff95baca918780c0f5879d08544a680f257..c6c2a91ffd3586d5f98747f683938f06c8e915b6 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py @@ -122,13 +122,21 @@ def makeInDetPrecisionTracking( config = None, from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool InDetTRTRawDataProviderTool = TRTRawDataProviderTool( name = "%sTRTRawDataProviderTool%s"%(algNamePrefix, signature), Decoder = InDetTRTRodDecoder ) + ToolSvc += InDetTRTRawDataProviderTool + + + # load the TRTRawDataProvider from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProvider InDetTRTRawDataProvider = TRTRawDataProvider(name = "%sTRTRawDataProvider%s"%(algNamePrefix, signature), RDOKey = TrigTRTKeys.RDOs, ProviderTool = InDetTRTRawDataProviderTool) + + from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT + InDetTRTRawDataProvider.RegSelTool = makeRegSelTool_TRT() + InDetTRTRawDataProvider.isRoI_Seeded = True InDetTRTRawDataProvider.RoIs = rois diff --git a/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.cxx b/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.cxx index 54eda180a1d2f86005cc229c08fa1d0f499bf1f4..5206c65d27f561253c1b24bdc9ffeaddbaeba285 100644 --- a/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.cxx +++ b/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.cxx @@ -24,15 +24,10 @@ TrigSpacePointConversionTool::TrigSpacePointConversionTool(const std::string& t, const std::string& n, const IInterface* p ) : AthAlgTool(t,n,p), - m_layerNumberTool("TrigL2LayerNumberTool"), - m_regsel_pix( "RegSelTool/RegSelTool_Pixel", this), - m_regsel_sct( "RegSelTool/RegSel_SCT", this) + m_layerNumberTool("TrigL2LayerNumberTool") { declareInterface< ITrigSpacePointConversionTool >( this ); - declareProperty( "RegSel_Pixel", m_regsel_pix); - declareProperty( "RegSel_SCT", m_regsel_sct); - declareProperty( "DoPhiFiltering", m_filter_phi = true ); declareProperty( "UseBeamTilt", m_useBeamTilt = true ); declareProperty( "UseNewLayerScheme", m_useNewScheme = false ); diff --git a/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.h b/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.h index 284bf60acc22c8b876c6f612496af444d471cc03..3e2dfc61d0d756d0f044841b13f4df59dfd54710 100644 --- a/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.h +++ b/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.h @@ -62,8 +62,8 @@ class TrigSpacePointConversionTool : virtual public ITrigSpacePointConversionToo void transformSpacePoints(std::vector<TrigSiSpacePointBase>&, const EventContext&) const; /// new region selector tools - ToolHandle<IRegSelTool> m_regsel_pix; - ToolHandle<IRegSelTool> m_regsel_sct; + ToolHandle<IRegSelTool> m_regsel_pix { this, "RegSelTool_Pixel", "RegSelTool/RegSelTool_Pixel" }; + ToolHandle<IRegSelTool> m_regsel_sct { this, "RegSelTool_SCT", "RegSelTool/RegSelTool_SCT" }; }; #endif diff --git a/Trigger/TrigValidation/TrigP1Test/share/PEBDSTest.py b/Trigger/TrigValidation/TrigP1Test/share/PEBDSTest.py index 646180b431bad4da4b4d37eed953d2fac0eac9e9..8b1e2772cb8619a39228bcefaa096020260d8245 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/PEBDSTest.py +++ b/Trigger/TrigValidation/TrigP1Test/share/PEBDSTest.py @@ -87,6 +87,10 @@ def myPebInfoWriterTool(name, eventBuildType): tool.EtaWidth = 0.1 tool.PhiWidth = 0.1 tool.DetNames = ['All'] + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel, makeRegSelTool_SCT, makeRegSelTool_TRT + tool.RegSelTool_Pixel = makeRegSelTool_Pixel() + tool.RegSelTool_SCT = makeRegSelTool_SCT() + tool.RegSelTool_TRT = makeRegSelTool_TRT() tool.ExtraROBs = [] tool.ExtraSubDets = [] tool.addHLTResultToROBList() # add the main (full) HLT result to the list @@ -110,6 +114,10 @@ def myPebInfoWriterTool(name, eventBuildType): tool.EtaWidth = 0.3 tool.PhiWidth = 0.3 tool.DetNames = ['PIXEL', 'SCT', 'TRT', 'TTEM', 'TTHEC', 'FCALEM', 'FCALHAD'] + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel, makeRegSelTool_SCT, makeRegSelTool_TRT + tool.RegSelTool_Pixel = makeRegSelTool_Pixel() + tool.RegSelTool_SCT = makeRegSelTool_SCT() + tool.RegSelTool_TRT = makeRegSelTool_TRT() tool.ExtraROBs = [] tool.ExtraSubDets = [] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/EventBuildingSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/EventBuildingSequenceSetup.py index 4bf4949af6622fa30afa41b1a92736a758c75027..62cecf49b001a81011d80be1c72b2ebffb2bad8a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/EventBuildingSequenceSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/EventBuildingSequenceSetup.py @@ -61,6 +61,12 @@ def pebInfoWriterTool(name, eventBuildType): elif 'LArPEB' in eventBuildType: tool = RoIPEBInfoWriterToolCfg(name) tool.DetNames = ['PIXEL', 'SCT', 'TRT', 'TTEM', 'TTHEC', 'FCALEM', 'FCALHAD'] + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel, makeRegSelTool_SCT, makeRegSelTool_TRT + tool.RegSelTool_Pixel = makeRegSelTool_Pixel() + tool.RegSelTool_SCT = makeRegSelTool_SCT() + tool.RegSelTool_TRT = makeRegSelTool_TRT() + tool.MaxRoIs = 5 tool.addHLTResultToROBList() # add the main (full) HLT result to the list tool.addCTPResultToROBList() # add the CTP result to the list