ATLAS Offline Software
LArCelldeadOTXAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARCELLREC_LArCelldeadOTXAlg_H
6 #define LARCELLREC_LArCelldeadOTXAlg_H
7 
19 #include <mutex>
20 #include <vector>
21 
22 class HWIdentifier;
23 class LArOnlineID;
25 class CaloCell_ID;
26 
28 public:
29  using AthReentrantAlgorithm::AthReentrantAlgorithm;
30 
31  virtual StatusCode initialize() override final;
32  //Implements the ICaloCellMaker interface
33  virtual StatusCode execute(const EventContext& ctx) const override final;
34 
35  private:
36  SG::ReadHandleKey<LArRawSCContainer> m_SCKey{this, "keySC", "SC_ET","Key for SuperCells container"};
37  SG::WriteHandleKey<LArDeadOTXFromSC> m_deadOTXFromSCKey{this, "DeadOTXFromSC", "DeadOTXFromSC","DeadOTXFromSC"};
38  SG::ReadCondHandleKey<LArBadFebCont> m_MFKey{this, "keyMF", "LArBadFeb", "Key for missing FEBs"};
39  SG::ReadCondHandleKey<LArBadChannelCont> m_badSCKey{this, "BadSCKey", "LArBadChannelSC", "Key of the LArBadChannelCont SC" };
40  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this, "keyCabling", "LArOnOffIdMap", "Key for the cabling"};
41  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingSCKey{this, "keySCCabling", "LArOnOffIdMapSC", "Key for the cabling of the SC"};
42  SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this,"CaloDetDescrManager", "CaloDetDescrManager"};
43 
44  Gaudi::Property<int> m_scCut{this,"SCEneCut",70,"Do not use super-cells with values below this cut"};
45  const LArOnlineID* m_onlineID=nullptr;
47  const CaloCell_ID* m_calo_id=nullptr;
48  ToolHandle<ICaloSuperCellIDTool> m_scidtool{this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"};
49 
50  void buildMap(const EventContext& ctx, StatusCode& sc) const;
51  mutable std::once_flag m_onceFlag ATLAS_THREAD_SAFE;
52 
53  mutable std::mutex m_mtx;
54  mutable std::vector<HWIdentifier> m_febs ATLAS_THREAD_SAFE;
55  mutable std::vector<std::vector<float> > m_multipliers ATLAS_THREAD_SAFE;
56  mutable std::vector<std::vector<uint32_t> > m_channels ATLAS_THREAD_SAFE;
57 };
58 
59 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArDeadOTXFromSC.h
LArCelldeadOTXAlg::m_calo_id
const CaloCell_ID * m_calo_id
Definition: LArCelldeadOTXAlg.h:47
LArRawSCContainer.h
LArCelldeadOTXAlg
Definition: LArCelldeadOTXAlg.h:27
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
LArCelldeadOTXAlg::m_badSCKey
SG::ReadCondHandleKey< LArBadChannelCont > m_badSCKey
Definition: LArCelldeadOTXAlg.h:39
LArCelldeadOTXAlg::m_scCut
Gaudi::Property< int > m_scCut
Definition: LArCelldeadOTXAlg.h:44
LArCelldeadOTXAlg::ATLAS_THREAD_SAFE
std::vector< std::vector< uint32_t > > m_channels ATLAS_THREAD_SAFE
Definition: LArCelldeadOTXAlg.h:56
LArCelldeadOTXAlg::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArCelldeadOTXAlg.h:42
SG::ReadHandleKey< LArRawSCContainer >
HWIdentifier
Definition: HWIdentifier.h:13
LArCelldeadOTXAlg::m_onlineSCID
const LArOnline_SuperCellID * m_onlineSCID
Definition: LArCelldeadOTXAlg.h:46
LArCelldeadOTXAlg::m_deadOTXFromSCKey
SG::WriteHandleKey< LArDeadOTXFromSC > m_deadOTXFromSCKey
Definition: LArCelldeadOTXAlg.h:37
ICaloSuperCellIDTool.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
LArBadChannelCont.h
LArCelldeadOTXAlg::ATLAS_THREAD_SAFE
std::vector< std::vector< float > > m_multipliers ATLAS_THREAD_SAFE
Definition: LArCelldeadOTXAlg.h:55
LArOnOffIdMapping.h
LArCelldeadOTXAlg::m_MFKey
SG::ReadCondHandleKey< LArBadFebCont > m_MFKey
Definition: LArCelldeadOTXAlg.h:38
LArCelldeadOTXAlg::ATLAS_THREAD_SAFE
std::vector< HWIdentifier > m_febs ATLAS_THREAD_SAFE
Definition: LArCelldeadOTXAlg.h:54
LArCelldeadOTXAlg::m_onlineID
const LArOnlineID * m_onlineID
Definition: LArCelldeadOTXAlg.h:45
LArCelldeadOTXAlg::m_mtx
std::mutex m_mtx
Definition: LArCelldeadOTXAlg.h:53
SG::WriteHandleKey< LArDeadOTXFromSC >
LArCelldeadOTXAlg::initialize
virtual StatusCode initialize() override final
Definition: LArCelldeadOTXAlg.cxx:14
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArCelldeadOTXAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArCelldeadOTXAlg.h:40
LArCelldeadOTXAlg::buildMap
void buildMap(const EventContext &ctx, StatusCode &sc) const
Definition: LArCelldeadOTXAlg.cxx:106
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
ReadCondHandleKey.h
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
LArOnlineID
Definition: LArOnlineID.h:20
LArOnline_SuperCellID
Definition: LArOnline_SuperCellID.h:20
ICaloCellMakerTool.h
SG::ReadCondHandleKey
Definition: ReadCondHandleKey.h:20
LArCelldeadOTXAlg::m_cablingSCKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
Definition: LArCelldeadOTXAlg.h:41
LArCelldeadOTXAlg::m_scidtool
ToolHandle< ICaloSuperCellIDTool > m_scidtool
Definition: LArCelldeadOTXAlg.h:48
LArCelldeadOTXAlg::m_SCKey
SG::ReadHandleKey< LArRawSCContainer > m_SCKey
Definition: LArCelldeadOTXAlg.h:36
LArCelldeadOTXAlg::ATLAS_THREAD_SAFE
std::once_flag m_onceFlag ATLAS_THREAD_SAFE
Definition: LArCelldeadOTXAlg.h:51
LArCelldeadOTXAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: LArCelldeadOTXAlg.cxx:33