|
ATLAS Offline Software
|
Mask LAr cells in Febs with decoding errors or listed in the bad feb database.
More...
#include <LArBadFebMaskingTool.h>
|
SG::ReadCondHandleKey< LArBadFebCont > | m_badFebKey {this,"BadFebKey","LArBadFeb","Key of Bad-Feb object"} |
| handle to get bad febs More...
|
|
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"} |
| handle to LAr cabling
More...
|
|
Gaudi::Property< bool > | m_maskParity {this,"maskParity",true} |
| flags to select which errors to mask More...
|
|
Gaudi::Property< bool > | m_maskSampleHeader {this,"maskSampleHeader",true} |
|
Gaudi::Property< bool > | m_maskEVTID {this,"maskEVTID",true} |
|
Gaudi::Property< bool > | m_maskScacStatus {this,"maskScacStatus",true} |
|
Gaudi::Property< bool > | m_maskScaOutOfRange {this,"maskScaOutOfRange",true} |
|
Gaudi::Property< bool > | m_maskGainMismatch {this,"maskGainMismatch",true} |
|
Gaudi::Property< bool > | m_maskTypeMismatch {this,"maskTypeMismatch",true} |
|
Gaudi::Property< bool > | m_maskNumOfSamples {this,"maskNumOfSamples",true} |
|
Gaudi::Property< bool > | m_maskEmptyDataBlock {this,"maskEmptyDataBlock",true} |
|
Gaudi::Property< bool > | m_maskDspBlockSize {this,"maskDspBlockSize",true} |
|
Gaudi::Property< bool > | m_maskCheckSum {this,"maskCheckSum",true} |
|
Gaudi::Property< bool > | m_maskMissingHeader {this,"maskMissingHeader",true} |
|
Gaudi::Property< bool > | m_maskBadGain {this,"maskBadGain",true} |
|
SG::ReadHandleKey< LArFebErrorSummary > | m_larFebErrorSummaryKey {this,"FebErrorSummaryKey","LArFebErrorSummary"} |
|
SG::ReadHandleKey< xAOD::EventInfo > | m_eventInfoKey {this,"EventInfoKey","EventInfo"} |
|
SG::WriteDecorHandleKey< xAOD::EventInfo > | m_eventInfoDecorKey {this,"EventInfoDecorKey","EventInfo.larFlags"} |
|
uint16_t | m_errorToMask =0 |
| compute bit mask of errors to mask More...
|
|
const CaloCell_ID * | m_calo_id =nullptr |
| pointers to identifier helpers More...
|
|
const LArOnlineID * | m_onlineID =nullptr |
|
std::atomic< int > | m_evt {0} |
| Number of events processed. More...
|
|
std::atomic< int > | m_mask {0} |
| Number of Feb masked. More...
|
|
Mask LAr cells in Febs with decoding errors or listed in the bad feb database.
AlgTool properties (name defined in cxx file): Handle for bad channel tool name Switches to decide which Feb errors to mask Removed setting LAr errors bit in EventInfo, moved to LArFebErrorSummaryMaker
Created April 23, 2009 G.Unal
Definition at line 38 of file LArBadFebMaskingTool.h.
◆ finalize()
StatusCode LArBadFebMaskingTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode LArBadFebMaskingTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ process()
StatusCode LArBadFebMaskingTool::process |
( |
CaloCellContainer * |
theCellContainer, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
overridevirtual |
update theCellContainer, masking Feb with errors
Definition at line 84 of file LArBadFebMaskingTool.cxx.
92 if (!larFebErrorSummary.isValid()) {
94 return StatusCode::SUCCESS;
98 const std::map<unsigned int,uint16_t>& febMap = larFebErrorSummary->get_all_febs();
127 bool toMask1 =
false;
128 bool inError =
false;
131 unsigned int ifeb = febId.get_identifier32().get_compact();
134 std::map<unsigned int,uint16_t>::const_iterator
it1 = febMap.find(ifeb);
135 if (
it1 != febMap.end()) {
138 ATH_MSG_DEBUG (
" ierror,toMask " << ierror <<
" " << toMask1 <<
" ");
145 if (toMask1 || inError) {
147 for (
int ch=0;
ch<128; ++
ch) {
149 if (
cabling->isOnlineConnected(hwid)) {
152 int index = theCont->findIndex(theCellHashID);
176 return StatusCode::SUCCESS;
◆ m_badFebKey
◆ m_cablingKey
◆ m_calo_id
◆ m_errorToMask
uint16_t LArBadFebMaskingTool::m_errorToMask =0 |
|
private |
◆ m_eventInfoDecorKey
◆ m_eventInfoKey
◆ m_evt
std::atomic<int> LArBadFebMaskingTool::m_evt {0} |
|
mutableprivate |
◆ m_larFebErrorSummaryKey
◆ m_mask
std::atomic<int> LArBadFebMaskingTool::m_mask {0} |
|
mutableprivate |
◆ m_maskBadGain
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskBadGain {this,"maskBadGain",true} |
|
private |
◆ m_maskCheckSum
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskCheckSum {this,"maskCheckSum",true} |
|
private |
◆ m_maskDspBlockSize
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskDspBlockSize {this,"maskDspBlockSize",true} |
|
private |
◆ m_maskEmptyDataBlock
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskEmptyDataBlock {this,"maskEmptyDataBlock",true} |
|
private |
◆ m_maskEVTID
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskEVTID {this,"maskEVTID",true} |
|
private |
◆ m_maskGainMismatch
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskGainMismatch {this,"maskGainMismatch",true} |
|
private |
◆ m_maskMissingHeader
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskMissingHeader {this,"maskMissingHeader",true} |
|
private |
◆ m_maskNumOfSamples
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskNumOfSamples {this,"maskNumOfSamples",true} |
|
private |
◆ m_maskParity
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskParity {this,"maskParity",true} |
|
private |
◆ m_maskSampleHeader
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskSampleHeader {this,"maskSampleHeader",true} |
|
private |
◆ m_maskScacStatus
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskScacStatus {this,"maskScacStatus",true} |
|
private |
◆ m_maskScaOutOfRange
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskScaOutOfRange {this,"maskScaOutOfRange",true} |
|
private |
◆ m_maskTypeMismatch
Gaudi::Property<bool> LArBadFebMaskingTool::m_maskTypeMismatch {this,"maskTypeMismatch",true} |
|
private |
◆ m_onlineID
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
virtual void setTime(float time)
set time
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
value_type get_compact() const
Get the compact id.
const std::string & key() const
Return the StoreGate ID for the referenced object.
uint16_t provenance() const
get provenance (data member)
virtual void setEnergy(float energy)
set energy
@ LAr
The LAr calorimeter.
LArBC_t status(const HWIdentifier channel) const
Query the status of a particular channel or FEB This is the main client access method.
@ Error
The sub-detector issued an error.
id_range feb_range() const
virtual void setQuality(uint16_t quality)
set quality
std::vector< HWIdentifier >::iterator it1
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
void setProvenance(uint16_t prov)
set Provenance
StatusCode initialize(bool used=true)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
bool inError() const
FEB has readout errors, cannot be used.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...