ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
LArHVPathologyDbAlg Class Reference

#include <LArHVPathologyDbAlg.h>

Inheritance diagram for LArHVPathologyDbAlg:
Collaboration diagram for LArHVPathologyDbAlg:

Public Member Functions

 LArHVPathologyDbAlg (const std::string &name, ISvcLocator *pSvcLocator)
 
 ~LArHVPathologyDbAlg ()
 
virtual StatusCode initialize () override
 
virtual StatusCode execute () override
 
virtual StatusCode stop () override
 
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
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode createCondObjects (const EventContext &ctx, const CaloDetDescrManager *calodetdescrmgr)
 
StatusCode printCondObjects (const EventContext &ctx, const CaloDetDescrManager *calodetdescrmgr)
 
StatusCode registerCondObjects ()
 
std::vector< unsigned int > getElectInd (const LArHVIdMapping &hvIdMapping, const Identifier &id, unsigned int module, unsigned int line, const CaloDetDescrManager *calodetdescrmgr)
 
int getHVline (const LArHVIdMapping &hvIdMapping, const Identifier &id, short unsigned int ElectInd, const CaloDetDescrManager *calodetdescrmgr)
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

BooleanProperty m_writeCondObjs
 
StringProperty m_inpFile
 
StringProperty m_outFile
 
StringProperty m_folder
 
StringProperty m_outpTag
 
ServiceHandle< IIOVRegistrationSvcm_regSvc
 
ToolHandle< ILArHVPathologyDbToolm_pathologyTool
 
int m_mode
 
const CaloIdManagerm_caloIdMgr {nullptr}
 
const LArEM_IDm_larem_id {nullptr}
 
const LArHEC_IDm_larhec_id {nullptr}
 
const LArFCAL_IDm_larfcal_id {nullptr}
 
const LArOnlineIDm_laronline_id {nullptr}
 
SG::ReadCondHandleKey< LArHVIdMappingm_hvCablingKey {this, "LArHVIdMapping", "LArHVIdMap", "SG key for HV ID mapping"}
 
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this, "OnOffMap", "LArOnOffIdMap", "SG key for mapping object"}
 
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey {this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store" }
 
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
 

Detailed Description

Definition at line 25 of file LArHVPathologyDbAlg.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ LArHVPathologyDbAlg()

LArHVPathologyDbAlg::LArHVPathologyDbAlg ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 33 of file LArHVPathologyDbAlg.cxx.

34  : AthAlgorithm(name, pSvcLocator)
35  , m_writeCondObjs(false)
36  , m_inpFile("LArHVPathology.inp")
37  , m_outFile("")
38  , m_folder("")
39  , m_outpTag("HVPathologies-TEST")
40  , m_regSvc("IOVRegistrationSvc",name)
41  , m_pathologyTool("LArHVPathologyDbTool")
42  , m_mode(0)
43 {
44  declareProperty("WriteCondObjs", m_writeCondObjs);
45  declareProperty("InpFile", m_inpFile);
46  declareProperty("OutFile", m_outFile);
47  declareProperty("Folder", m_folder);
48  declareProperty("TagName", m_outpTag);
49  declareProperty("Mode", m_mode,"Mode to read file (0=offlineID/elecID, 1=online ID fields + HV module/line, 2=type is HV value to overwrite)");
50 }

◆ ~LArHVPathologyDbAlg()

LArHVPathologyDbAlg::~LArHVPathologyDbAlg ( )
default

Member Function Documentation

◆ createCondObjects()

StatusCode LArHVPathologyDbAlg::createCondObjects ( const EventContext &  ctx,
const CaloDetDescrManager calodetdescrmgr 
)
private

Definition at line 138 of file LArHVPathologyDbAlg.cxx.

139 {
140  ATH_MSG_INFO(" in createCondObjects() ");
141 
142  if(detStore()->contains<AthenaAttributeList>(m_folder)) {
143  ATH_MSG_INFO("EMB Pathologies already in SG, skipping ");
144  }
145  else {
147 
149  const LArOnOffIdMapping *cabling = *cabHdl;
150  if(!cabling) {
151  ATH_MSG_ERROR("Do not have cabling object with key " << m_cablingKey.key());
152  return StatusCode::FAILURE;
153  }
154  // Read input file and construct LArHVPathologiesDb for given folder
155  std::ifstream infile;
156  infile.open(m_inpFile.value().c_str());
157 
158  if(!infile.is_open()) {
159  ATH_MSG_ERROR("Unable to open " << m_inpFile << " for reading");
160  return StatusCode::FAILURE;
161  }
162 
163  char checkChar;
164  char commentSign('#');
165  std::string commentLine(""), foldername("");
166  unsigned int cellID;
167  unsigned short electInd, pathologyType;
168 
169  // Look for the folder name in the file
170  while(!infile.eof()) {
171  infile >> foldername;
172  if(foldername==m_folder.value())
173  break;
174  }
175 
176  if(foldername!=m_folder.value()) {
177  ATH_MSG_ERROR("Unable to find data for the folder " << m_folder
178  << " in the input file");
179  return StatusCode::FAILURE;
180  }
181  else
182  ATH_MSG_INFO("Found folder " << foldername << " in the input file");
183 
184  // Get data corresponding to the folder and put it into LArHVPathologiesDb object
185  LArHVPathologiesDb pathologies;
186 
187  ATH_MSG_INFO(" start reading input file ");
188  while(!infile.eof()) {
189  // Number or string?
190  checkChar = static_cast<char> (infile.get());
191  ATH_MSG_INFO(" checChar " << checkChar);
192  if(checkChar=='\n')
193  continue;
194  if((checkChar >= '0') && (checkChar <= '9')) {
195  // Number - read three values
196  infile.unget();
197  std::vector<unsigned int> elecList;
198  elecList.reserve(2);
199  if (m_mode==0) {
200  infile >> cellID >> electInd >> pathologyType;
201  elecList.push_back(electInd);
202  } else {
203  unsigned int bec,pos_neg,FT,slot,channel,hvModule,hvLine;
204  infile >> bec >> pos_neg >> FT >> slot >> channel >> hvModule >> hvLine >> pathologyType;
205  ATH_MSG_INFO(" read " << bec << " " << pos_neg << " " << FT << " " << slot << " " << channel << " " << hvModule << " " << hvLine << " " << pathologyType);
206  HWIdentifier hwid = m_laronline_id->channel_Id(bec,pos_neg,FT,slot,channel);
207  Identifier id = cabling->cnvToIdentifier( hwid);
208  cellID = (unsigned int)(id.get_identifier32().get_compact());
209  elecList=getElectInd(**hvIdMapping, id,hvModule,hvLine,calodetdescrmgr);
210  ATH_MSG_INFO(" cellId , elecList size " << cellID << " " << elecList.size());
211  }
212  for (unsigned int i=0;i<elecList.size();i++) {
214  electPath.cellID = cellID;
215  electPath.electInd = elecList[i];
216  if(m_mode==2) electPath.pathologyType = ((pathologyType&0x0FFF)<<4);
217  else electPath.pathologyType = pathologyType;
218  pathologies.m_v.push_back(electPath);
219  ATH_MSG_INFO("Created electrode pathology (" << cellID
220  << "," << elecList[i]
221  << "," << pathologyType << ")");
222  }
223  }
224  else if(checkChar==commentSign) {
225  // Skip the comment
226  std::getline(infile,commentLine);
227  }
228  else {
229  // We found another folder. Stop parsing
230  break;
231  }
232  }
233 
234  infile.close();
235  ATH_MSG_INFO("Finished parsing input file");
236 
237  AthenaAttributeList* attrlist = m_pathologyTool->hvPathology2AttrList(pathologies);
238  ATH_MSG_INFO("Created Attribute List");
239 
240  StatusCode sc = detStore()->record(attrlist,m_folder);
241  if(!sc.isSuccess()) {
242  ATH_MSG_ERROR("Could not record " << m_folder);
243  return sc;
244  }
245  else
246  ATH_MSG_INFO("Recorded " << m_folder);
247  }
248 
249  return StatusCode::SUCCESS;
250 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode LArHVPathologyDbAlg::execute ( )
overridevirtual

Definition at line 86 of file LArHVPathologyDbAlg.cxx.

87 {
88  ATH_MSG_INFO(" in execute()");
89 
90  const EventContext& ctx = Gaudi::Hive::currentContext();
91 
92  int nevt = ctx.eventID().event_number();
93 
95  ATH_CHECK(caloMgrHandle.isValid());
96  const CaloDetDescrManager* calodetdescrmgr = *caloMgrHandle;
97 
98  if(m_writeCondObjs && nevt==1) {
99  ATH_MSG_INFO("Creating conditions objects");
100 
101  // Create cond objects
102  if(!createCondObjects(ctx,calodetdescrmgr).isSuccess()) {
103  ATH_MSG_ERROR("Could not create cond objects ");
104  m_writeCondObjs = false;
105  return StatusCode::FAILURE;
106  }
107  }
108 
109  // Dump cond objects
110  StatusCode sc = printCondObjects (ctx,calodetdescrmgr);
111  if(!sc.isSuccess()) {
112  ATH_MSG_ERROR("Could not print out cond objects");
113  return sc;
114  }
115 
116  return sc;
117 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

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.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ getElectInd()

std::vector< unsigned int > LArHVPathologyDbAlg::getElectInd ( const LArHVIdMapping hvIdMapping,
const Identifier id,
unsigned int  module,
unsigned int  line,
const CaloDetDescrManager calodetdescrmgr 
)
private

Definition at line 330 of file LArHVPathologyDbAlg.cxx.

335 {
336 
337  std::vector<unsigned int> list;
338  list.clear();
339  int HVline = 1000*module + line;
340 // EM calo
341  if (m_larem_id->is_lar_em(id)) {
342 // LAr EMB
343  if (abs(m_larem_id->barrel_ec(id))==1 && m_larem_id->sampling(id) > 0) {
344  if (const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(calodetdescrmgr->get_element(id))) {
345  const EMBCellConstLink cell = embElement->getEMBCell();
346  unsigned int nelec = cell->getNumElectrodes();
347  for (unsigned int i=0;i<nelec;i++) {
348  const EMBHVElectrode& electrode = cell->getElectrode(i);
349  for (unsigned int igap=0;igap<2;igap++) {
350  if (electrode.hvLineNo(igap, &hvIdMapping)==HVline) {
351  list.push_back(2*i+igap);
352  }
353  }
354  }
355  }
356  }
357 // LAr EMEC
358  if (abs(m_larem_id->barrel_ec(id))>1 && m_larem_id->sampling(id) > 0) {
359  if (const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(calodetdescrmgr->get_element(id))) {
360  const EMECCellConstLink cell = emecElement->getEMECCell();
361  unsigned int nelec = cell->getNumElectrodes();
362  for (unsigned int i=0;i<nelec;i++) {
363  const EMECHVElectrode& electrode = cell->getElectrode(i);
364  for (unsigned int igap=0;igap<2;igap++) {
365  if (electrode.hvLineNo(igap, &hvIdMapping)==HVline) {
366  list.push_back(2*i+igap);
367  }
368  }
369  }
370  }
371  }
372 // EMBPS
373  if (abs(m_larem_id->barrel_ec(id))==1 && m_larem_id->sampling(id)==0) {
374  if (const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(calodetdescrmgr->get_element(id))) {
375  const EMBCellConstLink cell = embElement->getEMBCell();
376  const EMBPresamplerHVModule& hvmodule = cell->getPresamplerHVModule ();
377  for (unsigned int igap=0;igap<2;igap++) {
378  if (hvmodule.hvLineNo(igap, &hvIdMapping)==HVline) {
379  list.push_back(igap);
380  }
381  }
382  }
383  }
384 // EMECPS
385  if (abs(m_larem_id->barrel_ec(id))>1 && m_larem_id->sampling(id)==0) {
386  if (const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(calodetdescrmgr->get_element(id))) {
387  const EMECCellConstLink cell = emecElement->getEMECCell();
388  const EMECPresamplerHVModule& hvmodule = cell->getPresamplerHVModule ();
389  for (unsigned int igap=0;igap<2;igap++) {
390  if (hvmodule.hvLineNo(igap, &hvIdMapping)==HVline) {
391  list.push_back(igap);
392  }
393  }
394  }
395  }
396  }
397 //HEC
398  if (m_larhec_id->is_lar_hec(id)) {
399  if (const HECDetectorElement* hecElement = dynamic_cast<const HECDetectorElement*>(calodetdescrmgr->get_element(id))) {
400  const HECCellConstLink cell = hecElement->getHECCell();
401  unsigned int nsubgaps = cell->getNumSubgaps();
402  for (unsigned int i=0;i<nsubgaps;i++) {
403  const HECHVSubgap& subgap = cell->getSubgap(i);
404  if (subgap.hvLineNo(&hvIdMapping)==HVline) {
405  list.push_back(i);
406  }
407  }
408  }
409  }
410 //FCAL
411  if (m_larfcal_id->is_lar_fcal(id)) {
412  if (const FCALDetectorElement* fcalElement = dynamic_cast<const FCALDetectorElement*>(calodetdescrmgr->get_element(id))) {
413  const FCALTile* tile = fcalElement->getFCALTile();
414  unsigned int nlines = FCALTile::getNumHVLines();
415  for (unsigned int i=0;i<nlines;i++) {
416  const FCALHVLine* line2 = tile->getHVLine(i);
417  if(line2) {
418  if (line2->hvLineNo(&hvIdMapping)==HVline) {
419  list.push_back(i);
420  }
421  }
422  }
423  }
424  }
425 
426  return list;
427 
428 }

◆ getHVline()

int LArHVPathologyDbAlg::getHVline ( const LArHVIdMapping hvIdMapping,
const Identifier id,
short unsigned int  ElectInd,
const CaloDetDescrManager calodetdescrmgr 
)
private

Definition at line 430 of file LArHVPathologyDbAlg.cxx.

434 {
435 
436  unsigned int igap, ielec;
437 // EM calo
438  if (m_larem_id->is_lar_em(id)) {
439 // LAr EMB
440  if (abs(m_larem_id->barrel_ec(id))==1 && m_larem_id->sampling(id) > 0) {
441  if (const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(calodetdescrmgr->get_element(id))) {
442  const EMBCellConstLink cell = embElement->getEMBCell();
443  unsigned int nelec = cell->getNumElectrodes();
444  igap = ElectInd % 2;
445  ielec = std::div(ElectInd - igap, 2).quot;
446  if (ielec > nelec) {
447  ATH_MSG_ERROR("Wrong electrode number " << ielec << " for cell "<< id.get_identifier32().get_compact());
448  return -1;
449  } else {
450  return cell->getElectrode(ielec).hvLineNo(igap, &hvIdMapping);
451  }
452  }
453  }
454 // LAr EMEC
455  if (abs(m_larem_id->barrel_ec(id))>1 && m_larem_id->sampling(id) > 0) {
456  if (const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(calodetdescrmgr->get_element(id))) {
457  const EMECCellConstLink cell = emecElement->getEMECCell();
458  unsigned int nelec = cell->getNumElectrodes();
459  igap = ElectInd % 2;
460  ielec = std::div(ElectInd - igap, 2).quot;
461  if (ielec > nelec) {
462  ATH_MSG_ERROR("Wrong electrode number " << ielec << " for cell "<< id.get_identifier32().get_compact());
463  return -1;
464  } else {
465  return cell->getElectrode(ielec).hvLineNo(igap, &hvIdMapping);
466  }
467  }
468  }
469 // EMBPS
470  if (abs(m_larem_id->barrel_ec(id))==1 && m_larem_id->sampling(id)==0) {
471  if (const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(calodetdescrmgr->get_element(id))) {
472  const EMBCellConstLink cell = embElement->getEMBCell();
473  const EMBPresamplerHVModule& hvmodule = cell->getPresamplerHVModule ();
474  if(ElectInd >= 2) {
475  ATH_MSG_ERROR("Wrong igap "<<ElectInd<<" for EMBPS cell "<<id.get_identifier32().get_compact());
476  return -1;
477  } else {
478  return hvmodule.hvLineNo(ElectInd, &hvIdMapping);
479  }
480  }
481  }
482 // EMECPS
483  if (abs(m_larem_id->barrel_ec(id))>1 && m_larem_id->sampling(id)==0) {
484  if (const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(calodetdescrmgr->get_element(id))) {
485  const EMECCellConstLink cell = emecElement->getEMECCell();
486  const EMECPresamplerHVModule& hvmodule = cell->getPresamplerHVModule ();
487  if(ElectInd >= 2) {
488  ATH_MSG_ERROR("Wrong igap "<<ElectInd<<" for EMECPS cell "<<id.get_identifier32().get_compact());
489  return -1;
490  } else {
491  return hvmodule.hvLineNo(ElectInd, &hvIdMapping);
492  }
493  }
494  }
495  }
496 //HEC
497  if (m_larhec_id->is_lar_hec(id)) {
498  if (const HECDetectorElement* hecElement = dynamic_cast<const HECDetectorElement*>(calodetdescrmgr->get_element(id))) {
499  const HECCellConstLink cell = hecElement->getHECCell();
500  unsigned int nsubgaps = cell->getNumSubgaps();
501  if( ElectInd >= nsubgaps) {
502  ATH_MSG_ERROR("Wrong igap "<<ElectInd<<" for HEC cell "<<id.get_identifier32().get_compact());
503  return -1;
504  } else {
505  return cell->getSubgap(ElectInd).hvLineNo(&hvIdMapping);
506  }
507  }
508  }
509 //FCAL
510  if (m_larfcal_id->is_lar_fcal(id)) {
511  if (const FCALDetectorElement* fcalElement = dynamic_cast<const FCALDetectorElement*>(calodetdescrmgr->get_element(id))) {
512  const FCALTile* tile = fcalElement->getFCALTile();
513  unsigned int nlines = FCALTile::getNumHVLines();
514  if( ElectInd >= nlines) {
515  ATH_MSG_ERROR("Wrong line "<<ElectInd<<" for FCAL cell "<<id.get_identifier32().get_compact());
516  return -1;
517  } else {
518  const FCALHVLine* line2 = tile->getHVLine(ElectInd);
519  if(line2) {
520  return line2->hvLineNo(&hvIdMapping);
521  } else {
522  ATH_MSG_ERROR("Do not have HVLine for "<<ElectInd<<" for FCAL cell "<<id.get_identifier32().get_compact());
523  return -1;
524  }
525  }
526  }
527  }
528 
529  // should not get up to this point....
530  return -1;
531 
532 }

◆ initialize()

StatusCode LArHVPathologyDbAlg::initialize ( )
overridevirtual

Definition at line 55 of file LArHVPathologyDbAlg.cxx.

56 {
57  ATH_MSG_INFO(" in initialize()");
58 
59  if(m_folder.value().empty()) {
60  ATH_MSG_ERROR("Folder property not set. Exiting ... ");
61  return StatusCode::FAILURE;
62  }
63 
64  // Get HVPathology tool
65  ATH_CHECK(m_pathologyTool.retrieve());
66 
67  // Get the IOVRegistrationSvc when needed
68  if(m_writeCondObjs) ATH_CHECK(m_regSvc.retrieve());
69 
70  // retrieve LArEM id helpers
72 
76 
77  ATH_CHECK(detStore()->retrieve(m_laronline_id,"LArOnlineID"));
78 
82 
83  return StatusCode::SUCCESS;
84 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

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]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

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.

◆ printCondObjects()

StatusCode LArHVPathologyDbAlg::printCondObjects ( const EventContext &  ctx,
const CaloDetDescrManager calodetdescrmgr 
)
private

Definition at line 252 of file LArHVPathologyDbAlg.cxx.

253 {
254  ATH_MSG_INFO(" in printCondObjects() ");
255 
258  const LArOnOffIdMapping *cabling = *cabHdl;
259  if(!cabling) {
260  ATH_MSG_ERROR("Do not have cabling object with key " << m_cablingKey.key());
261  return StatusCode::FAILURE;
262  }
263 
264  std::ofstream *fout=nullptr;
265  const AthenaAttributeList* attrlist = nullptr;
266  StatusCode sc = detStore()->retrieve(attrlist,m_folder);
267 
268  if(sc.isFailure())
269  ATH_MSG_WARNING("Could not find object for " << m_folder);
270  else {
271  LArHVPathologiesDb* pathologyContainer = m_pathologyTool->attrList2HvPathology(*attrlist);
272  ATH_MSG_INFO("Unpacked pathologies from Attribute List for " << m_folder);
273  if(!m_outFile.value().empty()) {
274  fout = new std::ofstream(m_outFile.value().c_str());
275  if((!fout) || (fout && !(fout->good()))) {
276  ATH_MSG_WARNING("Could not open output file: " << m_outFile.value());
277  fout=nullptr;
278  }
279  if(fout) *fout<<m_folder.value()<<std::endl;
280  }
281  for(unsigned i=0; i<pathologyContainer->m_v.size(); ++i) {
282  LArHVPathologiesDb::LArHVElectPathologyDb electPath = pathologyContainer->m_v[i];
283  if(m_mode==0) {
284  ATH_MSG_INFO("Got pathology for cell ID: " << electPath.cellID
285  << "(" << electPath.electInd
286  << "," << electPath.pathologyType << ") ");
287  if(fout) *fout<<electPath.cellID<<"\t"<<electPath.electInd<<"\t"<<electPath.pathologyType<<std::endl;
288  } else {
289  ATH_MSG_INFO("Got pathology for cell ID: " << electPath.cellID);
290  HWIdentifier hwid = cabling->createSignalChannelID(Identifier32(electPath.cellID));
291  int HVLine=getHVline(**hvIdMapping,Identifier(electPath.cellID),electPath.electInd,calodetdescrmgr);
292  if(HVLine<0) {
293  ATH_MSG_ERROR("No HVline for cell "<<electPath.cellID);
294  } else {
295  int hvmodule=HVLine/1000;
296  int hvline=HVLine%1000;
297  if(m_mode==1) {
298  ATH_MSG_INFO(m_laronline_id->barrel_ec(hwid) << " " << m_laronline_id->pos_neg(hwid) << " " << m_laronline_id->feedthrough(hwid) << " " << m_laronline_id->slot(hwid) << " " << m_laronline_id->channel(hwid) << " " << hvmodule << " " << hvline << " " << electPath.pathologyType);
299  if(fout) *fout << m_laronline_id->barrel_ec(hwid) << " " << m_laronline_id->pos_neg(hwid) << " " << m_laronline_id->feedthrough(hwid) << " " << m_laronline_id->slot(hwid) << " " << m_laronline_id->channel(hwid) << " " << hvmodule << " " << hvline << " " << electPath.pathologyType << std::endl;
300  } else if (m_mode==2){
301  ATH_MSG_INFO(m_laronline_id->barrel_ec(hwid) << " " << m_laronline_id->pos_neg(hwid) << " " << m_laronline_id->feedthrough(hwid) << " " << m_laronline_id->slot(hwid) << " " << m_laronline_id->channel(hwid) << " " << hvmodule << " " << hvline << " " << ((electPath.pathologyType&0xFF0)>>4));
302  if(fout) *fout << m_laronline_id->barrel_ec(hwid) << " " << m_laronline_id->pos_neg(hwid) << " " << m_laronline_id->feedthrough(hwid) << " " << m_laronline_id->slot(hwid) << " " << m_laronline_id->channel(hwid) << " " << hvmodule << " " << hvline << " " << ((electPath.pathologyType&0xFFF0)>>4) << std::endl;
303 
304  }
305  }
306  }
307  }
308  delete pathologyContainer;
309  }
310  if(fout) fout->close();
311  return sc;
312 }

◆ registerCondObjects()

StatusCode LArHVPathologyDbAlg::registerCondObjects ( )
private

Definition at line 314 of file LArHVPathologyDbAlg.cxx.

315 {
316  ATH_MSG_INFO("entering registerCondObject()" );
317 
318  std::string objname("AthenaAttributeList");
319 
320  StatusCode sc = m_regSvc->registerIOV(objname, m_folder, m_outpTag);
321  if(!sc.isSuccess())
322  ATH_MSG_ERROR("Could not register (" << objname << ", " << m_outpTag << ") in IOV DB ");
323  else
324  ATH_MSG_INFO("Successfully registered");
325 
326  return sc;
327 }

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ stop()

StatusCode LArHVPathologyDbAlg::stop ( )
overridevirtual

Definition at line 119 of file LArHVPathologyDbAlg.cxx.

120 {
121  ATH_MSG_INFO(" in stop()");
122  StatusCode sc= StatusCode::SUCCESS;
123 
124  if(m_writeCondObjs) {
126  if(!sc.isSuccess()) {
127  ATH_MSG_ERROR("Could not register objects");
128  return sc;
129  }
130  else {
131  ATH_MSG_INFO("Register OK");
132  }
133  }
134 
135  return sc;
136 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArHVPathologyDbAlg::m_cablingKey {this, "OnOffMap", "LArOnOffIdMap", "SG key for mapping object"}
private

Definition at line 66 of file LArHVPathologyDbAlg.h.

◆ m_caloIdMgr

const CaloIdManager* LArHVPathologyDbAlg::m_caloIdMgr {nullptr}
private

Definition at line 58 of file LArHVPathologyDbAlg.h.

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> LArHVPathologyDbAlg::m_caloMgrKey {this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store" }
private

Definition at line 68 of file LArHVPathologyDbAlg.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_folder

StringProperty LArHVPathologyDbAlg::m_folder
private

Definition at line 50 of file LArHVPathologyDbAlg.h.

◆ m_hvCablingKey

SG::ReadCondHandleKey<LArHVIdMapping> LArHVPathologyDbAlg::m_hvCablingKey {this, "LArHVIdMapping", "LArHVIdMap", "SG key for HV ID mapping"}
private

Definition at line 64 of file LArHVPathologyDbAlg.h.

◆ m_inpFile

StringProperty LArHVPathologyDbAlg::m_inpFile
private

Definition at line 47 of file LArHVPathologyDbAlg.h.

◆ m_larem_id

const LArEM_ID* LArHVPathologyDbAlg::m_larem_id {nullptr}
private

Definition at line 59 of file LArHVPathologyDbAlg.h.

◆ m_larfcal_id

const LArFCAL_ID* LArHVPathologyDbAlg::m_larfcal_id {nullptr}
private

Definition at line 61 of file LArHVPathologyDbAlg.h.

◆ m_larhec_id

const LArHEC_ID* LArHVPathologyDbAlg::m_larhec_id {nullptr}
private

Definition at line 60 of file LArHVPathologyDbAlg.h.

◆ m_laronline_id

const LArOnlineID* LArHVPathologyDbAlg::m_laronline_id {nullptr}
private

Definition at line 62 of file LArHVPathologyDbAlg.h.

◆ m_mode

int LArHVPathologyDbAlg::m_mode
private

Definition at line 56 of file LArHVPathologyDbAlg.h.

◆ m_outFile

StringProperty LArHVPathologyDbAlg::m_outFile
private

Definition at line 48 of file LArHVPathologyDbAlg.h.

◆ m_outpTag

StringProperty LArHVPathologyDbAlg::m_outpTag
private

Definition at line 51 of file LArHVPathologyDbAlg.h.

◆ m_pathologyTool

ToolHandle<ILArHVPathologyDbTool> LArHVPathologyDbAlg::m_pathologyTool
private

Definition at line 54 of file LArHVPathologyDbAlg.h.

◆ m_regSvc

ServiceHandle<IIOVRegistrationSvc> LArHVPathologyDbAlg::m_regSvc
private

Definition at line 53 of file LArHVPathologyDbAlg.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_writeCondObjs

BooleanProperty LArHVPathologyDbAlg::m_writeCondObjs
private

Definition at line 46 of file LArHVPathologyDbAlg.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
LArHVPathologyDbAlg::m_larfcal_id
const LArFCAL_ID * m_larfcal_id
Definition: LArHVPathologyDbAlg.h:61
Identifier32
Definition: Identifier32.h:25
EMBHVElectrode
Definition: EMBHVElectrode.h:15
LArHVPathologyDbAlg::registerCondObjects
StatusCode registerCondObjects()
Definition: LArHVPathologyDbAlg.cxx:314
LArHVPathologyDbAlg::m_larem_id
const LArEM_ID * m_larem_id
Definition: LArHVPathologyDbAlg.h:59
checkFileSG.line
line
Definition: checkFileSG.py:75
EMECDetectorElement
LAr EMEC Detector Element.
Definition: CaloDetectorElements.h:116
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
LArHVPathologyDbAlg::m_folder
StringProperty m_folder
Definition: LArHVPathologyDbAlg.h:50
run.infile
string infile
Definition: run.py:13
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
AtlasDetectorID::is_lar_fcal
bool is_lar_fcal(Identifier id) const
Definition: AtlasDetectorID.h:839
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
ParticleGun_SamplingFraction.bec
int bec
Definition: ParticleGun_SamplingFraction.py:89
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
LArHVPathologyDbAlg::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArHVPathologyDbAlg.h:69
CaloIdManager::getEM_ID
const LArEM_ID * getEM_ID(void) const
Definition: CaloIdManager.cxx:80
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
python.checkUPD1.foldername
foldername
Definition: checkUPD1.py:77
LArHVPathologyDbAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArHVPathologyDbAlg.h:67
LArOnlineID_Base::slot
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...
Definition: LArOnlineID_Base.cxx:1961
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
LArEM_Base_ID::sampling
int sampling(const Identifier id) const
return sampling according to :
LArHVPathologyDbAlg::m_hvCablingKey
SG::ReadCondHandleKey< LArHVIdMapping > m_hvCablingKey
Definition: LArHVPathologyDbAlg.h:65
LArHVPathologyDbAlg::m_laronline_id
const LArOnlineID * m_laronline_id
Definition: LArHVPathologyDbAlg.h:62
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
LArHVPathologiesDb::LArHVElectPathologyDb::cellID
unsigned int cellID
Definition: LArHVPathologiesDb.h:23
EMBDetectorElement
LAr EMB Detector Element.
Definition: CaloDetectorElements.h:52
HWIdentifier
Definition: HWIdentifier.h:13
LArOnlineID_Base::barrel_ec
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
Definition: LArOnlineID_Base.cxx:1942
LArHVPathologyDbAlg::m_mode
int m_mode
Definition: LArHVPathologyDbAlg.h:56
LArHVPathologyDbAlg::m_pathologyTool
ToolHandle< ILArHVPathologyDbTool > m_pathologyTool
Definition: LArHVPathologyDbAlg.h:54
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
HECDetectorElement
LAr HEC Detector Element.
Definition: CaloDetectorElements.h:189
LArHVPathologyDbAlg::m_writeCondObjs
BooleanProperty m_writeCondObjs
Definition: LArHVPathologyDbAlg.h:46
ReadCellNoiseFromCool.tile
tile
Definition: ReadCellNoiseFromCool.py:92
FCALTile
A tile of the forward calorimeter readout geometry.
Definition: FCALTile.h:27
dumpHVPathFromNtuple.hvline
hvline
Definition: dumpHVPathFromNtuple.py:72
python.PyAthena.module
module
Definition: PyAthena.py:134
LArHVPathologiesDb::LArHVElectPathologyDb::electInd
unsigned short electInd
Definition: LArHVPathologiesDb.h:24
LArHVPathologyDbAlg::m_inpFile
StringProperty m_inpFile
Definition: LArHVPathologyDbAlg.h:47
LArHVPathologyDbAlg::m_regSvc
ServiceHandle< IIOVRegistrationSvc > m_regSvc
Definition: LArHVPathologyDbAlg.h:53
FCALHVLine
Definition: FCALHVLine.h:15
LArHVPathologyDbAlg::printCondObjects
StatusCode printCondObjects(const EventContext &ctx, const CaloDetDescrManager *calodetdescrmgr)
Definition: LArHVPathologyDbAlg.cxx:252
EMBHVElectrode::hvLineNo
int hvLineNo(int iGap, const LArHVIdMapping *hvIdMapping) const
Definition: EMBHVElectrode.cxx:43
LArOnlineID_Base::channel
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
Definition: LArOnlineID_Base.cxx:1967
CaloIdManager::getHEC_ID
const LArHEC_ID * getHEC_ID(void) const
Definition: CaloIdManager.cxx:95
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArHVPathologyDbAlg::m_outFile
StringProperty m_outFile
Definition: LArHVPathologyDbAlg.h:48
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
dqt_zlumi_alleff_HIST.fout
fout
Definition: dqt_zlumi_alleff_HIST.py:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FCALDetectorElement
LAr FCAL Detector Element.
Definition: CaloDetectorElements.h:261
CaloIdManager::getFCAL_ID
const LArFCAL_ID * getFCAL_ID(void) const
Definition: CaloIdManager.cxx:85
HECHVSubgap::hvLineNo
int hvLineNo(const LArHVIdMapping *hvIdMapping) const
Definition: HECHVSubgap.cxx:45
LArHVPathologyDbAlg::createCondObjects
StatusCode createCondObjects(const EventContext &ctx, const CaloDetDescrManager *calodetdescrmgr)
Definition: LArHVPathologyDbAlg.cxx:138
LArOnlineID_Base::channel_Id
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields
Definition: LArOnlineID_Base.cxx:1569
LArHVPathologyDbAlg::m_outpTag
StringProperty m_outpTag
Definition: LArHVPathologyDbAlg.h:51
LArOnlineID_Base::pos_neg
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...
Definition: LArOnlineID_Base.cxx:1954
EMBPresamplerHVModule::hvLineNo
int hvLineNo(int iGap, const LArHVIdMapping *hvIdMapping) const
Definition: EMBPresamplerHVModule.cxx:91
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthenaAttributeList
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
Definition: PersistentDataModel/PersistentDataModel/AthenaAttributeList.h:45
AtlasDetectorID::is_lar_hec
bool is_lar_hec(Identifier id) const
Definition: AtlasDetectorID.h:829
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
FCALTile::getNumHVLines
static unsigned int getNumHVLines()
Get num hvlines.
Definition: FCALTile.cxx:81
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
LArHVPathologiesDb::LArHVElectPathologyDb::pathologyType
unsigned short pathologyType
Definition: LArHVPathologiesDb.h:25
LArHVPathologyDbAlg::getElectInd
std::vector< unsigned int > getElectInd(const LArHVIdMapping &hvIdMapping, const Identifier &id, unsigned int module, unsigned int line, const CaloDetDescrManager *calodetdescrmgr)
Definition: LArHVPathologyDbAlg.cxx:330
EMECPresamplerHVModule::hvLineNo
int hvLineNo(int iGap, const LArHVIdMapping *hvIdMapping) const
Definition: EMECPresamplerHVModule.cxx:74
LArHVPathologiesDb
Definition: LArHVPathologiesDb.h:19
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArHVPathologiesDb::m_v
std::vector< LArHVElectPathologyDb > m_v
Definition: LArHVPathologiesDb.h:31
LArEM_Base_ID::barrel_ec
int barrel_ec(const Identifier id) const
return barrel_ec according to :
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LArNewCalib_Delay_OFC_Cali.FT
FT
Definition: LArNewCalib_Delay_OFC_Cali.py:120
LArHVPathologyDbAlg::m_larhec_id
const LArHEC_ID * m_larhec_id
Definition: LArHVPathologyDbAlg.h:60
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
LArOnlineID_Base::feedthrough
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
Definition: LArOnlineID_Base.cxx:1948
a
TList * a
Definition: liststreamerinfos.cxx:10
h
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
LArHVPathologyDbAlg::getHVline
int getHVline(const LArHVIdMapping &hvIdMapping, const Identifier &id, short unsigned int ElectInd, const CaloDetDescrManager *calodetdescrmgr)
Definition: LArHVPathologyDbAlg.cxx:430
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
EMECPresamplerHVModule
Describes one HV Module within the EMEc Presampler.
Definition: EMECPresamplerHVModule.h:22
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
LArG4FSStartPointFilterLegacy.line2
line2
Definition: LArG4FSStartPointFilterLegacy.py:59
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
LArHVPathologyDbAlg::m_caloIdMgr
const CaloIdManager * m_caloIdMgr
Definition: LArHVPathologyDbAlg.h:58
EMECHVElectrode
Definition: EMECHVElectrode.h:15
AtlasDetectorID::is_lar_em
bool is_lar_em(Identifier id) const
Definition: AtlasDetectorID.h:818
LArHVPathologiesDb::LArHVElectPathologyDb
Definition: LArHVPathologiesDb.h:22
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
HECHVSubgap
Definition: HECHVSubgap.h:15
EMECHVElectrode::hvLineNo
int hvLineNo(int iGap, const LArHVIdMapping *hvIdMapping) const
Definition: EMECHVElectrode.cxx:49
EMBPresamplerHVModule
Describes one HV Module within the EMB Presampler.
Definition: EMBPresamplerHVModule.h:22
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20