|
ATLAS Offline Software
|
#include <LArBadChannel2Ascii.h>
|
| ~LArBadChannel2Ascii ()=default |
|
virtual StatusCode | initialize () final |
|
virtual StatusCode | execute () final |
|
| AthAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) |
| Constructor with parameters: More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
enum | DetPart {
EMB =0,
EMEC,
HEC,
FCAL,
nParts
} |
|
enum | CoarseProblemType {
DeadReadout =0,
DeadPhys,
DeadCalib,
DeadFEB,
Noisy,
Sporadic,
Distorted,
PeakReco,
Fibre,
GrandTotalDead,
nProblemTypes
} |
|
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
|
|
SG::ReadCondHandleKey< LArBadChannelCont > | m_BCKey {this,"BCKey","LArBadChannel"} |
|
SG::ReadCondHandleKey< LArBadFebCont > | m_BFKey {this,"BFKey","LArBadFeb"} |
|
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey {this,"LArOnOffIdMapKey","LArOnOffIdMap"} |
|
Gaudi::Property< std::string > | m_fileName {this,"FileName",""} |
|
Gaudi::Property< std::string > | m_executiveSummaryFile {this,"ExecutiveSummaryFile",""} |
|
Gaudi::Property< bool > | m_wMissing {this,"WithMissing",false} |
|
Gaudi::Property< bool > | m_skipDisconnected {this,"SkipDisconnected",true} |
|
Gaudi::Property< bool > | m_isSC {"SuperCell",false} |
|
DataObjIDColl | m_extendedExtraObjects |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 18 of file LArBadChannel2Ascii.h.
◆ StoreGateSvc_t
◆ CoarseProblemType
Enumerator |
---|
DeadReadout | |
DeadPhys | |
DeadCalib | |
DeadFEB | |
Noisy | |
Sporadic | |
Distorted | |
PeakReco | |
Fibre | |
GrandTotalDead | |
nProblemTypes | |
Definition at line 51 of file LArBadChannel2Ascii.h.
◆ DetPart
◆ ~LArBadChannel2Ascii()
LArBadChannel2Ascii::~LArBadChannel2Ascii |
( |
| ) |
|
|
default |
◆ AthAlgorithm()
AthAlgorithm::AthAlgorithm |
Constructor with parameters:
Definition at line 51 of file AthAlgorithm.cxx.
32 std::make_unique<AthenaBaseComps::AthAlgorithmDHUpdate>
34 std::move (m_updateDataHandles));
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode LArBadChannel2Ascii::execute |
( |
| ) |
|
|
finalvirtual |
Definition at line 28 of file LArBadChannel2Ascii.cxx.
42 if (doExecSummary && !
m_isSC) {
44 badFebCont=(*badFebHdl);
53 return StatusCode::FAILURE;
63 return StatusCode::FAILURE;
70 std::ostream *
out = &(std::cout);
85 std::vector<std::vector<unsigned> > problemMatrix(
nProblemTypes, std::vector<unsigned>(
nParts));
87 std::vector<HWIdentifier>::const_iterator
it = larOnlineID->
channel_begin();
88 std::vector<HWIdentifier>::const_iterator it_e = larOnlineID->
channel_end();
89 unsigned count = 0, nConnected = 0;
90 std::vector<unsigned> nPerPart(
nParts);
92 for (;
it != it_e; ++
it) {
171 ATH_MSG_INFO (
"Found " <<
count <<
" entries in the bad-channel database. (Number of connected cells: " << nConnected <<
")" );
173 ATH_MSG_INFO (
"Found " <<
count <<
" entries in the bad-channel database. (Number of cells: " << nConnected <<
")");
183 std::ofstream exeSum;
185 if (!exeSum.is_open()) {
187 return StatusCode::FAILURE;
193 exeSum <<
"LAr SuperCells dead readout (incl masked OSUM)" << std::endl;
196 exeSum <<
"LAr SuperCells suffering from high noise:" << std::endl;
199 exeSum <<
"LAr SuperCells w/o calibration (constants from phi average of eta neighbours):" << std::endl;
202 exeSum <<
"LAr SuperCells with distorted pulse shape:" << std::endl;
205 exeSum <<
"LAr SuperCells having problems with the peak reco:" << std::endl;
208 exeSum <<
"LAr SuperCells having problems with the optical transmission:" << std::endl;
211 exeSum <<
"LAr SuperCells not usable:" << std::endl;
215 exeSum <<
"LAr dead readout channels:" << std::endl;
218 exeSum <<
"LAr permanently dead channels inside detector:" << std::endl;
221 exeSum <<
"LAr noisy readout channels (more than 10 sigma above phi average or unstable):" << std::endl;
224 exeSum <<
"LAr readout channels showing sporadic noise bursts:" << std::endl;
227 exeSum <<
"LAr readout channels w/o calibration (constants from phi average of eta neighbours):" << std::endl;
230 exeSum <<
"LAr readout channels connected to inactive Front End Boards:" << std::endl;
233 exeSum <<
"LAr readout channels not usable:" << std::endl;
240 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ initialize()
StatusCode LArBadChannel2Ascii::initialize |
( |
| ) |
|
|
finalvirtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ writeSum()
void LArBadChannel2Ascii::writeSum |
( |
std::ofstream & |
exeFile, |
|
|
const std::vector< unsigned > & |
probs, |
|
|
const std::vector< unsigned > & |
nChans |
|
) |
| const |
|
private |
Definition at line 244 of file LArBadChannel2Ascii.cxx.
249 constexpr
const char*
fmt=
"{:>7}: {:>5} of {} ({:.3f}%)\n";
251 auto f = [](
unsigned den)->
double{
252 if (den > 0)
return 100./den;
262 exeFile << std::endl;
◆ m_BCKey
◆ m_BFKey
◆ m_cablingKey
◆ m_detStore
◆ m_evtStore
◆ m_executiveSummaryFile
Gaudi::Property<std::string> LArBadChannel2Ascii::m_executiveSummaryFile {this,"ExecutiveSummaryFile",""} |
|
private |
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_fileName
Gaudi::Property<std::string> LArBadChannel2Ascii::m_fileName {this,"FileName",""} |
|
private |
◆ m_isSC
Gaudi::Property<bool> LArBadChannel2Ascii::m_isSC {"SuperCell",false} |
|
private |
◆ m_skipDisconnected
Gaudi::Property<bool> LArBadChannel2Ascii::m_skipDisconnected {this,"SkipDisconnected",true} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_wMissing
Gaudi::Property<bool> LArBadChannel2Ascii::m_wMissing {this,"WithMissing",false} |
|
private |
The documentation for this class was generated from the following files:
bool good() const
Returns true if no problems at all (all bits at zero)
SG::ReadCondHandleKey< LArBadFebCont > m_BFKey
Gaudi::Property< bool > m_skipDisconnected
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
bool sporadicBurstNoise() const
bool deadReadout() const
FEB is not sending readout data, but the L1 trigger path is working.
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
std::vector< SG::VarHandleKeyArray * > m_vhka
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
LArBC_t status(const HWIdentifier channel) const
Query the status of a particular channel or FEB This is the main client access method.
id_iterator channel_end() const
value_type get_compact() const
Get the compact id.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
bool deformedTail() const
bool isFCALchannel(const HWIdentifier id) const
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
Gaudi::Property< std::string > m_fileName
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
virtual bool isHECchannel(const HWIdentifier id) const =0
::StatusCode StatusCode
StatusCode definition for legacy code.
void writeSum(std::ofstream &exeFile, const std::vector< unsigned > &probs, const std::vector< unsigned > &nChans) const
bool deadAll() const
FEB is completely missing, e.g. powered off.
Gaudi::Property< bool > m_isSC
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Helper for the Liquid Argon Calorimeter cell identifiers.
virtual bool isEMECchannel(const HWIdentifier id) const =0
StatusCode initialize(bool used=true)
bool deactivatedInOKS() const
Deactivated in OKS.
bool lowLightFibre() const
std::string stringStatus(const LArBadChannel &bc) const
DataObjIDColl m_extendedExtraObjects
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
bool offAmplitude() const
Gaudi::Property< std::string > m_executiveSummaryFile
#define ATH_MSG_WARNING(x)
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
bool transmissionErrorFibre() const
Gaudi::Property< bool > m_wMissing
bool nonLinearRamp() const
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
id_iterator channel_begin() const
Returns an iterator pointing to a channel identifier collection.
bool deformedPulse() const