Skip to content
Snippets Groups Projects
Commit 8d8404e5 authored by Nicolas Köhler's avatar Nicolas Köhler
Browse files

manual sweep of 41794

parent 76c426e4
No related branches found
No related tags found
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!41865Manual sweep of !41794 (Protect phase2 RPC digi against crash)
/* // -*- C++ -*- */
/* /*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/ */
#ifndef CablingRPC_H #ifndef CablingRPC_H
...@@ -92,7 +90,7 @@ class CablingRPC : public CablingRPCBase ...@@ -92,7 +90,7 @@ class CablingRPC : public CablingRPCBase
const static std::map<std::string, std::string>* s_trigroads; const static std::map<std::string, std::string>* s_trigroads;
static bool s_RPCMapfromCool; static bool s_RPCMapfromCool;
unsigned int m_absZindexInThelayerOfThisChamber[9][2][9][8][2][4]; unsigned int m_absZindexInThelayerOfThisChamber[12][2][9][8][2][4];
static void delete_instance(void); static void delete_instance(void);
......
/* /*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/ */
#include "MuonRPC_Cabling/CablingRPC.h" #include "MuonRPC_Cabling/CablingRPC.h"
#include <math.h> #include <cmath>
#include <TString.h> // for Form
namespace {
// const map between RPC stationName and integer for cabling code
const static std::map<std::string, int> rpcStats = {
std::make_pair<std::string, int>("BML", 0),
std::make_pair<std::string, int>("BMS", 1),
std::make_pair<std::string, int>("BOL", 2),
std::make_pair<std::string, int>("BOS", 3),
std::make_pair<std::string, int>("BMF", 4),
std::make_pair<std::string, int>("BOF", 5),
std::make_pair<std::string, int>("BOG", 6),
std::make_pair<std::string, int>("BME", 7),
std::make_pair<std::string, int>("BIS", 8),
std::make_pair<std::string, int>("BIL", 9),
std::make_pair<std::string, int>("BIM", 10),
std::make_pair<std::string, int>("BIR", 11)
};
}
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
//////////////////////////////// CABLING SETUP //////////////////////////////// //////////////////////////////// CABLING SETUP ////////////////////////////////
...@@ -41,7 +60,7 @@ CablingRPC::CablingRPC() : CablingRPCBase(), m_Version(""),m_MaxType(0) ...@@ -41,7 +60,7 @@ CablingRPC::CablingRPC() : CablingRPCBase(), m_Version(""),m_MaxType(0)
initMapsFromASCII(); initMapsFromASCII();
} }
for (int i1=0; i1<8; ++i1) for (int i1=0; i1<(int)rpcStats.size(); ++i1)
for (int i2=0; i2<2; ++i2) for (int i2=0; i2<2; ++i2)
for (int i3=0; i3<9; ++i3) for (int i3=0; i3<9; ++i3)
for (int i4=0; i4<8; ++i4) for (int i4=0; i4<8; ++i4)
...@@ -1813,28 +1832,14 @@ unsigned int CablingRPC::computeZIndexInCablingStation(std::string stationName, ...@@ -1813,28 +1832,14 @@ unsigned int CablingRPC::computeZIndexInCablingStation(std::string stationName,
int iStat=0; int iStat=0;
int astEta = std::abs(stationEta); int astEta = std::abs(stationEta);
// bool nBOE = true;
// if (stationName=="BOL" && astEta==8 ) nBOE=false;
if (stationName=="BML") iStat=0; // BML std::map<std::string,int>::const_iterator stItr = rpcStats.find(stationName);
else if (stationName=="BMS") iStat=1; // BMS if (stItr != rpcStats.end()) iStat = stItr->second;
else if (stationName=="BOL") iStat=2; // BOL else throw std::runtime_error(Form("File: %s, Line: %d\nCablingRPC::computeZIndexInCablingStation() - StationName %s not found", __FILE__, __LINE__, stationName.c_str()));
else if (stationName=="BOS") iStat=3; // BOS
else if (stationName=="BMF") iStat=4; // BMF
else if (stationName=="BOF") iStat=5; // BOF
else if (stationName=="BOG") iStat=6; // BOG
else if (stationName=="BME") iStat=7; // BME
else if (stationName=="BIS") iStat=8; // BIS
else
{
std::cout<<"ERROR - no iStat set; StationName ="<<stationName<<std::endl;
return 9999;
}
int side = 0; int side = 0;
if (stationEta>0) side=1; if (stationEta>0) side=1;
// already computed // already computed
if (m_absZindexInThelayerOfThisChamber[iStat][side][astEta][stationPhi-1][doubletR-1][doubletZ-1] < 999) if (m_absZindexInThelayerOfThisChamber[iStat][side][astEta][stationPhi-1][doubletR-1][doubletZ-1] < 999)
{ {
......
/* /*
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/ */
#ifndef MUONCONDTOOL_RPCTRIGGERDBTOOL_H #ifndef MUONCONDTOOL_RPCTRIGGERDBTOOL_H
...@@ -12,12 +12,10 @@ ...@@ -12,12 +12,10 @@
#include "AthenaBaseComps/AthAlgTool.h" #include "AthenaBaseComps/AthAlgTool.h"
class Identifier; class Identifier;
class RpcIdHelper; class RpcIdHelper;
class IIOVSvc; class IIOVSvc;
class StatusCode; class StatusCode;
class RPCTriggerDbTool: public AthAlgTool, public IRPCTriggerDbTool class RPCTriggerDbTool: public AthAlgTool, public IRPCTriggerDbTool
{ {
......
...@@ -733,13 +733,16 @@ StatusCode RpcDigitizationTool::doDigitization(const EventContext& ctx, RpcDigit ...@@ -733,13 +733,16 @@ StatusCode RpcDigitizationTool::doDigitization(const EventContext& ctx, RpcDigit
} }
} }
if(!m_idHelper->valid(newId)){
if (stationName.find("BI")!=std::string::npos) {
if(!m_idHelper->valid(newId)){ ATH_MSG_WARNING("Temporary skipping creation of RPC digit for stationName="<<stationName<<", eta="<<stationEta<<", phi="<<stationPhi<<", doubletR="<<doubletR<<", doubletZ="<<doubletZ<<", doubletPhi="<<doubletPhi<<", gasGap="<<gasGap<<", measuresPhi="<<imeasphi<<", strip="<<clus<<", cf. ATLASRECTS-6124");
ATH_MSG_ERROR ( "Created an invalid id, aborting!" ); return StatusCode::SUCCESS;
m_idHelper->print(newId); } else {
return StatusCode::FAILURE; ATH_MSG_ERROR( "Created an invalid id, aborting!");
} m_idHelper->print(newId);
return StatusCode::FAILURE;
}
}
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
/////////////// TEMP, waiting for Reco to learn using clusters... /////////////// TEMP, waiting for Reco to learn using clusters...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment