ATLAS Offline Software
MuCTPIPhase1ByteStreamAlgo.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef TRIGT1RESULTBYTESTREAM_MUCTPIPHASE1BYTESTREAMALGO_H
8 #define TRIGT1RESULTBYTESTREAM_MUCTPIPHASE1BYTESTREAMALGO_H
9 
11 
13 
16 
19 #include "TrigConfData/L1Menu.h"
23 
24 // Local include(s):
25 #include "MuCTPISrcIdMap.h"
26 
28 // Forward declaration(s):
29 //class MuCTPI_Phase1_RDO;
30 
35 
36 public:
38  MuCTPIPhase1ByteStreamAlgo( const std::string& name, ISvcLocator* svcLoc );
39 
40  virtual StatusCode initialize() override;
41  virtual StatusCode execute(const EventContext& eventContext) const override;
42 
45 
46 
47 
48 private:
50  Gaudi::Property<uint32_t> m_robId{this, "ROBID", 0x760000, "MuCTPI DAQ readout ROB ID"};
51 
53  ServiceHandle<IROBDataProviderSvc> m_robDataProviderSvc { this, "ROBDataProviderSvc", "ROBDataProviderSvc", "ROB data provider"};
54 
55  SG::WriteHandleKey<MuCTPI_Phase1_RDO> m_MuCTPI_Phase1_RDOKey{ this, "MuCTPI_Phase1_RDOKey", "MUCTPI_Phase1_RDO" };
56 
57  std::vector<uint32_t> m_muctpi_Nbits = {3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1}; //default value, used for DQ mon
58  Gaudi::Property<std::string> m_alias_db{this,"TriggerDBAlias","TRIGGERDB_RUN3","Alias to the TriggerDB to download CTP configuration from"};
59 
61  Gaudi::Property<bool> m_doTopo {
62  this, "DoTopo", false, "Enable decoding/encoding MUCTPI Topo TOBs"};
63 
64  const std::string m_barrelRoIFile = "TrigConfMuctpi/Data_ROI_Mapping_Barrel_040422.txt";
65  const std::string m_ecfRoIFile = "TrigConfMuctpi/Data_RoI_Mapping_EF_040422.txt";
66  const std::string m_side0LUTFile = "TrigConfMuctpi/lookup_0_040422.json";
67  const std::string m_side1LUTFile = "TrigConfMuctpi/lookup_1_040422.json";
68 
71 }; // class MuCTPIPhase1ByteStreamAlgo
72 
73 #endif // TRIGT1RESULTBYTESTREAM_MUCTPIPHASE1BYTESTREAMALGO_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TrigDBCTPFilesLoader.h
Loader class for Trigger configuration (L1 hardware files) from the Trigger DB.
MuCTPIPhase1ByteStreamAlgo::m_l1topoLUT
LVL1MUCTPIPHASE1::L1TopoLUT m_l1topoLUT
Helper members.
Definition: MuCTPIPhase1ByteStreamAlgo.h:70
MuCTPI_Phase1_RDO.h
MuCTPIPhase1ByteStreamAlgo::MuCTPIPhase1ByteStreamAlgo
MuCTPIPhase1ByteStreamAlgo(const std::string &name, ISvcLocator *svcLoc)
Default constructor.
Definition: MuCTPIPhase1ByteStreamAlgo.cxx:19
MuCTPIPhase1ByteStreamAlgo::m_robId
Gaudi::Property< uint32_t > m_robId
Object storing the various IDs of the MuCTPI fragment.
Definition: MuCTPIPhase1ByteStreamAlgo.h:50
MuCTPIPhase1ByteStreamAlgo::m_ecfRoIFile
const std::string m_ecfRoIFile
Definition: MuCTPIPhase1ByteStreamAlgo.h:65
MuCTPIPhase1ByteStreamAlgo::m_side1LUTFile
const std::string m_side1LUTFile
Definition: MuCTPIPhase1ByteStreamAlgo.h:67
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
L1TopoLUT.h
MuCTPIPhase1ByteStreamAlgo::convert
StatusCode convert(const IROBDataProviderSvc::ROBF *rob, SG::WriteHandle< MuCTPI_Phase1_RDO > &outputHandle) const
Convert ROBFragment to MuCTPI_RDO.
Definition: MuCTPIPhase1ByteStreamAlgo.cxx:132
SG::WriteHandleKey< MuCTPI_Phase1_RDO >
eformat::ROBFragment
Definition: L1CaloBsDecoderUtil.h:12
MuCTPIPhase1ByteStreamAlgo::m_doTopo
Gaudi::Property< bool > m_doTopo
Other properties.
Definition: MuCTPIPhase1ByteStreamAlgo.h:61
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuCTPIPhase1ByteStreamAlgo::m_side0LUTFile
const std::string m_side0LUTFile
Definition: MuCTPIPhase1ByteStreamAlgo.h:66
FullEventAssembler.h
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuCTPISrcIdMap.h
MuCTPIPhase1ByteStreamAlgo::execute
virtual StatusCode execute(const EventContext &eventContext) const override
Definition: MuCTPIPhase1ByteStreamAlgo.cxx:107
MuCTPIPhase1ByteStreamAlgo::m_barrelRoIFile
const std::string m_barrelRoIFile
Definition: MuCTPIPhase1ByteStreamAlgo.h:64
LVL1MUCTPIPHASE1::L1TopoLUT
Definition: L1TopoLUT.h:41
MuCTPIPhase1ByteStreamAlgo::initialize
virtual StatusCode initialize() override
Definition: MuCTPIPhase1ByteStreamAlgo.cxx:22
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
MuCTPIPhase1ByteStreamAlgo::m_robDataProviderSvc
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
ROBDataProvider service handle.
Definition: MuCTPIPhase1ByteStreamAlgo.h:53
L1CTPFiles.h
MuCTPIPhase1ByteStreamAlgo::m_muctpi_Nbits
std::vector< uint32_t > m_muctpi_Nbits
Definition: MuCTPIPhase1ByteStreamAlgo.h:57
MuCTPIPhase1ByteStreamAlgo::m_MuCTPI_Phase1_RDOKey
SG::WriteHandleKey< MuCTPI_Phase1_RDO > m_MuCTPI_Phase1_RDOKey
Definition: MuCTPIPhase1ByteStreamAlgo.h:55
L1Menu.h
MuCTPIPhase1ByteStreamAlgo
this is done in the original (run2) tool; trying to replace this with an include above.
Definition: MuCTPIPhase1ByteStreamAlgo.h:34
MuCTPIPhase1ByteStreamAlgo::m_alias_db
Gaudi::Property< std::string > m_alias_db
Definition: MuCTPIPhase1ByteStreamAlgo.h:58
IROBDataProviderSvc.h
ServiceHandle< IROBDataProviderSvc >