20 updateBitMask( Run3 );
22 return StatusCode::SUCCESS;
30 data.set_sector( getBitMaskValue(&roiWord,BarrelSectorIDMask()) );
48 ATH_MSG_ERROR(
"Null pointer to the read RpcCablingCondData conditions object.");
49 return StatusCode::FAILURE;
53 EtaLowBorder_id, EtaHighBorder_id,
54 PhiLowBorder_id, PhiHighBorder_id, &
m_idHelperSvc->rpcIdHelper()))
60 ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object.");
61 return StatusCode::FAILURE;
67 EtaLowBorder_pos = EtaLowBorder_descriptor->
stripPos(EtaLowBorder_id);
71 EtaHighBorder_pos = EtaHighBorder_descriptor->
stripPos(EtaHighBorder_id);
75 PhiLowBorder_pos = PhiLowBorder_descriptor->
stripPos(PhiLowBorder_id);
79 PhiHighBorder_pos = PhiHighBorder_descriptor->
stripPos(PhiHighBorder_id);
81 data.set_etaMin( EtaLowBorder_pos.eta() );
82 data.set_etaMax( EtaHighBorder_pos.eta() );
85 data.set_phiMin( PhiLowBorder_pos.phi() );
86 data.set_phiMax( PhiHighBorder_pos.phi() );
92 return StatusCode::SUCCESS;
95 double & etaMin_LowHigh,
double & etaMax_LowHigh,
96 double & phiMin_LowHigh,
double & phiMax_LowHigh)
const
101 double etaMax_High=0;
105 phiMin_LowHigh=
data.phiMin();
106 phiMax_LowHigh=
data.phiMax();
112 etaMin_LowHigh=std::min(etaMin_Low,etaMin_High);
113 etaMax_LowHigh=std::max(etaMax_Low,etaMax_High);
115 etaMin_LowHigh =std::min(etaMin_Low,
data.etaMin());
116 etaMax_LowHigh =std::max(etaMax_Low,
data.etaMax());
118 etaMin_LowHigh =std::min(etaMin_High,
data.etaMin());
119 etaMax_LowHigh =std::max(etaMax_High,
data.etaMax());
121 etaMin_LowHigh =
data.etaMin();
122 etaMax_LowHigh =
data.etaMax();
124 return StatusCode::SUCCESS;
129 const unsigned int maxSubsystem = 2;
130 const unsigned int maxLogicSector = 32;
131 const unsigned int maxRoI = 32;
133 std::ofstream roi_map;
134 roi_map.open(filename.c_str(), std::ios::out );
138 roi_map <<
"# side sector roi etaMin etaMax phiMin phiMax etaMinLow etaMaxLow etaMinHigh etaMaxHigh "<< std::endl;
139 roi_map <<
"# ------------------------------------------------------------------------------------------------------------------------------ "<< std::endl;
140 for(
unsigned int side=0;side < maxSubsystem; side++){
141 for(
unsigned int sector=0;sector < maxLogicSector; sector++){
142 for (
unsigned int roi=0; roi<maxRoI; roi++){
143 unsigned long int roIWord = (
m_useRun3Config) ? (roi+(side<<21)+(sector<<22)) : ((roi<<2)+(side<<14)+(sector<<15));
146 double etaMinLow(0),etaMaxLow(0),etaMinHigh(0),etaMaxHigh(0);
149 roi_map << std::setw(8) << side <<
" "
150 << std::setw(8) << sector <<
" "
151 << std::setw(8) << roi <<
" "
152 << std::setw(12) <<
data.etaMin() <<
" "
153 << std::setw(12) <<
data.etaMax() <<
" "
154 << std::setw(12) <<
data.phiMin() <<
" "
155 << std::setw(12) <<
data.phiMax() <<
" "
156 << std::setw(8) << etaMinLow <<
" "
157 << std::setw(8) << etaMaxLow <<
" "
158 << std::setw(8) << etaMinHigh <<
" "
159 << std::setw(8) << etaMaxHigh << std::endl;
170 double& etaMin,
double& etaMax)
const
182 if (rpcCab==
nullptr){
183 ATH_MSG_ERROR(
"Null pointer to the read RpcCablingCondData conditions object.");
188 EtaLowBorder_id, EtaHighBorder_id,
189 PhiLowBorder_id, PhiHighBorder_id,
195 if(muonMgr==
nullptr){
196 ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object.");
203 if(EtaLowBorder_descriptor==
nullptr){
204 ATH_MSG_WARNING(
"Null pointer to the RpcReadoutElement object for EtaLowBorder.");
207 EtaLowBorder_pos = EtaLowBorder_descriptor->
stripPos(EtaLowBorder_id);
211 if(EtaHighBorder_descriptor==
nullptr){
212 ATH_MSG_WARNING(
"Null pointer to the RpcReadoutElement object for EtaHighBorder.");
215 EtaHighBorder_pos = EtaHighBorder_descriptor->
stripPos(EtaHighBorder_id);
217 etaMin=EtaLowBorder_pos.eta();
218 etaMax=EtaHighBorder_pos.eta();
228 double& etaMin,
double& etaMax)
const
240 if (rpcCab==
nullptr){
241 ATH_MSG_ERROR(
"Null pointer to the read RpcCablingCondData conditions object.");
246 EtaLowBorder_id, EtaHighBorder_id,
247 PhiLowBorder_id, PhiHighBorder_id,
252 if(muonMgr==
nullptr){
253 ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object.");
259 if(EtaLowBorder_descriptor==
nullptr){
260 ATH_MSG_WARNING(
"Null pointer to the RpcReadoutElement object for EtaLowBorder.");
263 EtaLowBorder_pos = EtaLowBorder_descriptor->
stripPos(EtaLowBorder_id);
267 if(EtaHighBorder_descriptor==
nullptr){
268 ATH_MSG_WARNING(
"Null pointer to the RpcReadoutElement object for EtaHighBorder.");
271 EtaHighBorder_pos = EtaHighBorder_descriptor->
stripPos(EtaHighBorder_id);
273 etaMin=EtaLowBorder_pos.eta();
274 etaMax=EtaHighBorder_pos.eta();
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
char data[hepevt_bytes_allocation_ATLAS]
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Amg::Vector3D stripPos(const Identifier &id) const
bool give_RoI_borders_id(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, Identifier &EtaLowBorder_id, Identifier &EtaHighBorder_id, Identifier &PhiLowBorder_id, Identifier &PhiHighBorder_id, const RpcIdHelper *rpcId) const
bool give_HighPt_borders_id(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, Identifier &EtaLowBorder_id, Identifier &EtaHighBorder_id, Identifier &PhiLowBorder_id, Identifier &PhiHighBorder_id, const RpcIdHelper *rpcId) const
bool give_LowPt_borders_id(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, Identifier &EtaLowBorder_id, Identifier &EtaHighBorder_id, Identifier &PhiLowBorder_id, Identifier &PhiHighBorder_id, const RpcIdHelper *rpcId) const
const_pointer_type cptr()
Eigen::Matrix< double, 3, 1 > Vector3D
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...