  | 
  
    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, V, H > &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 | 
|   | 
 | 
| void  | writeSum (std::ofstream &exeFile, const std::vector< unsigned > &probs, const std::vector< unsigned > &nChans) const | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleKey>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleKeyArray>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleBase>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) | 
|   | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>  More...
  | 
|   | 
 | 
| 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 {this,"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 {this,"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
 
accumulate
Update flags based on parser line args.
 
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
 
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
 
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
 
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
 
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
 
id_iterator channel_begin() const
Returns an iterator pointing to a channel identifier collection.
 
bool deformedPulse() const