diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/TrigL2MuonSA/RpcDataPreparator.h b/Trigger/TrigAlgorithms/TrigL2MuonSA/TrigL2MuonSA/RpcDataPreparator.h index 839514a5f26c93ec8b2a6a35fee8d7abba70e89f..e92d1a6fe072f57b2607a0c02bea7230073b4acc 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/TrigL2MuonSA/RpcDataPreparator.h +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/TrigL2MuonSA/RpcDataPreparator.h @@ -105,6 +105,7 @@ class RpcDataPreparator: public AthAlgTool bool m_use_RoIBasedDataAccess; bool m_isFakeRoi; + bool m_emulateNoRpcHit; }; } // namespace TrigL2MuonSA diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MdtRegionDefiner.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MdtRegionDefiner.cxx index 490b8a38dfa19c6e85a3c1920c69cdc35c28dbb8..ce6b88080d55c027cdd18e12bec7f41718e864af 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MdtRegionDefiner.cxx +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MdtRegionDefiner.cxx @@ -476,8 +476,8 @@ void TrigL2MuonSA::MdtRegionDefiner::find_phi_min_max(float phiMiddle, float& ph void TrigL2MuonSA::MdtRegionDefiner::find_eta_min_max(float zMin, float rMin, float zMax, float rMax, float& etaMin, float& etaMax) { - const bool doEmulateMuFast = true; - // const bool doEmulateMuFast = false; + // const bool doEmulateMuFast = true; + const bool doEmulateMuFast = false; etaMin = 0.; etaMax = 0.; diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastDataPreparator.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastDataPreparator.cxx index 08a8d63a2d234c94f92f2e91fddff9b7af18226b..edda46791f30fdeb995c493f4eec49fa18aeb4cc 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastDataPreparator.cxx +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastDataPreparator.cxx @@ -283,7 +283,7 @@ StatusCode TrigL2MuonSA::MuFastDataPreparator::prepareData(const LVL1::RecMuonRo } } - //m_recRPCRoiSvc->reconstruct((*p_roi)->roiWord()); + m_recRPCRoiSvc->reconstruct(p_roi->roiWord()); double roiEtaMinLow = 0.; double roiEtaMaxLow = 0.; double roiEtaMinHigh = 0.; diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/RpcDataPreparator.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/RpcDataPreparator.cxx index 1d91362e76ac60c33ce4a875f4c1682136f7e53b..71bc93b4201d0244b1e0da40e9a7591e55262284 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/RpcDataPreparator.cxx +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/RpcDataPreparator.cxx @@ -49,6 +49,7 @@ TrigL2MuonSA::RpcDataPreparator::RpcDataPreparator(const std::string& type, { declareInterface<TrigL2MuonSA::RpcDataPreparator>(this); declareProperty("RpcPrepDataProvider", m_rpcPrepDataProvider); + declareProperty("EmulateNoRpcHit", m_emulateNoRpcHit=false); } // -------------------------------------------------------------------------------- @@ -170,6 +171,9 @@ StatusCode TrigL2MuonSA::RpcDataPreparator::prepareData(const TrigRoiDescriptor* // set to false the flag indicating whether the roi is a fake one. m_isFakeRoi = false; + if( m_emulateNoRpcHit ) + return StatusCode::SUCCESS; + // check the roi ID // decode roIWord diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/RpcRoadDefiner.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/RpcRoadDefiner.cxx index db8e8bafe3ce0ea48aa8570a2aff7c1bcace1b91..fd1a9279f36565c2fce072f514918218d3a5cf8e 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/RpcRoadDefiner.cxx +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/RpcRoadDefiner.cxx @@ -154,13 +154,24 @@ StatusCode TrigL2MuonSA::RpcRoadDefiner::defineRoad(const LVL1::RecMuonRoI* for (int i_station=0; i_station<6; i_station++) { for (int i_layer=0; i_layer<8; i_layer++) { - if (i_station==0) muonRoad.rWidth[i_station][i_layer] = 400;//for inner - else if (i_station==1) muonRoad.rWidth[i_station][i_layer] = 200;//for middle - else if (i_station==2) muonRoad.rWidth[i_station][i_layer] = 400;//for outer - else if (i_station==3) muonRoad.rWidth[i_station][i_layer] = 400;//EndcapInner - else if (i_station==4) muonRoad.rWidth[9][i_layer] = m_rWidth_RPC_Failed;//BME - else if (i_station==5) muonRoad.rWidth[10][i_layer] = m_rWidth_RPC_Failed;//BMG - else muonRoad.rWidth[i_station][i_layer] = m_rWidth_RPC_Failed; + if(!rpcFitResult.isSuccess) { + if (i_station==0) muonRoad.rWidth[i_station][i_layer] = 500;//for inner + else if (i_station==1) muonRoad.rWidth[i_station][i_layer] = 650;//for middle + else if (i_station==2) muonRoad.rWidth[i_station][i_layer] = 800;//for outer + else if (i_station==3) muonRoad.rWidth[i_station][i_layer] = 500;//EndcapInner + else if (i_station==4) muonRoad.rWidth[9][i_layer] = 650;//BME + else if (i_station==5) muonRoad.rWidth[10][i_layer] = 650;//BMG + else muonRoad.rWidth[i_station][i_layer] = m_rWidth_RPC_Failed; + } + else { + if (i_station==0) muonRoad.rWidth[i_station][i_layer] = 400;//for inner + else if (i_station==1) muonRoad.rWidth[i_station][i_layer] = 200;//for middle + else if (i_station==2) muonRoad.rWidth[i_station][i_layer] = 400;//for outer + else if (i_station==3) muonRoad.rWidth[i_station][i_layer] = 400;//EndcapInner + else if (i_station==4) muonRoad.rWidth[9][i_layer] = m_rWidth_RPC_Failed;//BME + else if (i_station==5) muonRoad.rWidth[10][i_layer] = m_rWidth_RPC_Failed;//BMG + else muonRoad.rWidth[i_station][i_layer] = m_rWidth_RPC_Failed; + } } }