ATLAS Offline Software
TrigT1RPC.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef RPCMuonTrigger_H
6 #define RPCMuonTrigger_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/INTupleSvc.h"
11 #include "GaudiKernel/NTuple.h"
12 
13 #include "StoreGate/DataHandle.h"
15 
19 
21 #include "TrigT1RPClogic/CMAdata.h"
22 #include "TrigT1RPClogic/PADdata.h"
23 #include "TrigT1RPClogic/SLdata.h"
25 
30 
32 
34 
35 class TrigT1RPC : public AthAlgorithm {
36 
37 public:
38 
39  TrigT1RPC (const std::string& name, ISvcLocator* pSvcLocator);
42 
43 private:
44  IntegerProperty m_fast_debug{this,"FastDebug",0}; // bits for debugging "fast" algos
45 
46  IntegerProperty m_cma_debug{this,"CMAdebug",0}; // bits for debugging CMA simulation
47  IntegerProperty m_pad_debug{this,"PADdebug",0}; // bits for debugging PAD simulation
48  IntegerProperty m_sl_debug{this,"SLdebug",0}; // bits for debugging SL simulation
49 
50  IntegerProperty m_cma_ro_debug{this,"CMArodebug",0}; // bits for debugging CMA readout
51  IntegerProperty m_pad_ro_debug{this,"PADrodebug",0}; // bits for debugging PAD readout
52  IntegerProperty m_rx_ro_debug{this,"RXrodebug",0}; // bits for debugging Rx readout
53  IntegerProperty m_sl_ro_debug{this,"SLrodebug",0}; // bits for debugging SL readout
54 
55  IntegerProperty m_cma_rostruct_debug{this,"CMArostructdebug",0}; // bits for debugging CMA ro struct
56  IntegerProperty m_pad_rostruct_debug{this,"PADrostructdebug",0}; // bits for debugging PAD ro struct
57  IntegerProperty m_rx_rostruct_debug{this,"RXrostructdebug",0}; // bits for debugging Rx ro struct
58  IntegerProperty m_sl_rostruct_debug{this,"SLrostructdebug",0}; // bits for debugging SL ro struct
59 
60  BooleanProperty m_geometric_algo{this,"Geometric",false}; // flag to activate fast simu
61  BooleanProperty m_logic_emulation{this,"Logic",false}; // flag to activate logic emulation
62  BooleanProperty m_hardware_emulation{this,"Hardware",true}; // flag to activate hardware emula.
63  BooleanProperty m_bytestream_production{this,"RPCbytestream",false}; // flag to produce RPC byte stream
64  StringProperty m_bytestream_file{this,"RPCbytestreamFile",""}; // name for the bytestream file
65 
66  BooleanProperty m_data_detail{this,"DataDetail",false}; // flag to printout detailed INFO on
67  // processed data
68 
69  IntegerProperty m_firstBC_to_MUCTPI{this,"firstBC_to_MUCTPI",-1}; // First BC to be sent to muctpi, wrt to BC0, e.g. -1 meanst the BC before the trigger Bc
70  IntegerProperty m_lastBC_to_MUCTPI{this,"lastBC_to_MUCTPI",1}; // First BC to be sent to muctpi, wrt to BC0, e.g. -1 meanst the BC before the trigger Bc
71 
72  BooleanProperty m_useRun3Config{this,"useRun3Config",false}; // flag for using switch between Run3 and Run2 configurations
73 
75 
77 
78  private:
79  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_muDetMgrKey {this, "DetectorManagerKey", "MuonDetectorManager", "Key of input MuonDetectorManager condition data"};
80  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
81 
82  SG::ReadCondHandleKey<RpcCablingCondData> m_readKey{this, "ReadKey", "RpcCablingCondData", "Key of RpcCablingCondData"};
83 
84  SG::ReadHandleKey<RpcDigitContainer> m_rpcDigitKey{this, "RPCDigitContainer", "RPC_DIGITS", "RPC Digit Input Container"};
85  SG::WriteHandleKey<LVL1MUONIF::Lvl1MuCTPIInput> m_muctpiKey{this, "MuctpiLocationRPC", "L1MuctpiStoreRPC", "Location of muctpi for Rpc"};
86  SG::WriteHandleKey<LVL1MUONIF::Lvl1MuCTPIInputPhase1> m_muctpiPhase1Key{this, "MuctpiPhase1LocationRPC", "L1MuctpiStoreRPC", "Location of muctpiPhase1 for Rpc"};
87  SG::WriteHandleKey<Muon::RpcBis78_TrigRawDataContainer> m_bis78TrigKey{this, "BIS78TrigContainerLocation", "BIS78TrigContainer", "Location of BIS78 Rpc"};
88 
89  Gaudi::Property<int> m_nobxs { this, "NOBXS", 8, "Number of bunch crossings in readout"};
90  Gaudi::Property<int> m_bczero { this, "BCZERO", 3, "Nominal bunch crossing"};
91 
92 };
93 
94 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TrigT1RPC::fill_RPCdata
StatusCode fill_RPCdata(RPCsimuData &, const RpcCablingCondData *readCdo, const MuonGM::MuonDetectorManager *muDetMgr)
Definition: TrigT1RPC.cxx:271
TrigT1RPC::m_cma_debug
IntegerProperty m_cma_debug
Definition: TrigT1RPC.h:46
TrigT1RPC::m_fast_debug
IntegerProperty m_fast_debug
Definition: TrigT1RPC.h:44
BIS78_triggerSimulation.h
RPCsimuData.h
TrigT1RPC::m_readKey
SG::ReadCondHandleKey< RpcCablingCondData > m_readKey
Definition: TrigT1RPC.h:82
RpcDigitContainer.h
TrigT1RPC::execute
StatusCode execute()
Definition: TrigT1RPC.cxx:58
TrigT1RPC::m_rx_ro_debug
IntegerProperty m_rx_ro_debug
Definition: TrigT1RPC.h:52
TrigT1RPC::m_muctpiPhase1Key
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > m_muctpiPhase1Key
Definition: TrigT1RPC.h:86
TrigT1RPC::TrigT1RPC
TrigT1RPC(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigT1RPC.cxx:28
TrigT1RPC::m_nobxs
Gaudi::Property< int > m_nobxs
Definition: TrigT1RPC.h:89
SG::ReadHandleKey< RpcDigitContainer >
TrigT1RPC::m_sl_rostruct_debug
IntegerProperty m_sl_rostruct_debug
Definition: TrigT1RPC.h:58
DataHandle.h
RpcCablingCondData
Definition: RpcCablingCondData.h:21
TrigT1RPC::m_pad_rostruct_debug
IntegerProperty m_pad_rostruct_debug
Definition: TrigT1RPC.h:56
AthAlgorithm.h
Lvl1MuCTPIInputPhase1.h
CMAdata.h
TrigT1RPC::m_data_detail
BooleanProperty m_data_detail
Definition: TrigT1RPC.h:66
TrigT1RPC::m_bczero
Gaudi::Property< int > m_bczero
Definition: TrigT1RPC.h:90
TrigT1RPC::m_lastBC_to_MUCTPI
IntegerProperty m_lastBC_to_MUCTPI
Definition: TrigT1RPC.h:70
TrigT1RPC::m_geometric_algo
BooleanProperty m_geometric_algo
Definition: TrigT1RPC.h:60
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInput >
TrigT1RPC
Definition: TrigT1RPC.h:35
TrigT1RPC::initialize
StatusCode initialize()
Definition: TrigT1RPC.cxx:34
TrigT1RPC::m_bytestream_file
StringProperty m_bytestream_file
Definition: TrigT1RPC.h:64
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigT1RPC::m_sl_ro_debug
IntegerProperty m_sl_ro_debug
Definition: TrigT1RPC.h:53
TrigT1RPC::m_cma_ro_debug
IntegerProperty m_cma_ro_debug
Definition: TrigT1RPC.h:50
SLdata.h
TrigT1RPC::m_bytestream_production
BooleanProperty m_bytestream_production
Definition: TrigT1RPC.h:63
AthAlgorithm
Definition: AthAlgorithm.h:47
TrigT1RPC::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition: TrigT1RPC.h:79
ReadCondHandleKey.h
TrigT1RPC::m_muctpiKey
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInput > m_muctpiKey
Definition: TrigT1RPC.h:85
TrigT1RPC::m_cma_rostruct_debug
IntegerProperty m_cma_rostruct_debug
Definition: TrigT1RPC.h:55
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigT1RPC::m_rx_rostruct_debug
IntegerProperty m_rx_rostruct_debug
Definition: TrigT1RPC.h:57
MuonDetectorManager.h
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
TrigT1RPC::m_pad_debug
IntegerProperty m_pad_debug
Definition: TrigT1RPC.h:47
TrigT1RPC::m_logic_emulation
BooleanProperty m_logic_emulation
Definition: TrigT1RPC.h:61
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
RPCbytestream.h
RpcCablingCondData.h
TrigT1RPC::m_pad_ro_debug
IntegerProperty m_pad_ro_debug
Definition: TrigT1RPC.h:51
TrigT1RPC::m_bis78TrigKey
SG::WriteHandleKey< Muon::RpcBis78_TrigRawDataContainer > m_bis78TrigKey
Definition: TrigT1RPC.h:87
TrigT1RPC::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: TrigT1RPC.h:80
RPCsimuData
Definition: RPCsimuData.h:19
TrigT1RPC::m_rpcDigitKey
SG::ReadHandleKey< RpcDigitContainer > m_rpcDigitKey
Definition: TrigT1RPC.h:84
TrigT1RPC::m_firstBC_to_MUCTPI
IntegerProperty m_firstBC_to_MUCTPI
Definition: TrigT1RPC.h:69
TrigT1RPC::m_hardware_emulation
BooleanProperty m_hardware_emulation
Definition: TrigT1RPC.h:62
Lvl1MuCTPIInput.h
TrigT1RPC::m_BIS78TrigSim
BIS78_triggerSimulation m_BIS78TrigSim
Definition: TrigT1RPC.h:76
IMuonIdHelperSvc.h
TrigT1RPC::m_sl_debug
IntegerProperty m_sl_debug
Definition: TrigT1RPC.h:48
TrigT1RPC::m_useRun3Config
BooleanProperty m_useRun3Config
Definition: TrigT1RPC.h:72
ServiceHandle< Muon::IMuonIdHelperSvc >
PADdata.h
BIS78_triggerSimulation
Definition: BIS78_triggerSimulation.h:26