Loading [MathJax]/extensions/tex2jax.js
 |
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 29 of file LArBadChannel2Ascii.cxx.
43 if (doExecSummary && !
m_isSC) {
45 badFebCont=(*badFebHdl);
54 return StatusCode::FAILURE;
64 return StatusCode::FAILURE;
71 std::ostream *
out = &(std::cout);
86 std::vector<std::vector<unsigned> > problemMatrix(
nProblemTypes, std::vector<unsigned>(
nParts));
88 std::vector<HWIdentifier>::const_iterator
it = larOnlineID->
channel_begin();
89 std::vector<HWIdentifier>::const_iterator it_e = larOnlineID->
channel_end();
90 unsigned count = 0, nConnected = 0;
91 std::vector<unsigned> nPerPart(
nParts);
93 for (;
it != it_e; ++
it) {
172 ATH_MSG_INFO (
"Found " <<
count <<
" entries in the bad-channel database. (Number of connected cells: " << nConnected <<
")" );
174 ATH_MSG_INFO (
"Found " <<
count <<
" entries in the bad-channel database. (Number of cells: " << nConnected <<
")");
184 std::ofstream exeSum;
186 if (!exeSum.is_open()) {
188 return StatusCode::FAILURE;
194 exeSum <<
"LAr SuperCells dead readout (incl masked OSUM)" << std::endl;
197 exeSum <<
"LAr SuperCells suffering from high noise:" << std::endl;
200 exeSum <<
"LAr SuperCells w/o calibration (constants from phi average of eta neighbours):" << std::endl;
203 exeSum <<
"LAr SuperCells with distorted pulse shape:" << std::endl;
206 exeSum <<
"LAr SuperCells having problems with the peak reco:" << std::endl;
209 exeSum <<
"LAr SuperCells having problems with the optical transmission:" << std::endl;
212 exeSum <<
"LAr SuperCells not usable:" << std::endl;
216 exeSum <<
"LAr dead readout channels:" << std::endl;
219 exeSum <<
"LAr permanently dead channels inside detector:" << std::endl;
222 exeSum <<
"LAr noisy readout channels (more than 10 sigma above phi average or unstable):" << std::endl;
225 exeSum <<
"LAr readout channels showing sporadic noise bursts:" << std::endl;
228 exeSum <<
"LAr readout channels w/o calibration (constants from phi average of eta neighbours):" << std::endl;
231 exeSum <<
"LAr readout channels connected to inactive Front End Boards:" << std::endl;
234 exeSum <<
"LAr readout channels not usable:" << std::endl;
241 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 245 of file LArBadChannel2Ascii.cxx.
250 constexpr
const char*
fmt=
"{:>7}: {:>5} of {} ({:.3f}%)\n";
252 auto f = [](
unsigned den)->
double{
253 if (den > 0)
return 100./den;
263 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 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/...
accumulate
Update flags based on parser line args.
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