ATLAS Offline Software
TrigT1RPC.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "TrigT1RPC.h"
6 
8 #include "AtlasHepMC/GenEvent.h"
9 
11 
14 
17 
20 
21 #include <algorithm>
22 #include <cmath>
23 #include <stdexcept>
24 
27 
28 TrigT1RPC::TrigT1RPC(const std::string& name, ISvcLocator* pSvcLocator) :
29  AthReentrantAlgorithm(name, pSvcLocator) {
30 }
31 
32 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
33 
35  ATH_MSG_INFO("Initializing");
36  ATH_CHECK(m_idHelperSvc.retrieve());
43  if(m_nobxs>8){
44  //The RPC simulation uses many arrays that assume maximum 8 BCs are readout
45  //See TrigT1/TrigT1RPChardware/Matrix.h for example
46  ATH_MSG_ERROR("Readout of more than 8 BCs is not supported by the simulation");
47  return StatusCode::FAILURE;
48  }
49  return StatusCode::SUCCESS;
50 }
51 
52 
53 
54 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
55 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
56 
57 
58 StatusCode TrigT1RPC::execute(const EventContext& ctx) const {
59 
62 
63  RPCsimuData data; // instantiate the container for the RPC digits
64  BIS78_triggerSimulation bis78Sim; // BIS78 simulation helper
65  CHECK(fill_RPCdata(ctx, data, bis78Sim, readCdo.cptr(), muDetMgrHandle.cptr())); // fill the data with RPC simulated digts
66 
68  "RPC data loaded from G3:" << "\n"
70  << "RPC digits into station 1 ==> "
71  << data.how_many(-1,-1,1,-1,-1,-1) << "\n"
72  << "RPC digits into station 2 ==> "
73  << data.how_many(-1,-1,2,-1,-1,-1) << "\n"
74  << "RPC digits into station 3 ==> "
75  << data.how_many(-1,-1,3,-1,-1,-1)
76  );
77  // ******************** Start of Level-1 simulation section *****************
78  unsigned long int debug;
79 
82  CMAdata patterns(&data, readCdo.cptr(), debug); //
83  //
84  ATH_MSG_DEBUG ( "CMApatterns created from RPC digits:" << "\n" //
87 
88 
91  PADdata pads(&patterns,debug); //
92  //
93  ATH_MSG_DEBUG ( "PADs created from CMA patterns:" << "\n"
94  << ShowData<PADdata>(pads,"",m_data_detail) );
96 
97 
100  SLdata sectors(&pads,debug); //
101  //
102  ATH_MSG_DEBUG("Sector Logics created from PAD patterns:" //
103  << "\n" //
104  << ShowData<SLdata>(sectors,"",m_data_detail) ); //
106 
108  LVL1MUONIF::Lvl1MuCTPIInput * ctpiInRPC = nullptr;
109  LVL1MUONIF::Lvl1MuCTPIInputPhase1 * ctpiPhase1InRPC = nullptr;
110  if(m_useRun3Config){
112  ATH_CHECK(wh_muctpiRpc.record(std::make_unique<LVL1MUONIF::Lvl1MuCTPIInputPhase1>()));
113  ctpiPhase1InRPC = wh_muctpiRpc.ptr();
114  }else{
116  ATH_CHECK(wh_muctpiRpc.record(std::make_unique<LVL1MUONIF::Lvl1MuCTPIInput>()));
117  ctpiInRPC = wh_muctpiRpc.ptr();
118  }
119 
120  //
121  SLdata::PatternsList sectors_patterns = sectors.give_patterns(); //
122  SLdata::PatternsList::iterator SLit = sectors_patterns.begin(); //
123  //
124  while(SLit != sectors_patterns.end()) //
125  { //
126  SectorLogic* logic = (*SLit)->give_SectorL(readCdo.cptr(), m_nobxs, m_bczero);
127  int sector = (*SLit)->sector(); //
128  int subsystem = (sector > 31)? 1 : 0; //
129  int logic_sector = sector%32;//
130 
131  for (int dbc=m_firstBC_to_MUCTPI; dbc<=m_lastBC_to_MUCTPI; dbc++){
132 
133  unsigned int data_word = 0;
134  try {
135  data_word = logic->outputToMuCTPI(dbc);
136  }
137  catch (const std::out_of_range& ex) {
138  ATH_MSG_WARNING(ex.what());
139  }
140  ATH_MSG_DEBUG( //
141  "Input to MuCTPI: side=" << subsystem //
142  << ", SL= " << logic_sector //
143  << ", BC= " << dbc
144  << ", RoI=" << TriggerRPC::ROI1(data_word) //
145  << ", Th=" << TriggerRPC::PT1(data_word) //
146  << ", data word " << MSG::hex << data_word //
147  << MSG::dec ); //
148  if(m_useRun3Config){
150  sldata.convertFromWordFormat(data_word);
152  sldata2.bcid( sldata.bcid() );
153  if(sldata.is2candidatesInSector()) sldata2.set2candidatesInSector();
154  else sldata2.clear2candidatesInSector();
155  for(int icand = 0 ; icand < 2 ; icand++){ // up to 2 candidates
156  sldata2.pt(icand, sldata.pt(icand) );
157  sldata2.roi(icand, sldata.roi(icand) );
158  sldata2.ovl(icand, sldata.ovl(icand) );
159  sldata2.charge(icand, sldata.charge(icand) );
160  if(sldata.is2candidates(icand)) sldata2.set2candidates(icand);
161  else sldata2.clear2candidates(icand);
162  }
163  ctpiPhase1InRPC->setSectorLogicData(sldata2,0,subsystem,logic_sector,dbc);
164  }else{
165  ctpiInRPC->setSectorLogicData(data_word,0,subsystem,logic_sector,dbc);
166  }
167  }
168  //
169  ++SLit; //
170  }
171 
172  //
173  //
174 
175  ATH_MSG_DEBUG ("put RPC Lvl1MuCTPIInput into SG" ); //
176 
178 
179 
180 
181  // ******************* Start of Level-1 computation section *****************
182 
183 
184  // ******************* Start Byte Stream production *************************
185 
187  {
188  RPCbytestream bytestream (patterns,
189  (std::string) m_bytestream_file,
190  msg(),
191  (unsigned long int) m_cma_ro_debug,
192  (unsigned long int) m_pad_ro_debug,
193  (unsigned long int) m_rx_ro_debug,
194  (unsigned long int) m_sl_ro_debug,
195  (unsigned long int) m_cma_rostruct_debug,
196  (unsigned long int) m_pad_rostruct_debug,
197  (unsigned long int) m_rx_rostruct_debug,
198  (unsigned long int) m_sl_rostruct_debug,
199  m_nobxs, m_bczero);
200 
201 
202  // Example on how to access the byte stream data.
203  // Only the bare structure is dump. To access a specific data member, use
204  // the interface methods of MatrixReadOut and PadReadOut classes.
205 
206  ATH_MSG_DEBUG("Start retrieving data from the RPC bytestream class");
207 
208  RPCbytestream::PAD_Readout PADmap = bytestream.pad_readout();
209  RPCbytestream::PAD_Readout::iterator it = PADmap.begin();
210  while (it != PADmap.end())
211  {
212  // load the PAD data into a ostrstream object
213  std::ostringstream PADdata;
214 
215  (*it).second.give_pad_readout()->bytestream(PADdata);
216 
217  //access to PadReadOut class and print the informations inside
218  ATH_MSG_DEBUG ("Start dumping the PAD " << (*it).second.PAD()
219  << " bytestream structure" << "\n"
220  << PADdata.str());
221 
222  //access to MatrixReadOut classes given in input to that PAD
223  for (int i=0;i<8;++i)
224  {
225  ATH_MSG_DEBUG( "Start dumping the Matrix " << i
226  << " into the PAD n. " << (*it).second.PAD());
227 
228  MatrixReadOut* matrix_read_out=(*it).second.matrices_readout(i);
229 
230  if(matrix_read_out)
231  { // load the Matrix data into a ostrstream object
232  std::ostringstream CMAdata;
233  CMAdata << *matrix_read_out;
234 
235  ATH_MSG_DEBUG (CMAdata.str());
236  }
237  else
238  {
239  ATH_MSG_DEBUG( "Matrix Read Out not loaded");
240  }
241  }
242 
243  ++it;
244  }
245  }
246 
247  // ******************* Start of BIS78 section *****************
248 
249  // Now BIS78 Trigger
250  const uint8_t dstrip_phi=1; // Delta phi for BIS78 coincidence
251  const uint8_t dstrip_eta=1; // Delta eta for BIS78 coincidence
252  const uint16_t bcid=0;
253 
255  ATH_CHECK(wh_bis78RpcTrigData.record(std::make_unique<Muon::RpcBis78_TrigRawDataContainer>()));
256 
257  bis78Sim.build_trigRawData(wh_bis78RpcTrigData.ptr(), dstrip_phi, dstrip_eta, bcid);
258 
259  return StatusCode::SUCCESS;
260 }
261 
262 StatusCode TrigT1RPC::fill_RPCdata(const EventContext& ctx, RPCsimuData &data, BIS78_triggerSimulation& bis78Sim, const RpcCablingCondData *readCdo, const MuonGM::MuonDetectorManager *muDetMgr) const
263 {
264  ATH_MSG_DEBUG("in execute(): fill RPC data");
265 
267  if (!rh_rpcDigits.isValid())
268  {
269  ATH_MSG_WARNING("No RPC digits container found");
270  return StatusCode::SUCCESS;
271  }
272 
273  int bisStationIndex = m_idHelperSvc->rpcIdHelper().stationNameIndex("BIS");
274 
275  for (const RpcDigitCollection *rpcCollection : *rh_rpcDigits)
276  {
277 
278  Identifier moduleId = rpcCollection->identify();
279 
280  if (!m_idHelperSvc->isRpc(moduleId))
281  {
282  continue;
283  }
284 
285  for (const RpcDigit *rpcDigit : *rpcCollection) {
286 
287  Identifier channelId = rpcDigit->identify();
288  const int stationType = m_idHelperSvc->rpcIdHelper().stationName(channelId);
289  std::string StationName = m_idHelperSvc->rpcIdHelper().stationNameString(stationType);
290  int StationEta = m_idHelperSvc->rpcIdHelper().stationEta(channelId);
291  int StationPhi = m_idHelperSvc->rpcIdHelper().stationPhi(channelId);
292  int DoubletR = m_idHelperSvc->rpcIdHelper().doubletR(channelId);
293  int DoubletZ = m_idHelperSvc->rpcIdHelper().doubletZ(channelId);
294  int DoubletP = m_idHelperSvc->rpcIdHelper().doubletPhi(channelId);
295  int GasGap = m_idHelperSvc->rpcIdHelper().gasGap(channelId);
296  int MeasuresPhi = m_idHelperSvc->rpcIdHelper().measuresPhi(channelId);
297  int Strip = m_idHelperSvc->rpcIdHelper().strip(channelId);
298 
299  const MuonGM::RpcReadoutElement *descriptor =
300  muDetMgr->getRpcReadoutElement(channelId);
301 
302  // Get the global position of RPC strip from MuonDetDesc
303  Amg::Vector3D pos = descriptor->stripPos(channelId);
304 
305  // Get the Level-1 numbering schema for the RPC strips
306  unsigned long int strip_code_cab = readCdo->strip_code_fromOffId(StationName, StationEta, StationPhi,
307  DoubletR, DoubletZ, DoubletP, GasGap, MeasuresPhi, Strip);
308 
309  if (strip_code_cab)
310  {
311  // Fill data for the Level-1 RPC digit
312  float xyz[4];
313  xyz[1] = pos.x() / 10.; // coo[0]; //RPC strip x coordinate
314  xyz[2] = pos.y() / 10.; // coo[1]; //RPC strip y coordinate
315  xyz[3] = pos.z() / 10.; // coo[2]; //RPC strip z coordinate
316  xyz[0] = rpcDigit->time(); // time of digits
317 
318  int param[3] = {0, 0, 0};
319 
320  RPCsimuDigit digit(0, strip_code_cab, param, xyz);
321 
322  data << digit;
323 
324  ATH_MSG_DEBUG("Muon Identifiers from GM:" << "\n"
325  << " StationName = " << StationName << "\n"
326  << " StationEta = " << StationEta << "\n"
327  << " StationPhi = " << StationPhi << "\n"
328  << " DoubletR = " << DoubletR << "\n"
329  << " DoubletZ = " << DoubletZ << "\n"
330  << " DoubletP = " << DoubletP << "\n"
331  << " GasGap = " << GasGap << "\n"
332  << " MeasuresPhi = " << MeasuresPhi << "\n"
333  << " Strip = " << Strip);
334 
335  ATH_MSG_DEBUG("RPC Digit from GM:" << "\n"
336  << " " << std::hex << channelId << std::dec << "\n"
337  << " GlobalPosition (cm) = "
338  << setiosflags(std::ios::fixed) << std::setprecision(3)
339  << std::setw(11) << pos.x()
340  << setiosflags(std::ios::fixed) << std::setprecision(3)
341  << std::setw(11) << pos.y()
342  << setiosflags(std::ios::fixed) << std::setprecision(3)
343  << std::setw(11) << pos.z());
344  }
345 
346  // This section fills the BIS strip data
347  if (stationType == bisStationIndex) {
348  ATH_MSG_DEBUG("Filling BIS strip data: StationName=" << StationName << " StationEta=" << StationEta
349  << " StationPhi=" << StationPhi << " MeasuresPhi=" << MeasuresPhi
350  << " Strip=" << Strip << " GasGap=" << GasGap
351  << " Time=" << rpcDigit->time());
352 
353  bis78Sim.AddStrip(StationEta, StationPhi, GasGap, MeasuresPhi, Strip);
354  }
355  }
356  }
357 
358  return StatusCode::SUCCESS;
359 }
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
MuonGM::MuonDetectorManager::getRpcReadoutElement
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:181
LVL1MUONIF::Lvl1MuCTPIInputPhase1::setSectorLogicData
void setSectorLogicData(const Lvl1MuSectorLogicDataPhase1 &data, size_t systemAddress, size_t subSystemAddress, size_t sectorAddress, int bcid=0)
Definition: Lvl1MuCTPIInputPhase1.cxx:69
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
GenEvent.h
LVL1MUONIF::Lvl1MuCTPIInput::setSectorLogicData
void setSectorLogicData(const Lvl1MuSectorLogicData &data, size_t systemAddress, size_t subSystemAddress, size_t sectorAddress, int bcid=0)
Definition: Lvl1MuCTPIInput.cxx:58
TrigT1RPC::m_cma_debug
IntegerProperty m_cma_debug
Definition: TrigT1RPC.h:46
TrigT1RPC::m_fast_debug
IntegerProperty m_fast_debug
Definition: TrigT1RPC.h:44
TrigT1RPC::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TrigT1RPC.cxx:58
ShowData
Definition: ShowData.h:9
TriggerRPC::ROI1
unsigned short int ROI1(unsigned long int slword)
Definition: decodeSL.cxx:34
LVL1MUONIF::Lvl1MuSectorLogicData::pt
int pt(size_t id) const
Definition: Lvl1MuSectorLogicData.h:50
SG::ReadCondHandle
Definition: ReadCondHandle.h:40
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
TrigT1RPC::m_readKey
SG::ReadCondHandleKey< RpcCablingCondData > m_readKey
Definition: TrigT1RPC.h:80
RpcDigit
Definition: RpcDigit.h:16
LVL1MUONIF::Lvl1MuCTPIInput
Class representing (part of) the input data to the MuCTPI.
Definition: Lvl1MuCTPIInput.h:37
SLdata::PatternsList
std::list< SLpatterns * > PatternsList
Definition: SLdata.h:19
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
patterns
std::vector< std::string > patterns
Definition: listroot.cxx:187
LVL1MUONIF::Lvl1MuSectorLogicData::bcid
int bcid() const
Definition: Lvl1MuSectorLogicData.h:47
RpcDigitCollection
Definition: RpcDigitCollection.h:17
LVL1MUONIF::Lvl1MuCTPIInputPhase1
Class representing (part of) the input data to the MuCTPI for Phase 1.
Definition: Lvl1MuCTPIInputPhase1.h:34
skel.it
it
Definition: skel.GENtoEVGEN.py:407
SLdata
Definition: SLdata.h:16
TrigT1RPC::m_rx_ro_debug
IntegerProperty m_rx_ro_debug
Definition: TrigT1RPC.h:52
xyz
#define xyz
MuonGM::RpcReadoutElement
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h:55
TrigT1RPC::m_muctpiPhase1Key
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > m_muctpiPhase1Key
Definition: TrigT1RPC.h:84
TrigT1RPC::TrigT1RPC
TrigT1RPC(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigT1RPC.cxx:28
TrigT1RPC::m_nobxs
Gaudi::Property< int > m_nobxs
Definition: TrigT1RPC.h:87
checkRpcDigits.digit
digit
Definition: checkRpcDigits.py:186
TrigT1RPC::m_sl_rostruct_debug
IntegerProperty m_sl_rostruct_debug
Definition: TrigT1RPC.h:58
TrigT1RPC::fill_RPCdata
StatusCode fill_RPCdata(const EventContext &ctx, RPCsimuData &, BIS78_triggerSimulation &, const RpcCablingCondData *readCdo, const MuonGM::MuonDetectorManager *muDetMgr) const
Definition: TrigT1RPC.cxx:262
ShowData.h
SectorLogic
Definition: SectorLogic.h:96
CMAdata
Definition: CMAdata.h:19
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::ovl
int ovl(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:51
RpcCablingCondData
Definition: RpcCablingCondData.h:23
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
TrigT1RPC::m_pad_rostruct_debug
IntegerProperty m_pad_rostruct_debug
Definition: TrigT1RPC.h:56
Lvl1MuCTPIInputPhase1.h
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::set2candidatesInSector
void set2candidatesInSector()
Definition: Lvl1MuSectorLogicDataPhase1.h:60
LVL1MUONIF::Lvl1MuBarrelSectorLogicData::convertFromWordFormat
const Lvl1MuSectorLogicData & convertFromWordFormat(const SectorLogicWord &)
Convert SectorLogicData from 32 bit word data.
Definition: Lvl1MuBarrelSectorLogicData.cxx:98
MatrixReadOut
Definition: MatrixReadOut.h:18
TrigT1RPC::m_data_detail
BooleanProperty m_data_detail
Definition: TrigT1RPC.h:66
TrigT1RPC::m_bczero
Gaudi::Property< int > m_bczero
Definition: TrigT1RPC.h:88
TrigT1RPC::m_lastBC_to_MUCTPI
IntegerProperty m_lastBC_to_MUCTPI
Definition: TrigT1RPC.h:70
RPCbytestream::pad_readout
const PAD_Readout & pad_readout(void) const
Definition: RPCbytestream.h:64
TriggerRPC::PT1
unsigned short int PT1(unsigned long int slword)
Definition: decodeSL.cxx:70
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
McEventCollection.h
LVL1MUONIF::Lvl1MuSectorLogicData::ovl
int ovl(size_t id) const
Definition: Lvl1MuSectorLogicData.h:49
lumiFormat.i
int i
Definition: lumiFormat.py:85
TrigT1RPC::m_bytestream_file
StringProperty m_bytestream_file
Definition: TrigT1RPC.h:64
TrigT1RPC.h
decodeSL.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SG::WriteHandle::ptr
pointer_type ptr()
Dereference the pointer.
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TrigT1RPC::m_sl_ro_debug
IntegerProperty m_sl_ro_debug
Definition: TrigT1RPC.h:53
PADdata
Definition: PADdata.h:16
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::clear2candidates
void clear2candidates(size_t id)
Definition: Lvl1MuSectorLogicDataPhase1.h:69
LVL1MUONIF::Lvl1MuBarrelSectorLogicData
Class representing data from a barrel SL board.
Definition: Lvl1MuBarrelSectorLogicData.h:27
LVL1MUONIF::Lvl1MuBarrelSectorLogicDataPhase1
Class representing data from a barrel SL board.
Definition: Lvl1MuBarrelSectorLogicDataPhase1.h:26
LVL1MUONIF::Lvl1MuSectorLogicData::roi
int roi(size_t id) const
Definition: Lvl1MuSectorLogicData.h:48
TrigT1RPC::m_cma_ro_debug
IntegerProperty m_cma_ro_debug
Definition: TrigT1RPC.h:50
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::charge
int charge(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:53
TrigT1RPC::m_bytestream_production
BooleanProperty m_bytestream_production
Definition: TrigT1RPC.h:63
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
TrigT1RPC::initialize
virtual StatusCode initialize() override
Definition: TrigT1RPC.cxx:34
BIS78_triggerSimulation::AddStrip
unsigned int AddStrip(int sectoreta, int sectorphi, int igap, int mphi, int strip)
Definition: BIS78_triggerSimulation.cxx:15
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:121
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
TrigT1RPC::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition: TrigT1RPC.h:77
TrigT1RPC::m_muctpiKey
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInput > m_muctpiKey
Definition: TrigT1RPC.h:83
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::set2candidates
void set2candidates(size_t id)
Definition: Lvl1MuSectorLogicDataPhase1.h:68
TrigT1RPC::m_cma_rostruct_debug
IntegerProperty m_cma_rostruct_debug
Definition: TrigT1RPC.h:55
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
MuonGM::RpcReadoutElement::stripPos
Amg::Vector3D stripPos(const Identifier &id) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx:177
RPCbytestream
Definition: RPCbytestream.h:20
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
TrigT1RPC::m_rx_rostruct_debug
IntegerProperty m_rx_rostruct_debug
Definition: TrigT1RPC.h:57
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:16
RpcCablingCondData::strip_code_fromOffId
unsigned long int strip_code_fromOffId(const std::string &stationName, int stationEta, int stationPhi, int doubletR, int doubletZ, int doubletPhi, int gasGap, int measuresPhi, int strip) const
Definition: RpcCablingCondData.cxx:186
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
SLdata::give_patterns
PatternsList give_patterns(void)
Definition: SLdata.cxx:78
LVL1MUONIF::Lvl1MuSectorLogicData::charge
int charge(size_t id) const
Definition: Lvl1MuSectorLogicData.h:51
TrigT1RPC::m_pad_debug
IntegerProperty m_pad_debug
Definition: TrigT1RPC.h:47
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::pt
int pt(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:52
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:51
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LVL1MUONIF::Lvl1MuSectorLogicData::is2candidates
bool is2candidates(size_t id) const
Definition: Lvl1MuSectorLogicData.h:52
AthCommonMsg< Gaudi::Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::roi
int roi(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:50
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::bcid
int bcid() const
Definition: Lvl1MuSectorLogicDataPhase1.h:48
TrigT1RPC::m_pad_ro_debug
IntegerProperty m_pad_ro_debug
Definition: TrigT1RPC.h:51
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::clear2candidatesInSector
void clear2candidatesInSector()
Definition: Lvl1MuSectorLogicDataPhase1.h:61
TrigT1RPC::m_bis78TrigKey
SG::WriteHandleKey< Muon::RpcBis78_TrigRawDataContainer > m_bis78TrigKey
Definition: TrigT1RPC.h:85
TrigT1RPC::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: TrigT1RPC.h:78
LVL1MUONIF::Lvl1MuSectorLogicData::is2candidatesInSector
bool is2candidatesInSector() const
Definition: Lvl1MuSectorLogicData.h:46
RPCsimuData
Definition: RPCsimuData.h:19
RPCsimuDigit
Definition: RPCsimuDigit.h:16
TrigT1RPC::m_rpcDigitKey
SG::ReadHandleKey< RpcDigitContainer > m_rpcDigitKey
Definition: TrigT1RPC.h:82
RPCbytestream::PAD_Readout
std::map< int, PADreadout, std::less< int > > PAD_Readout
Definition: RPCbytestream.h:24
TrigT1RPC::m_firstBC_to_MUCTPI
IntegerProperty m_firstBC_to_MUCTPI
Definition: TrigT1RPC.h:69
L1TopoSimulationConfig.subsystem
subsystem
Definition: L1TopoSimulationConfig.py:297
MatrixReadOut.h
TrigT1RPC::m_hardware_emulation
BooleanProperty m_hardware_emulation
Definition: TrigT1RPC.h:62
SectorLogic::outputToMuCTPI
CMAword outputToMuCTPI(int deltaBC=0)
Definition: SectorLogic.cxx:194
SectorLogic.h
BIS78_triggerSimulation::build_trigRawData
void build_trigRawData(Muon::RpcBis78_TrigRawDataContainer *trgContainer, uint8_t dstrip_phi, uint8_t dstrip_eta, uint16_t bcid) const
Definition: BIS78_triggerSimulation.cxx:29
Lvl1MuCTPIInput.h
TrigT1RPC::m_sl_debug
IntegerProperty m_sl_debug
Definition: TrigT1RPC.h:48
TrigT1RPC::m_useRun3Config
BooleanProperty m_useRun3Config
Definition: TrigT1RPC.h:72
RpcReadoutElement.h
BIS78_triggerSimulation
Definition: BIS78_triggerSimulation.h:22
Identifier
Definition: IdentifierFieldParser.cxx:14