ATLAS Offline Software
Loading...
Searching...
No Matches
LArBadFebMaskingTool.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_LArBadFebMaskingTool_H
6#define LARCELLREC_LArBadFebMaskingTool_H
7
19
20
21
23
32#include <atomic>
33
34class CaloCell_ID;
35class LArOnlineID;
37
39 : public extends<AthAlgTool, ICaloCellMakerTool>
40{
41public:
42
45
46 using base_class::base_class;
47
48
51 virtual StatusCode initialize() override;
52
55 virtual StatusCode finalize() override;
56
59 virtual StatusCode process (CaloCellContainer * theCellContainer,
60 const EventContext& ctx) const override;
61
62 private:
63
66 SG::ReadCondHandleKey<LArBadFebCont> m_badFebKey{this,"BadFebKey","LArBadFeb","Key of Bad-Feb object"};
69 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
70
73 Gaudi::Property<bool> m_maskParity{this,"maskParity",true};
74 Gaudi::Property<bool> m_maskSampleHeader{this,"maskSampleHeader",true};
75 Gaudi::Property<bool> m_maskEVTID{this,"maskEVTID",true};
76 Gaudi::Property<bool> m_maskScacStatus{this,"maskScacStatus",true};
77 Gaudi::Property<bool> m_maskScaOutOfRange{this,"maskScaOutOfRange",true};
78 Gaudi::Property<bool> m_maskGainMismatch{this,"maskGainMismatch",true};
79 Gaudi::Property<bool> m_maskTypeMismatch{this,"maskTypeMismatch",true};
80 Gaudi::Property<bool> m_maskNumOfSamples{this,"maskNumOfSamples",true};
81 Gaudi::Property<bool> m_maskEmptyDataBlock{this,"maskEmptyDataBlock",true};
82 Gaudi::Property<bool> m_maskDspBlockSize{this,"maskDspBlockSize",true};
83 Gaudi::Property<bool> m_maskCheckSum{this,"maskCheckSum",true};
84 Gaudi::Property<bool> m_maskMissingHeader{this,"maskMissingHeader",true};
85 Gaudi::Property<bool> m_maskBadGain{this,"maskBadGain",true};
86
87 Gaudi::Property<bool> m_noFebErrors{this,"noFebErrors",false,"do not read LArFebErrorSummary (MC case)"};
88
89 SG::ReadHandleKey<LArFebErrorSummary> m_larFebErrorSummaryKey{this,"FebErrorSummaryKey","LArFebErrorSummary"};
90 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey","EventInfo"};
94 uint16_t m_errorToMask=0;
95
98 const CaloCell_ID* m_calo_id=nullptr;
99 const LArOnlineID* m_onlineID=nullptr;
100
103 mutable std::atomic<int> m_evt{0};
104
107 mutable std::atomic<int> m_mask{0};
108
111 const std::map<unsigned int,uint16_t> m_dummyFebMap{};
112
113};
114
115#endif
116
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Container class for CaloCell.
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
Mask LAr cells in Febs with decoding errors or listed in the bad feb database.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Gaudi::Property< bool > m_maskTypeMismatch
Gaudi::Property< bool > m_maskDspBlockSize
SG::ReadHandleKey< LArFebErrorSummary > m_larFebErrorSummaryKey
Gaudi::Property< bool > m_maskScacStatus
Gaudi::Property< bool > m_maskGainMismatch
Gaudi::Property< bool > m_maskParity
flags to select which errors to mask
const std::map< unsigned int, uint16_t > m_dummyFebMap
Empty dummy map for MC case.
Gaudi::Property< bool > m_maskSampleHeader
Gaudi::Property< bool > m_maskMissingHeader
SG::WriteDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
handle to LAr cabling
Gaudi::Property< bool > m_noFebErrors
Gaudi::Property< bool > m_maskScaOutOfRange
std::atomic< int > m_evt
Number of events processed.
Gaudi::Property< bool > m_maskNumOfSamples
virtual StatusCode finalize() override
finalize the tool
Gaudi::Property< bool > m_maskBadGain
std::atomic< int > m_mask
Number of Feb masked.
uint16_t m_errorToMask
compute bit mask of errors to mask
SG::ReadCondHandleKey< LArBadFebCont > m_badFebKey
handle to get bad febs
Gaudi::Property< bool > m_maskEmptyDataBlock
const LArOnlineID * m_onlineID
Gaudi::Property< bool > m_maskCheckSum
Gaudi::Property< bool > m_maskEVTID
virtual StatusCode initialize() override
initialize the tool
const CaloCell_ID * m_calo_id
pointers to identifier helpers
Holds information from the FEB Error Summary.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
const std::string process