ATLAS Offline Software
Loading...
Searching...
No Matches
LArParams2Ntuple Class Reference

This algorithm produces a column-wise NTuple out of several complete structures. More...

#include <LArParams2Ntuple.h>

Inheritance diagram for LArParams2Ntuple:

Classes

class  DumpFlags

Public Member Functions

 LArParams2Ntuple (const std::string &name, ISvcLocator *pSvcLocator)
 ~LArParams2Ntuple ()
StatusCode initialize ()
StatusCode execute ()
virtual StatusCode stop ()
StatusCode finalize ()
bool fillFromIdentifier (const HWIdentifier &id)
const SG::ReadCondHandleKey< LArOnOffIdMapping > & cablingKey () const
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Types

enum  { NOT_VALID = -999 }

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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.

Protected Attributes

Gaudi::Property< bool > m_addBC {this, "AddBadChannelInfo", true, "dump BadChan info ?"}
Gaudi::Property< bool > m_addFEBTemp {this, "AddFEBTempInfo", false, "dump FEB temperature info ?"}
Gaudi::Property< bool > m_isSC {this, "isSC", false, "are we working with SC?"}
Gaudi::Property< bool > m_isFlat {this, "isFlat", false, "are we working with Flat conditions ?"}
Gaudi::Property< bool > m_OffId {this, "OffId", false, "dump also offline ID ?"}
Gaudi::Property< bool > m_addHash {this, "AddHash", false, "add also ID hash info ?"}
Gaudi::Property< bool > m_addCalib {this, "AddCalib", false, "add also calib line info info ?"}
Gaudi::Property< bool > m_realgeom {this, "RealGeometry", false, "add real geometry values ?"}
Gaudi::Property< bool > m_expandId {this,"ExpandId", true ,"add online Id decoded fields ?"}
std::string m_ntpath
std::string m_ntTitle
NTuple::Tuple * m_nt
NTuple::Item< long > m_detector
NTuple::Item< long > m_region
NTuple::Item< long > m_layer
NTuple::Item< long > m_eta
NTuple::Item< long > m_phi
NTuple::Item< long > m_onlChanId
NTuple::Item< long > m_oflChanId
NTuple::Item< long > m_pos_neg
NTuple::Item< long > m_barrel_ec
NTuple::Item< long > m_FT
NTuple::Item< long > m_slot
NTuple::Item< long > m_channel
NTuple::Item< long > m_calibLine
NTuple::Item< long > m_badChanWord
NTuple::Item< long > m_isConnected
NTuple::Item< long > m_chanHash
NTuple::Item< long > m_febHash
NTuple::Item< long > m_oflHash
NTuple::Item< float > m_reta
NTuple::Item< float > m_rphi
NTuple::Item< float > m_FEBTemp1
NTuple::Item< float > m_FEBTemp2
StoreGateSvcm_detStore
const LArEM_Base_IDm_emId
const LArHEC_Base_IDm_hecId
const LArFCAL_Base_IDm_fcalId
const LArOnlineID_Basem_onlineId
const CaloCell_Base_IDm_caloId
ToolHandle< ILArFEBTempToolm_FEBTempTool
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingSCKey {this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< LArBadChannelContm_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
SG::ReadCondHandleKey< LArCalibLineMappingm_calibMapKey {this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"}
SG::ReadCondHandleKey< LArCalibLineMappingm_calibMapSCKey {this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"}
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey {this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"}
SG::ReadCondHandleKey< CaloSuperCellDetDescrManagerm_caloSuperCellMgrKey {this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" }

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

template<class DATA>
StatusCode scanReadoutChannels (const DATA *&data_object)
template<class DATA>
StatusCode scanCalibChannels (const DATA *&data_object)
template<class DATA>
StatusCode retrieveFromDetStore (const DATA *&data_object)
StatusCode retrieveAbstractInterface (const LArCaliPulseParamsComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArDetCellParamsComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArPhysCaliTdiffComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArTdriftComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArMphysOverMcalComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArRinjComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArTshaperComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArEMEC_CphiComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArEMEC_HValphaComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArEMEC_HVbetaComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArCableLengthComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArCableAttenuationComplete *&data_object)
StatusCode retrieveAbstractInterface (const LArOFCBinComplete *&)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

std::vector< std::string > m_classNames
std::vector< std::string > m_detStoreKeys
std::vector< std::string > m_detStoreJo
bool m_allChannels2Ntuple
bool m_useAbstractInterface
std::string m_ntName
std::vector< std::string > m_keylist
DumpFlags m_dumpFlags
std::string m_suffix
std::vector< std::map< HWIdentifier, DumpFlags > > m_dump_flags_map
const LArCaliPulseParamsCompletem_completeCaliPulseParams
const LArDetCellParamsCompletem_completeDetCellParams
const LArPhysCaliTdiffCompletem_completePhysCaliTdiff
const LArTdriftCompletem_completeTdrift
const LArMphysOverMcalCompletem_completeMphysOverMcal
const LArRinjCompletem_completeRinj
const LArTshaperCompletem_completeTshaper
const LArEMEC_CphiCompletem_completeEMEC_Cphi
const LArEMEC_HValphaCompletem_completeEMEC_HValpha
const LArEMEC_HVbetaCompletem_completeEMEC_HVbeta
const LArCableLengthCompletem_completeCableLength
const LArCableAttenuationCompletem_completeCableAttenuation
const LArOFCBinCompletem_completeOFCBin
bool m_initialized
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Static Private Attributes

static const unsigned m_nClasses = LArParamsProperties::END_OF_LIST

Detailed Description

This algorithm produces a column-wise NTuple out of several complete structures.

Only the finalize method is used, initalize and execute are empty.

Author
M. Fanti
  1. 2. 2004

Definition at line 23 of file LArParams2Ntuple.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
NOT_VALID 

Definition at line 63 of file LArCond2NtupleBase.h.

Constructor & Destructor Documentation

◆ LArParams2Ntuple()

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

Definition at line 12 of file LArParams2Ntuple.cxx.

13 : LArCond2NtupleBase(name, pSvcLocator),
15 m_completeTdrift(nullptr), m_completeMphysOverMcal(nullptr), m_completeRinj(nullptr), m_completeTshaper(nullptr),
18 m_completeOFCBin(nullptr)
19{
20 //declareProperty("DumpAllOnlineChannels",m_dumpAllOnlineChannels=std::string("")) ;
21 declareProperty("DetStoreSuffix",m_suffix=std::string("")) ;
22 declareProperty("AllChannels2Ntuple",m_allChannels2Ntuple=false) ;
23 declareProperty("UseAbstractInterface",m_useAbstractInterface=false) ;
24 declareProperty("NtupleName",m_ntName="PARAMS");
25 m_keylist.clear() ;
26 declareProperty("KeyList",m_keylist);
27 m_detStoreJo.clear();
28 declareProperty("DBKeysList",m_detStoreJo);
29
31
32 // set default keywords for detector store retrieval
33
35 for ( unsigned i=0 ; i<m_nClasses ; i++ )
37
38}
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
LArCond2NtupleBase(const std::string &name, ISvcLocator *pSvcLocator)
const LArEMEC_HVbetaComplete * m_completeEMEC_HVbeta
const LArTdriftComplete * m_completeTdrift
const LArPhysCaliTdiffComplete * m_completePhysCaliTdiff
const LArDetCellParamsComplete * m_completeDetCellParams
const LArEMEC_HValphaComplete * m_completeEMEC_HValpha
std::vector< std::string > m_detStoreJo
const LArEMEC_CphiComplete * m_completeEMEC_Cphi
std::vector< std::string > m_detStoreKeys
const LArCaliPulseParamsComplete * m_completeCaliPulseParams
std::vector< std::string > m_keylist
const LArOFCBinComplete * m_completeOFCBin
const LArMphysOverMcalComplete * m_completeMphysOverMcal
static const unsigned m_nClasses
const LArRinjComplete * m_completeRinj
const LArTshaperComplete * m_completeTshaper
const LArCableLengthComplete * m_completeCableLength
const LArCableAttenuationComplete * m_completeCableAttenuation
std::vector< std::string > m_classNames
std::string keyword(const std::string &classname)
const std::vector< std::string > & ClassNames()

◆ ~LArParams2Ntuple()

LArParams2Ntuple::~LArParams2Ntuple ( )
default

Member Function Documentation

◆ cablingKey()

const SG::ReadCondHandleKey< LArOnOffIdMapping > & LArCond2NtupleBase::cablingKey ( ) const
inherited

Definition at line 456 of file LArCond2NtupleBase.cxx.

457{
458 if(m_isSC) return m_cablingSCKey;
459 return m_cablingKey;
460}
Gaudi::Property< bool > m_isSC
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey

◆ declareGaudiProperty()

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

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

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }

◆ declareProperty()

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

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ 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.

◆ evtStore()

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.

◆ execute()

StatusCode LArParams2Ntuple::execute ( )
inline

Definition at line 32 of file LArParams2Ntuple.h.

32{return StatusCode::SUCCESS;}

◆ 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}
DataObjIDColl m_extendedExtraObjects

◆ fillFromIdentifier()

bool LArCond2NtupleBase::fillFromIdentifier ( const HWIdentifier & id)
inherited

Definition at line 288 of file LArCond2NtupleBase.cxx.

288 {
289
290 ATH_MSG_VERBOSE("Starting fillFromIdentifier");
291 const LArBadChannelCont *bcCont = nullptr;
292 if ( m_addBC ) {
293 SG::ReadCondHandle<LArBadChannelCont> readHandle{m_BCKey};
294 bcCont =*readHandle;
295 if( !bcCont) {
296 ATH_MSG_WARNING( "Do not have Bad chan container " << m_BCKey.key() );
297 return false;
298 }
299 }
300
301 const LArCalibLineMapping *clCont=nullptr;
302 if(m_addCalib) {
303 if(m_isSC){
304 SG::ReadCondHandle<LArCalibLineMapping> clHdl{m_calibMapSCKey};
305 clCont={*clHdl};
306 }
307 else{
308 SG::ReadCondHandle<LArCalibLineMapping> clHdl{m_calibMapKey};
309 clCont={*clHdl};
310 }
311 if(!clCont) {
312 ATH_MSG_WARNING( "Do not have calib line mapping !!!" );
313 return false;
314 }
315 }
316
317 const LArOnOffIdMapping* cabling=nullptr;
318 if(m_isSC){
319 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingSCKey};
320 cabling=*cablingHdl;
321 }
322 else{
323 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
324 cabling=*cablingHdl;
325 }
326
327 if(!cabling) {
328 ATH_MSG_WARNING( "Do not have cabling !" );
329 return false;
330 }
331
332 m_onlChanId = hwid.get_identifier32().get_compact();
333
334 if(m_expandId) {
335 m_barrel_ec = m_onlineId->barrel_ec(hwid);
336 m_pos_neg = m_onlineId->pos_neg(hwid);
337 m_FT = m_onlineId->feedthrough(hwid);
338 m_slot = m_onlineId->slot(hwid);
339 m_channel = m_onlineId->channel(hwid);
340 }
341
342 if (m_addHash) {
343 m_chanHash=m_onlineId->channel_Hash(hwid);
344 m_febHash=m_onlineId->feb_Hash(m_onlineId->feb_Id(hwid));
345 }
346
347 if(m_addCalib) {
349 const std::vector<HWIdentifier>& calibLineV=clCont->calibSlotLine(hwid);
350 if(!calibLineV.empty()) {
351 if(m_isSC) {
352 //FIXME - that is hacky, but do not have legacy helper in case of SC
353 m_calibLine = ((hwid.get_identifier32().get_compact())>>8)&0x7F;
354 } else {
355 m_calibLine = m_onlineId->channel(calibLineV[0]);
356 }
357 }
358 }
359
360
361 if ( m_OffId ) {
366
367 if(m_realgeom){
370 }
374 }
375
376 if (m_addBC) m_badChanWord=0;
377 bool connected=false;
378
379 const CaloDetDescrManager_Base* dd_man = nullptr;
380 if (m_realgeom) {
381 if(m_isSC) {
382 SG::ReadCondHandle<CaloSuperCellDetDescrManager> caloSuperCellMgrHandle{m_caloSuperCellMgrKey};
383 dd_man = *caloSuperCellMgrHandle;
384 }
385 else {
386 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey};
387 dd_man = *caloMgrHandle;
388 }
389 }
390
391 try {
392 if (cabling->isOnlineConnected(hwid)) {
393 Identifier id=cabling->cnvToIdentifier(hwid);
394 if ( m_OffId ) {
395 m_oflChanId = id.get_identifier32().get_compact();
396 if (m_addHash) m_oflHash=m_caloId->calo_cell_hash(id);
397
398 if (dd_man) {
399 const CaloDetDescrElement *elem = dd_man->get_element(id);
400 if(!elem) {
401 ATH_MSG_WARNING("Do not have CDDE for "<<id.getString());
402 } else {
403 m_reta = elem->eta_raw();
404 m_rphi = elem->phi_raw();
405 }
406 }
407
408 if (m_emId->is_lar_em(id)) {
409 m_eta = m_emId->eta(id);
410 m_phi = m_emId->phi(id);
411 m_layer = m_emId->sampling(id);
412 m_region = m_emId->region(id);
413 m_detector = std::abs(m_emId->barrel_ec(id)) - 1; //0-barrel, 1-EMEC-OW, 2-EMEC-IW
414 }
415 else if (m_hecId->is_lar_hec(id)) {
416 m_eta = m_hecId->eta(id);
417 m_phi = m_hecId->phi(id);
418 m_layer = m_hecId->sampling(id);
419 m_region = m_hecId->region(id);
420 m_detector = 3;
421 }
422 else if (m_fcalId->is_lar_fcal(id)) {
423 m_eta = m_fcalId->eta(id);
424 m_phi = m_fcalId->phi(id);
425 m_layer = m_fcalId->module(id);
426 m_region = 0;
427 m_detector = 4;
428 }
429 } // m_OffId
430 connected=true;
431 }//end if is connected
432 }catch (LArID_Exception & except) {}
433
434 //bad-channel word
435 if (m_addBC) m_badChanWord=bcCont->status(hwid).packedData();
436 // FEB temperatures
437 if (m_addFEBTemp) {
438 FEBTemp tv = m_FEBTempTool->getFebTemp(hwid);
439 if( !tv.empty() ) {
440 FEBTemp::const_iterator itb = tv.begin();
441 FEBTemp::const_iterator ite = tv.end();
442 for(;itb!=ite;++itb) {
443 m_FEBTemp1 = (*itb).first;
444 m_FEBTemp2 = (*itb).second;
445 }
446 }
447 }
448
449 if(m_addCalib) m_isConnected = (long)connected;
450
451 return connected;
452}
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
std::vector< std::pair< float, float > > FEBTemp
LArBadXCont< LArBadChannel > LArBadChannelCont
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
BitWord packedData() const
LArBC_t status(const HWIdentifier channel) const
Query the status of a particular channel or FEB This is the main client access method.
const std::vector< HWIdentifier > & calibSlotLine(const HWIdentifier id) const
NTuple::Item< long > m_isConnected
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
const CaloCell_Base_ID * m_caloId
NTuple::Item< long > m_calibLine
NTuple::Item< long > m_region
NTuple::Item< long > m_layer
NTuple::Item< long > m_chanHash
Gaudi::Property< bool > m_addCalib
NTuple::Item< float > m_reta
const LArEM_Base_ID * m_emId
NTuple::Item< long > m_onlChanId
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
Gaudi::Property< bool > m_addHash
NTuple::Item< long > m_eta
ToolHandle< ILArFEBTempTool > m_FEBTempTool
NTuple::Item< long > m_barrel_ec
NTuple::Item< long > m_FT
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
const LArHEC_Base_ID * m_hecId
NTuple::Item< long > m_oflHash
NTuple::Item< float > m_rphi
Gaudi::Property< bool > m_realgeom
NTuple::Item< long > m_slot
NTuple::Item< long > m_febHash
NTuple::Item< long > m_detector
NTuple::Item< float > m_FEBTemp1
NTuple::Item< long > m_oflChanId
NTuple::Item< float > m_FEBTemp2
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
NTuple::Item< long > m_phi
NTuple::Item< long > m_badChanWord
const LArOnlineID_Base * m_onlineId
Gaudi::Property< bool > m_addBC
NTuple::Item< long > m_channel
const LArFCAL_Base_ID * m_fcalId
NTuple::Item< long > m_pos_neg
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapSCKey
Gaudi::Property< bool > m_expandId
Gaudi::Property< bool > m_addFEBTemp
Gaudi::Property< bool > m_OffId

◆ finalize()

StatusCode LArParams2Ntuple::finalize ( )
inline

Definition at line 34 of file LArParams2Ntuple.h.

34{return StatusCode::SUCCESS;}

◆ initialize()

StatusCode LArParams2Ntuple::initialize ( )

Definition at line 43 of file LArParams2Ntuple.cxx.

43 {
44
46 m_ntpath=std::string("/NTUPLES/FILE1/")+m_ntName;
47
48 if ( m_classNames.size() != m_nClasses ) { // should never happen! but just to be sure...
49 ATH_MSG_FATAL( "List of class names does not match foreseen number of classes, cannot go on!" ) ;
50 return StatusCode::FAILURE ;
51 }
52 for ( unsigned i=0 ; i<m_keylist.size() ; i++ ) {
53 ATH_MSG_DEBUG("examinimg key " << m_keylist[i] << "...");
55 ATH_MSG_DEBUG("... class index " << idx);
56 if ( idx >= m_nClasses ) {
57 ATH_MSG_DEBUG("key " << m_keylist[i] << " does not correspond to any foreseen class");
58 return StatusCode::FAILURE ;
59 } else {
60 ATH_MSG_INFO( "will dump " << m_keylist[i] << " to Ntuple" ) ;
61 m_dumpFlags.set(idx) ;
62 }
63 }
64
65 ATH_MSG_INFO("LArParams2Ntuple 3");
67 ATH_MSG_INFO( "All parameters will be accessed through abstract interface" ) ;
68 if ( ! m_allChannels2Ntuple ) {
69 ATH_MSG_WARNING( "This will force dumping to Ntuple all foreseen online channels!" ) ;
71 }
72 } else {
73 ATH_MSG_INFO( "All parameters will be accessed through their Complete/VsCalib class" ) ;
74 }
76 ATH_MSG_INFO( "All foreseen online channels will be written to Ntuple" ) ;
77 } else {
78 ATH_MSG_INFO( "Only channels with sensible parameters will be written to Ntuple (default)" ) ;
79 }
80
82}
#define ATH_MSG_FATAL(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_DEBUG(x)
unsigned getClassIndex(const LArCaliPulseParamsComplete *)

◆ 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()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ 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.

◆ 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();
384 }
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)

◆ 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 {
366 }

◆ retrieveAbstractInterface() [1/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArCableAttenuationComplete *& data_object)
inlineprivate

Definition at line 753 of file LArParams2Ntuple.cxx.

753 {
754 const ILArCableAttenuation* abstract_object = nullptr;
755 StatusCode sc = m_detStore->retrieve(abstract_object) ;
756 data_object = dynamic_cast<const LArCableAttenuationComplete*>(abstract_object) ;
757 return sc ;
758}
static Double_t sc
StoreGateSvc * m_detStore
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ retrieveAbstractInterface() [2/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArCableLengthComplete *& data_object)
inlineprivate

Definition at line 747 of file LArParams2Ntuple.cxx.

747 {
748 const ILArCableLength* abstract_object = nullptr;
749 StatusCode sc = m_detStore->retrieve(abstract_object) ;
750 data_object = dynamic_cast<const LArCableLengthComplete*>(abstract_object) ;
751 return sc ;
752}

◆ retrieveAbstractInterface() [3/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArCaliPulseParamsComplete *& data_object)
inlineprivate

Definition at line 681 of file LArParams2Ntuple.cxx.

681 {
682 const ILArCaliPulseParams* abstract_object = nullptr;
683 StatusCode sc = m_detStore->retrieve(abstract_object) ;
684 data_object = dynamic_cast<const LArCaliPulseParamsComplete*>(abstract_object) ;
685 return sc ;
686}

◆ retrieveAbstractInterface() [4/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArDetCellParamsComplete *& data_object)
inlineprivate

Definition at line 693 of file LArParams2Ntuple.cxx.

693 {
694 const ILArDetCellParams* abstract_object = nullptr;
695 StatusCode sc = m_detStore->retrieve(abstract_object) ;
696 data_object = dynamic_cast<const LArDetCellParamsComplete*>(abstract_object) ;
697 return sc ;
698}

◆ retrieveAbstractInterface() [5/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArEMEC_CphiComplete *& data_object)
inlineprivate

Definition at line 729 of file LArParams2Ntuple.cxx.

729 {
730 const ILArEMEC_Cphi* abstract_object = nullptr;
731 StatusCode sc = m_detStore->retrieve(abstract_object) ;
732 data_object = dynamic_cast<const LArEMEC_CphiComplete*>(abstract_object) ;
733 return sc ;
734}

◆ retrieveAbstractInterface() [6/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArEMEC_HValphaComplete *& data_object)
inlineprivate

Definition at line 735 of file LArParams2Ntuple.cxx.

735 {
736 const ILArEMEC_HValpha* abstract_object = nullptr;
737 StatusCode sc = m_detStore->retrieve(abstract_object) ;
738 data_object = dynamic_cast<const LArEMEC_HValphaComplete*>(abstract_object) ;
739 return sc ;
740}

◆ retrieveAbstractInterface() [7/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArEMEC_HVbetaComplete *& data_object)
inlineprivate

Definition at line 741 of file LArParams2Ntuple.cxx.

741 {
742 const ILArEMEC_HVbeta* abstract_object = nullptr;
743 StatusCode sc = m_detStore->retrieve(abstract_object) ;
744 data_object = dynamic_cast<const LArEMEC_HVbetaComplete*>(abstract_object) ;
745 return sc ;
746}

◆ retrieveAbstractInterface() [8/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArMphysOverMcalComplete *& data_object)
inlineprivate

Definition at line 711 of file LArParams2Ntuple.cxx.

711 {
712 const ILArMphysOverMcal* abstract_object = nullptr;
713 StatusCode sc = m_detStore->retrieve(abstract_object) ;
714 data_object = dynamic_cast<const LArMphysOverMcalComplete*>(abstract_object) ;
715 return sc ;
716}

◆ retrieveAbstractInterface() [9/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArOFCBinComplete *& )
inlineprivate

Definition at line 128 of file LArParams2Ntuple.h.

128{return StatusCode::SUCCESS;};

◆ retrieveAbstractInterface() [10/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArPhysCaliTdiffComplete *& data_object)
inlineprivate

Definition at line 699 of file LArParams2Ntuple.cxx.

699 {
700 const ILArPhysCaliTdiff* abstract_object = nullptr;
701 StatusCode sc = m_detStore->retrieve(abstract_object) ;
702 data_object = dynamic_cast<const LArPhysCaliTdiffComplete*>(abstract_object) ;
703 return sc ;
704}

◆ retrieveAbstractInterface() [11/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArRinjComplete *& data_object)
inlineprivate

Definition at line 717 of file LArParams2Ntuple.cxx.

717 {
718 const ILArRinj* abstract_object = nullptr;
719 StatusCode sc = m_detStore->retrieve(abstract_object) ;
720 data_object = dynamic_cast<const LArRinjComplete*>(abstract_object) ;
721 return sc ;
722}

◆ retrieveAbstractInterface() [12/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArTdriftComplete *& data_object)
inlineprivate

Definition at line 705 of file LArParams2Ntuple.cxx.

705 {
706 const ILArTdrift* abstract_object = nullptr;
707 StatusCode sc = m_detStore->retrieve(abstract_object) ;
708 data_object = dynamic_cast<const LArTdriftComplete*>(abstract_object) ;
709 return sc ;
710}

◆ retrieveAbstractInterface() [13/13]

StatusCode LArParams2Ntuple::retrieveAbstractInterface ( const LArTshaperComplete *& data_object)
inlineprivate

Definition at line 723 of file LArParams2Ntuple.cxx.

723 {
724 const ILArTshaper* abstract_object = nullptr;
725 StatusCode sc = m_detStore->retrieve(abstract_object) ;
726 data_object = dynamic_cast<const LArTshaperComplete*>(abstract_object) ;
727 return sc ;
728}

◆ retrieveFromDetStore()

template<class DATA>
StatusCode LArParams2Ntuple::retrieveFromDetStore ( const DATA *& data_object)
private

Definition at line 641 of file LArParams2Ntuple.cxx.

641 {
642 //
643 // data_object must be a concrete object (Complete or VsCalib)
644 //
645 unsigned classIndex = LArParamsProperties::getClassIndex(data_object) ;
646 //bool useGain = LArParamsProperties::isGainDependent(data_object) ;
647 if ( classIndex >= m_nClasses ) {
648 ATH_MSG_ERROR( "Class index " << classIndex << " beyond number of known classes: " << m_nClasses ) ;
649 return StatusCode::FAILURE ;
650 }
651 std::string detStoreKey = m_detStoreKeys[classIndex] + m_suffix ;
652 std::string dataName = m_classNames[classIndex] ;
654
655 ATH_MSG_VERBOSE("Trying to retrieve " << dataName << " from detector store through abstract interface I" << detStoreKey << " ...");
657 if ( sc == StatusCode::FAILURE ) {
658 ATH_MSG_WARNING( "Could not retrieve " << dataName << " from detector store!" ) ;
659 return sc ;
660 }
661
662 } else {
663
664 ATH_MSG_VERBOSE("Trying to retrieve "<<dataName<<" from detector store with key="<<detStoreKey<<" ...");
665 StatusCode sc = m_detStore->retrieve(data_object,detStoreKey) ;
666 if ( sc == StatusCode::FAILURE ) {
667 ATH_MSG_VERBOSE("... failed! Trying without key ...");
668 StatusCode sc = m_detStore->retrieve(data_object) ;
669 }
670 if ( sc == StatusCode::FAILURE ) {
671 ATH_MSG_WARNING( "Could not retrieve " << dataName << " from detector store!" ) ;
672 return sc ;
673 }
674
675 }
676 ATH_MSG_INFO(dataName << " retrieved successfully from det store");
677 return StatusCode::SUCCESS ;
678}
#define ATH_MSG_ERROR(x)
StatusCode retrieveAbstractInterface(const LArCaliPulseParamsComplete *&data_object)

◆ scanCalibChannels()

template<class DATA>
StatusCode LArParams2Ntuple::scanCalibChannels ( const DATA *& data_object)
private

Definition at line 569 of file LArParams2Ntuple.cxx.

569 {
570
571 unsigned classIndex = LArParamsProperties::getClassIndex(data_object) ;
572 //bool useGain = LArParamsProperties::isGainDependent(data_object) ;
573 if ( classIndex >= m_nClasses ) {
574 ATH_MSG_ERROR( "Class index " << classIndex << " beyond number of known classes: " << m_nClasses ) ;
575 return StatusCode::FAILURE ;
576 }
577
578 std::string detStoreKey = m_detStoreKeys[classIndex] + m_suffix ;
579 std::string dataName = m_classNames[classIndex] ;
580
581 if ( dataName.substr(dataName.length()-7,7) != std::string("VsCalib") ) {
582 ATH_MSG_ERROR( "Function scanCalibChannels cannot be called for data class " << dataName ) ;
583 return StatusCode::FAILURE ;
584 }
585
586 ATH_MSG_VERBOSE("Trying to retrieve " << dataName << " from detector store with key="<< detStoreKey << " ...");
587
588 StatusCode sc = m_detStore->retrieve(data_object,detStoreKey) ;
589 if ( sc == StatusCode::FAILURE ) {
590 ATH_MSG_VERBOSE("... failed! Trying without key ...");
591 StatusCode sc = m_detStore->retrieve(data_object) ;
592 }
593
594 if ( sc == StatusCode::FAILURE ) {
595 ATH_MSG_ERROR( "Could not retrieve " << dataName << " from detector store!" ) ;
596 return sc ;
597 }
598
599 // loop through the data object and keep memory of valid items
600
601 ATH_MSG_VERBOSE("... " << dataName << " retrieved");
602 ATH_MSG_DEBUG(dataName << " successfully retrieved!");
603 // data_object->initialize() ;
604
605 typename DATA::Const_CB_It cb_it = data_object->begin() ;
606 typename DATA::Const_CB_It cb_it_e = data_object->end() ;
607 for ( ; cb_it!=cb_it_e ; cb_it++ ) { // loop through calibration boards
608 const typename DATA::CB_Tvec_pair & cb_params_set = *cb_it ;
609 const typename DATA::CB_Id & cb_identifier = cb_params_set.first ;
610 const typename DATA::T_vector & cb_params = cb_params_set.second ;
611 HWIdentifier cb_HWid(cb_identifier) ;
612 unsigned nchan = cb_params.size() ;
613 if (msgLvl(MSG::VERBOSE)) {
614 unsigned b_ec = m_onlineId->barrel_ec(cb_HWid) ;
615 unsigned p_n = m_onlineId->pos_neg(cb_HWid) ;
616 unsigned ft = m_onlineId->feedthrough(cb_HWid) ;
617 unsigned slot = m_onlineId->slot(cb_HWid) ;
618 ATH_MSG_VERBOSE( " ... B/EC=" << b_ec << " P/N=" << p_n << " FT=" << ft << " slot=" << slot
619 << " nchan=" << nchan ) ;
620 }//end if verbose
621
622 for ( unsigned ichan=0 ; ichan<nchan ; ichan++ ) { // loop through channels in a CB
623 if ( !m_isSC ) {
624 HWIdentifier chid = m_onlineId->calib_channel_Id(cb_HWid , ichan) ;
625 ATH_MSG_VERBOSE(" ... calib channel " << chid);
626 if ( LArParamsProperties::isValid( data_object->get(chid) ) ) {
627 for ( unsigned g=0 ; g<3 ; g++ ) {
628 DumpFlags & flags = m_dump_flags_map[g][chid] ;
629 flags.set(classIndex) ;
630 }
631 }
632 } // end of m_isSC
633 }
634
635 } // end loop over calib boards
636 return sc ;
637
638}
bool msgLvl(const MSG::Level lvl) const
std::vector< std::map< HWIdentifier, DumpFlags > > m_dump_flags_map
bool isValid(const LArCaliPulseParamsP &p)

◆ scanReadoutChannels()

template<class DATA>
StatusCode LArParams2Ntuple::scanReadoutChannels ( const DATA *& data_object)
private

Definition at line 497 of file LArParams2Ntuple.cxx.

497 {
498
499 unsigned classIndex = LArParamsProperties::getClassIndex(data_object) ;
501
502 if ( classIndex >= m_nClasses ) {
503 ATH_MSG_ERROR( "Class index " << classIndex << " beyond number of known classes: " << m_nClasses ) ;
504 return StatusCode::FAILURE ;
505 }
506
507 std::string detStoreKey;
508 if (!m_detStoreJo.empty() && !m_detStoreJo[classIndex].empty()) {
509 detStoreKey = m_detStoreJo[classIndex];
510 ATH_MSG_VERBOSE(classIndex<<" detStoreKey = "<<detStoreKey);
511 } else {
512 detStoreKey = m_detStoreKeys[classIndex] + m_suffix ;
513 }
514
515 std::string dataName = m_classNames[classIndex] ;
516
517 if ( dataName.substr(dataName.length()-8,8) != std::string("Complete") ) {
518 ATH_MSG_ERROR( "Function scanReadoutChannels cannot be called for data class " << dataName ) ;
519 return StatusCode::FAILURE ;
520 }
521
522 ATH_MSG_VERBOSE("Trying to retrieve " << dataName << " from detector store with key="<< detStoreKey << " ...");
523
524 StatusCode sc = m_detStore->retrieve(data_object,detStoreKey) ;
525 if ( sc == StatusCode::FAILURE ) {
526 ATH_MSG_VERBOSE("... failed! Trying without key ...");
527 StatusCode sc = m_detStore->retrieve(data_object) ;
528 }
529
530 if ( sc == StatusCode::FAILURE ) {
531 ATH_MSG_ERROR( "Could not retrieve " << dataName << " from detector store!" ) ;
532 return sc ;
533 }
534
535 // loop through the data object and keep memory of valid items
536
537 ATH_MSG_VERBOSE("... " << dataName << " retrieved");
538
539 unsigned nGains = (int)CaloGain::LARNGAIN ;
540 if ( ! useGain ) nGains = 1 ; // data are gain-independent
541
542 for ( unsigned gain=0 ; gain<nGains ; gain++) {
543 ATH_MSG_VERBOSE("... parsing gain " << gain);
544 typename DATA::ConstConditionsMapIterator it = data_object->begin(gain) ;
545 typename DATA::ConstConditionsMapIterator it_e = data_object->end(gain) ;
546 for ( ; it!=it_e ; it++ ) {
547 HWIdentifier chid = m_onlineId->channel_Id( HWIdentifier(it.getFebId()) , it.getChannel() ) ;
548 ATH_MSG_VERBOSE(" ... channel " << std::hex << chid.get_compact()<< std::dec);
549 if ( LArParamsProperties::isValid( data_object->get(chid,gain) ) ) {
550 if ( useGain ) {
552 flags.set(classIndex) ;
553 } else {
554 for ( unsigned g=0 ; g<3 ; g++ ) {
555 DumpFlags & flags = m_dump_flags_map[g][chid] ;
556 flags.set(classIndex) ;
557 }
558 }
559 } else {
560 ATH_MSG_VERBOSE(" (looks empty!)");
561 } // endif isValid
562 } // end loop over channels
563 } // end loop over gains
564 return sc ;
565
566}
value_type get_compact() const
Get the compact id.
@ LARNGAIN
Definition CaloGain.h:19
bool isGainDependent(unsigned index)

◆ stop()

StatusCode LArParams2Ntuple::stop ( )
virtual

Definition at line 85 of file LArParams2Ntuple.cxx.

85 {
86
87
88 // ntuple handling:
89 //------------------
90 NTuple::Item<long> ntcellIndex;
91 NTuple::Item<long> ntflag, ntgain;
92
93 // .................... CaliPulseParams:
94 NTuple::Item<double> ntTcal, ntFstep, ntOffset, ntdTimeCal ;
95 NTuple::Item<long> ntnCB ;
96 // .................... DetCellParams:
97 NTuple::Item<double> ntOmega0, ntTaur ;
98 // .................... PhysCaliTdiff, Tdrift:
99 NTuple::Item<double> ntTdiff, ntTdrift ;
100 // .................... MphysOverMcal:
101 NTuple::Item<double> ntMphysOverMcal ;
102 // .................... Rinj, Tshaper:
103 NTuple::Item<double> ntRinj, ntTshaper ;
104 // .................... EMEC stuff:
105 NTuple::Item<double> ntEMEC_Cphi, ntEMEC_HValpha, ntEMEC_HVbeta ;
106 // .................... Cable stuff:
107 NTuple::Item<double> ntCableLength, ntCableAttenuation ;
108 // OFCBin
109 NTuple::Item<long> ntbin;
110
111 StatusCode sc=m_nt->addItem("cellIndex",ntcellIndex,0,2000);
112 if (sc!=StatusCode::SUCCESS) {
113 ATH_MSG_ERROR( "addItem 'Cell Index' failed" );
114 return StatusCode::FAILURE;
115 }
116 sc=m_nt->addItem("gain",ntgain,-1,2);
117 if (sc!=StatusCode::SUCCESS) {
118 ATH_MSG_ERROR( "addItem 'Gain' failed" );
119 return StatusCode::FAILURE;
120 }
121
123 sc=m_nt->addItem("Tcal",ntTcal);
124 if (sc!=StatusCode::SUCCESS) {
125 ATH_MSG_ERROR( "addItem 'Tcal' failed" );
126 return StatusCode::FAILURE;
127 }
128 sc=m_nt->addItem("Fstep",ntFstep);
129 if (sc!=StatusCode::SUCCESS) {
130 ATH_MSG_ERROR( "addItem 'Fstep' failed" );
131 return StatusCode::FAILURE;
132 }
133 sc=m_nt->addItem("Offset",ntOffset);
134 if (sc!=StatusCode::SUCCESS) {
135 ATH_MSG_ERROR( "addItem 'Offset' failed" );
136 return StatusCode::FAILURE;
137 }
138 sc=m_nt->addItem("dTimeCal",ntdTimeCal);
139 if (sc!=StatusCode::SUCCESS) {
140 ATH_MSG_ERROR( "addItem 'dTimeCal' failed" );
141 return StatusCode::FAILURE;
142 }
143 sc=m_nt->addItem("nCB",ntnCB);
144 if (sc!=StatusCode::SUCCESS) {
145 ATH_MSG_ERROR( "addItem 'nCB' failed" );
146 return StatusCode::FAILURE;
147 }
148 }
149
151 sc=m_nt->addItem("Omega0",ntOmega0);
152 if (sc!=StatusCode::SUCCESS) {
153 ATH_MSG_ERROR( "addItem 'Omega0' failed" );
154 return StatusCode::FAILURE;
155 }
156 sc=m_nt->addItem("Taur",ntTaur);
157 if (sc!=StatusCode::SUCCESS) {
158 ATH_MSG_ERROR( "addItem 'Taur' failed" );
159 return StatusCode::FAILURE;
160 }
161 }
162
164 sc=m_nt->addItem("Tdiff",ntTdiff);
165 if (sc!=StatusCode::SUCCESS) {
166 ATH_MSG_ERROR( "addItem 'Tdiff' failed" );
167 return StatusCode::FAILURE;
168 }
169 }
170
172 sc=m_nt->addItem("Tdrift",ntTdrift);
173 if (sc!=StatusCode::SUCCESS) {
174 ATH_MSG_ERROR( "addItem 'Tdrift' failed" );
175 return StatusCode::FAILURE;
176 }
177 }
178
180 sc=m_nt->addItem("MphysOverMcal",ntMphysOverMcal);
181 if (sc!=StatusCode::SUCCESS) {
182 ATH_MSG_ERROR( "addItem 'MphysOverMcal' failed" );
183 return StatusCode::FAILURE;
184 }
185 }
186
187 if ( m_dumpFlags[RinjComplete] ) {
188 sc=m_nt->addItem("Rinj",ntRinj);
189 if (sc!=StatusCode::SUCCESS) {
190 ATH_MSG_ERROR( "addItem 'Rinj' failed" );
191 return StatusCode::FAILURE;
192 }
193 }
194
196 sc=m_nt->addItem("Tshaper",ntTshaper);
197 if (sc!=StatusCode::SUCCESS) {
198 ATH_MSG_ERROR( "addItem 'Tshaper' failed" );
199 return StatusCode::FAILURE;
200 }
201 }
202
204 sc=m_nt->addItem("EMEC_Cphi",ntEMEC_Cphi);
205 if (sc!=StatusCode::SUCCESS) {
206 ATH_MSG_ERROR( "addItem 'EMEC_Cphi' failed" );
207 return StatusCode::FAILURE;
208 }
209 }
210
212 sc=m_nt->addItem("EMEC_HValpha",ntEMEC_HValpha);
213 if (sc!=StatusCode::SUCCESS) {
214 ATH_MSG_ERROR( "addItem 'EMEC_HValpha' failed" );
215 return StatusCode::FAILURE;
216 }
217 }
218
220 sc=m_nt->addItem("EMEC_HVbeta",ntEMEC_HVbeta);
221 if (sc!=StatusCode::SUCCESS) {
222 ATH_MSG_ERROR( "addItem 'EMEC_HVbeta' failed" );
223 return StatusCode::FAILURE;
224 }
225 }
226
228 sc=m_nt->addItem("CableLength",ntCableLength);
229 if (sc!=StatusCode::SUCCESS) {
230 ATH_MSG_ERROR( "addItem 'CableLength' failed" );
231 return StatusCode::FAILURE;
232 }
233 }
234
236 sc=m_nt->addItem("CableAttenuation",ntCableAttenuation);
237 if (sc!=StatusCode::SUCCESS) {
238 ATH_MSG_ERROR( "addItem 'CableAttenuation' failed" );
239 return StatusCode::FAILURE;
240 }
241 }
242
244 sc=m_nt->addItem("OFCBin",ntbin);
245 if (sc!=StatusCode::SUCCESS) {
246 ATH_MSG_ERROR( "addItem 'OFCBin' failed" );
247 return StatusCode::FAILURE;
248 }
249 }
250
251 //=======================================================================================================
252 // dump smaller complete structures to a common Ntuple
253 //=======================================================================================================
254
255 //
256 // first, scan all complete data structures to collect a map of channels
257 //
258
259 int nGains = (int)CaloGain::LARNGAIN ;
260
261 m_dump_flags_map.resize(nGains) ; // map of channels to be dumped; resized to host 3 gains
262
263 if ( m_allChannels2Ntuple ) {
264
265 // *** all readout channels will go into the ntuple ***
266
269 if ( sc.isFailure() ) m_dumpFlags.clear(CaliPulseParamsComplete) ;
270 }
273 if ( sc.isFailure() ) m_dumpFlags.clear(DetCellParamsComplete) ;
274 }
277 if ( sc.isFailure() ) m_dumpFlags.clear(PhysCaliTdiffComplete) ;
278 }
281 if ( sc.isFailure() ) m_dumpFlags.clear(TdriftComplete) ;
282 }
285 if ( sc.isFailure() ) m_dumpFlags.clear(MphysOverMcalComplete) ;
286 }
287 if ( m_dumpFlags[RinjComplete] ) {
289 if ( sc.isFailure() ) m_dumpFlags.clear(RinjComplete) ;
290 }
293 if ( sc.isFailure() ) m_dumpFlags.clear(TshaperComplete) ;
294 }
297 if ( sc.isFailure() ) m_dumpFlags.clear(EMEC_CphiComplete) ;
298 }
301 if ( sc.isFailure() ) m_dumpFlags.clear(EMEC_HValphaComplete) ;
302 }
305 if ( sc.isFailure() ) m_dumpFlags.clear(EMEC_HVbetaComplete) ;
306 }
309 if ( sc.isFailure() ) m_dumpFlags.clear(CableLengthComplete) ;
310 }
313 if ( sc.isFailure() ) m_dumpFlags.clear(CableAttenuationComplete) ;
314 }
315 //if ( m_dumpFlags[CaliPulseParamsVsCalib] ) {
316 // sc = retrieveFromDetStore(m_calibCaliPulseParams) ;
317 // if ( sc.isFailure() ) m_dumpFlags.clear(CaliPulseParamsVsCalib) ;
318 //}
321 if ( sc.isFailure() ) m_dumpFlags.clear(OFCBinComplete) ;
322 }
323
324 for (HWIdentifier chid : m_onlineId->channel_range()) {
325 for ( unsigned gain=0 ; (int)gain<nGains ; ++gain ) {
328 }
329 }
330 if ( ! m_isSC ) {
331 for (HWIdentifier chid : m_onlineId->calib_channel_range()) {
332 for ( unsigned gain=0 ; (int)gain<nGains ; ++gain ) {
335 }
336 }
337 }
338
339 } else {
340
341 // *** scan all complete data structures to collect a map of valid channels ***
342
343 for ( unsigned i=0 ; i<m_nClasses ; i++ ) {
344 if ( ! m_dumpFlags[i] ) continue ;
345 ATH_MSG_DEBUG(m_classNames[i] << " was selected to be dumped...");
346
347 switch ( i ) {
350 break ;
351 }
354 break ;
355 }
358 break ;
359 }
360 case TdriftComplete: {
362 break ;
363 }
366 break ;
367 }
368 case RinjComplete: {
370 break ;
371 }
372 case TshaperComplete: {
374 break ;
375 }
376 case EMEC_CphiComplete: {
378 break ;
379 }
382 break ;
383 }
384 case EMEC_HVbetaComplete: {
386 break ;
387 }
388 case CableLengthComplete: {
390 break ;
391 }
394 break ;
395 }
396 //case CaliPulseParamsVsCalib: {
397 //sc = scanCalibChannels(m_calibCaliPulseParams) ;
398 //break ;
399 //}
400 case OFCBinComplete: {
402 break ;
403 }
404 } // end switch
405
406 } // end of the channels scan
407
408 }
409
410 //
411 // ... then fill the ntuple
412 //
413
414 for ( unsigned gain=0 ; (int)gain<nGains ; gain++) {
415
416 for (const std::pair<const HWIdentifier, DumpFlags>& p : m_dump_flags_map[gain]) {
417 HWIdentifier chid = HWIdentifier(p.first) ;
418
419 const std::vector<bool> & flags = (p.second).flags() ;
420 if ( flags.empty() ) continue ;
421 if ( flags.size() < m_nClasses ) { // should never happen...
422 ATH_MSG_WARNING( "... flags vector shorter than " << m_nClasses << ": " << flags.size() ) ;
423 continue ;
424 }
425
426 fillFromIdentifier(chid); //Fill common values by base-class
427
428 if ( flags[CaliPulseParamsComplete] ) {
429 ntTcal = m_completeCaliPulseParams->Tcal(chid,gain) ;
430 ntFstep = m_completeCaliPulseParams->Fstep(chid,gain) ;
431 ntOffset = m_completeCaliPulseParams->Offset(chid,gain) ;
432 ntdTimeCal = m_completeCaliPulseParams->dTimeCal(chid,gain) ;
433 ntnCB = m_completeCaliPulseParams->nCB(chid,gain) ;
434
435 }
436 if ( flags[DetCellParamsComplete] ) {
437 ntOmega0 = m_completeDetCellParams->Omega0(chid,gain) ;
438 ntTaur = m_completeDetCellParams->Taur(chid,gain) ;
439 }
440 if ( flags[PhysCaliTdiffComplete] ) {
441 ntTdiff = m_completePhysCaliTdiff->Tdiff(chid,gain) ;
442 }
443 if ( flags[TdriftComplete] ) {
444 ntTdrift = m_completeTdrift->Tdrift(chid) ;
445 }
446 if ( flags[MphysOverMcalComplete] ) {
447 ntMphysOverMcal = m_completeMphysOverMcal->MphysOverMcal(chid,gain) ;
448 }
449 if ( flags[RinjComplete] ) {
450 ntRinj = m_completeRinj->Rinj(chid) ;
451 }
452 if ( flags[TshaperComplete] ) {
453 ntTshaper = m_completeTshaper->Tshaper(chid) ;
454 }
455 if ( flags[EMEC_CphiComplete] ) {
456 ntEMEC_Cphi = m_completeEMEC_Cphi->EMEC_Cphi(chid) ;
457 }
458 if ( flags[EMEC_HValphaComplete] ) {
459 ntEMEC_HValpha = m_completeEMEC_HValpha->EMEC_HValpha(chid) ;
460 }
461 if ( flags[EMEC_HVbetaComplete] ) {
462 ntEMEC_HVbeta = m_completeEMEC_HVbeta->EMEC_HVbeta(chid) ;
463 }
464 if ( flags[CableLengthComplete] ) {
465 ntCableLength = m_completeCableLength->CableLength(chid) ;
466 }
467 if ( flags[CableAttenuationComplete] ) {
468 ntCableAttenuation = m_completeCableAttenuation->CableAttenuation(chid) ;
469 }
470 /*
471 if ( flags[CaliPulseParamsVsCalib] ) {
472 ntTcal = m_calibCaliPulseParams->Tcal(chid,gain) ;
473 ntFstep = m_calibCaliPulseParams->Fstep(chid,gain) ;
474 ntOffset = m_calibCaliPulseParams->Offset(chid,gain) ;
475 ntdTimeCal = m_calibCaliPulseParams->dTimeCal(chid,gain) ;
476 ntnCB = m_calibCaliPulseParams->nCB(chid,gain) ;
477 }
478 */
479 if ( flags[OFCBinComplete] ) {
480 ntbin = m_completeOFCBin->bin(chid,gain) ;
481 }
482 sc=ntupleSvc()->writeRecord(m_nt);
483 if (sc!=StatusCode::SUCCESS) {
484 ATH_MSG_ERROR( "writeRecord failed" );
485 return StatusCode::FAILURE;
486 }
487 ATH_MSG_DEBUG("... record written to ntuple");
488 } // end channel loop
489 } // end gain loop
490
491ATH_MSG_INFO("LArParams2Ntuple has finished.");
492 return StatusCode::SUCCESS;
493}// end stop-method.
INTupleSvc * ntupleSvc()
bool fillFromIdentifier(const HWIdentifier &id)
StatusCode scanReadoutChannels(const DATA *&data_object)
StatusCode retrieveFromDetStore(const DATA *&data_object)

◆ 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, AthHistogramAlgorithm, and PyAthena::Alg.

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}
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ 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) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_addBC

Gaudi::Property< bool > LArCond2NtupleBase::m_addBC {this, "AddBadChannelInfo", true, "dump BadChan info ?"}
protectedinherited

Definition at line 53 of file LArCond2NtupleBase.h.

53{this, "AddBadChannelInfo", true, "dump BadChan info ?"};

◆ m_addCalib

Gaudi::Property< bool > LArCond2NtupleBase::m_addCalib {this, "AddCalib", false, "add also calib line info info ?"}
protectedinherited

Definition at line 59 of file LArCond2NtupleBase.h.

59{this, "AddCalib", false, "add also calib line info info ?"};

◆ m_addFEBTemp

Gaudi::Property< bool > LArCond2NtupleBase::m_addFEBTemp {this, "AddFEBTempInfo", false, "dump FEB temperature info ?"}
protectedinherited

Definition at line 54 of file LArCond2NtupleBase.h.

54{this, "AddFEBTempInfo", false, "dump FEB temperature info ?"};

◆ m_addHash

Gaudi::Property< bool > LArCond2NtupleBase::m_addHash {this, "AddHash", false, "add also ID hash info ?"}
protectedinherited

Definition at line 58 of file LArCond2NtupleBase.h.

58{this, "AddHash", false, "add also ID hash info ?"};

◆ m_allChannels2Ntuple

bool LArParams2Ntuple::m_allChannels2Ntuple
private

Definition at line 42 of file LArParams2Ntuple.h.

◆ m_badChanWord

NTuple::Item<long> LArCond2NtupleBase::m_badChanWord
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_barrel_ec

NTuple::Item<long> LArCond2NtupleBase::m_barrel_ec
protectedinherited

Definition at line 72 of file LArCond2NtupleBase.h.

◆ m_BCKey

SG::ReadCondHandleKey<LArBadChannelCont> LArCond2NtupleBase::m_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
protectedinherited

Definition at line 92 of file LArCond2NtupleBase.h.

92{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArCond2NtupleBase::m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
protectedinherited

Definition at line 89 of file LArCond2NtupleBase.h.

89{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};

◆ m_cablingSCKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArCond2NtupleBase::m_cablingSCKey {this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"}
protectedinherited

Definition at line 90 of file LArCond2NtupleBase.h.

90{this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"};

◆ m_calibLine

NTuple::Item<long> LArCond2NtupleBase::m_calibLine
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_calibMapKey

SG::ReadCondHandleKey<LArCalibLineMapping> LArCond2NtupleBase::m_calibMapKey {this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"}
protectedinherited

Definition at line 93 of file LArCond2NtupleBase.h.

93{this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"};

◆ m_calibMapSCKey

SG::ReadCondHandleKey<LArCalibLineMapping> LArCond2NtupleBase::m_calibMapSCKey {this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"}
protectedinherited

Definition at line 94 of file LArCond2NtupleBase.h.

94{this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"};

◆ m_caloId

const CaloCell_Base_ID* LArCond2NtupleBase::m_caloId
protectedinherited

Definition at line 86 of file LArCond2NtupleBase.h.

◆ m_caloMgrKey

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

Definition at line 96 of file LArCond2NtupleBase.h.

96{this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"};

◆ m_caloSuperCellMgrKey

SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> LArCond2NtupleBase::m_caloSuperCellMgrKey {this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" }
protectedinherited

Definition at line 97 of file LArCond2NtupleBase.h.

97{this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" };

◆ m_chanHash

NTuple::Item<long> LArCond2NtupleBase::m_chanHash
protectedinherited

Definition at line 75 of file LArCond2NtupleBase.h.

◆ m_channel

NTuple::Item<long> LArCond2NtupleBase::m_channel
protectedinherited

Definition at line 72 of file LArCond2NtupleBase.h.

◆ m_classNames

std::vector<std::string> LArParams2Ntuple::m_classNames
private

Definition at line 39 of file LArParams2Ntuple.h.

◆ m_completeCableAttenuation

const LArCableAttenuationComplete* LArParams2Ntuple::m_completeCableAttenuation
private

Definition at line 76 of file LArParams2Ntuple.h.

◆ m_completeCableLength

const LArCableLengthComplete* LArParams2Ntuple::m_completeCableLength
private

Definition at line 75 of file LArParams2Ntuple.h.

◆ m_completeCaliPulseParams

const LArCaliPulseParamsComplete* LArParams2Ntuple::m_completeCaliPulseParams
private

Definition at line 65 of file LArParams2Ntuple.h.

◆ m_completeDetCellParams

const LArDetCellParamsComplete* LArParams2Ntuple::m_completeDetCellParams
private

Definition at line 66 of file LArParams2Ntuple.h.

◆ m_completeEMEC_Cphi

const LArEMEC_CphiComplete* LArParams2Ntuple::m_completeEMEC_Cphi
private

Definition at line 72 of file LArParams2Ntuple.h.

◆ m_completeEMEC_HValpha

const LArEMEC_HValphaComplete* LArParams2Ntuple::m_completeEMEC_HValpha
private

Definition at line 73 of file LArParams2Ntuple.h.

◆ m_completeEMEC_HVbeta

const LArEMEC_HVbetaComplete* LArParams2Ntuple::m_completeEMEC_HVbeta
private

Definition at line 74 of file LArParams2Ntuple.h.

◆ m_completeMphysOverMcal

const LArMphysOverMcalComplete* LArParams2Ntuple::m_completeMphysOverMcal
private

Definition at line 69 of file LArParams2Ntuple.h.

◆ m_completeOFCBin

const LArOFCBinComplete* LArParams2Ntuple::m_completeOFCBin
private

Definition at line 78 of file LArParams2Ntuple.h.

◆ m_completePhysCaliTdiff

const LArPhysCaliTdiffComplete* LArParams2Ntuple::m_completePhysCaliTdiff
private

Definition at line 67 of file LArParams2Ntuple.h.

◆ m_completeRinj

const LArRinjComplete* LArParams2Ntuple::m_completeRinj
private

Definition at line 70 of file LArParams2Ntuple.h.

◆ m_completeTdrift

const LArTdriftComplete* LArParams2Ntuple::m_completeTdrift
private

Definition at line 68 of file LArParams2Ntuple.h.

◆ m_completeTshaper

const LArTshaperComplete* LArParams2Ntuple::m_completeTshaper
private

Definition at line 71 of file LArParams2Ntuple.h.

◆ m_detector

NTuple::Item<long> LArCond2NtupleBase::m_detector
protectedinherited

Definition at line 71 of file LArCond2NtupleBase.h.

◆ m_detStore

StoreGateSvc* LArCond2NtupleBase::m_detStore
protectedinherited

Definition at line 81 of file LArCond2NtupleBase.h.

◆ m_detStoreJo

std::vector<std::string> LArParams2Ntuple::m_detStoreJo
private

Definition at line 41 of file LArParams2Ntuple.h.

◆ m_detStoreKeys

std::vector<std::string> LArParams2Ntuple::m_detStoreKeys
private

Definition at line 40 of file LArParams2Ntuple.h.

◆ m_dump_flags_map

std::vector< std::map< HWIdentifier , DumpFlags > > LArParams2Ntuple::m_dump_flags_map
private

Definition at line 63 of file LArParams2Ntuple.h.

◆ m_dumpFlags

DumpFlags LArParams2Ntuple::m_dumpFlags
private

Definition at line 60 of file LArParams2Ntuple.h.

◆ m_emId

const LArEM_Base_ID* LArCond2NtupleBase::m_emId
protectedinherited

Definition at line 82 of file LArCond2NtupleBase.h.

◆ m_eta

NTuple::Item<long> LArCond2NtupleBase::m_eta
protectedinherited

Definition at line 71 of file LArCond2NtupleBase.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_expandId

Gaudi::Property< bool > LArCond2NtupleBase::m_expandId {this,"ExpandId", true ,"add online Id decoded fields ?"}
protectedinherited

Definition at line 61 of file LArCond2NtupleBase.h.

61{this,"ExpandId", true ,"add online Id decoded fields ?"};

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_fcalId

const LArFCAL_Base_ID* LArCond2NtupleBase::m_fcalId
protectedinherited

Definition at line 84 of file LArCond2NtupleBase.h.

◆ m_febHash

NTuple::Item<long> LArCond2NtupleBase::m_febHash
protectedinherited

Definition at line 75 of file LArCond2NtupleBase.h.

◆ m_FEBTemp1

NTuple::Item<float> LArCond2NtupleBase::m_FEBTemp1
protectedinherited

Definition at line 78 of file LArCond2NtupleBase.h.

◆ m_FEBTemp2

NTuple::Item<float> LArCond2NtupleBase::m_FEBTemp2
protectedinherited

Definition at line 78 of file LArCond2NtupleBase.h.

◆ m_FEBTempTool

ToolHandle<ILArFEBTempTool> LArCond2NtupleBase::m_FEBTempTool
protectedinherited

Definition at line 87 of file LArCond2NtupleBase.h.

◆ m_FT

NTuple::Item<long> LArCond2NtupleBase::m_FT
protectedinherited

Definition at line 72 of file LArCond2NtupleBase.h.

◆ m_hecId

const LArHEC_Base_ID* LArCond2NtupleBase::m_hecId
protectedinherited

Definition at line 83 of file LArCond2NtupleBase.h.

◆ m_initialized

bool LArCond2NtupleBase::m_initialized
privateinherited

Definition at line 50 of file LArCond2NtupleBase.h.

◆ m_isConnected

NTuple::Item<long> LArCond2NtupleBase::m_isConnected
protectedinherited

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_isFlat

Gaudi::Property< bool > LArCond2NtupleBase::m_isFlat {this, "isFlat", false, "are we working with Flat conditions ?"}
protectedinherited

Definition at line 56 of file LArCond2NtupleBase.h.

56{this, "isFlat", false, "are we working with Flat conditions ?"};

◆ m_isSC

Gaudi::Property< bool > LArCond2NtupleBase::m_isSC {this, "isSC", false, "are we working with SC?"}
protectedinherited

Definition at line 55 of file LArCond2NtupleBase.h.

55{this, "isSC", false, "are we working with SC?"};

◆ m_keylist

std::vector<std::string> LArParams2Ntuple::m_keylist
private

Definition at line 59 of file LArParams2Ntuple.h.

◆ m_layer

NTuple::Item<long> LArCond2NtupleBase::m_layer
protectedinherited

Definition at line 71 of file LArCond2NtupleBase.h.

◆ m_nClasses

const unsigned LArParams2Ntuple::m_nClasses = LArParamsProperties::END_OF_LIST
staticprivate

Definition at line 46 of file LArParams2Ntuple.h.

◆ m_nt

NTuple::Tuple* LArCond2NtupleBase::m_nt
protectedinherited

Definition at line 68 of file LArCond2NtupleBase.h.

◆ m_ntName

std::string LArParams2Ntuple::m_ntName
private

Definition at line 44 of file LArParams2Ntuple.h.

◆ m_ntpath

std::string LArCond2NtupleBase::m_ntpath
protectedinherited

Definition at line 65 of file LArCond2NtupleBase.h.

◆ m_ntTitle

std::string LArCond2NtupleBase::m_ntTitle
protectedinherited

Definition at line 65 of file LArCond2NtupleBase.h.

◆ m_OffId

Gaudi::Property< bool > LArCond2NtupleBase::m_OffId {this, "OffId", false, "dump also offline ID ?"}
protectedinherited

Definition at line 57 of file LArCond2NtupleBase.h.

57{this, "OffId", false, "dump also offline ID ?"};

◆ m_oflChanId

NTuple::Item<long> LArCond2NtupleBase::m_oflChanId
protectedinherited

Definition at line 71 of file LArCond2NtupleBase.h.

◆ m_oflHash

NTuple::Item<long> LArCond2NtupleBase::m_oflHash
protectedinherited

Definition at line 75 of file LArCond2NtupleBase.h.

◆ m_onlChanId

NTuple::Item<long> LArCond2NtupleBase::m_onlChanId
protectedinherited

Definition at line 71 of file LArCond2NtupleBase.h.

◆ m_onlineId

const LArOnlineID_Base* LArCond2NtupleBase::m_onlineId
protectedinherited

Definition at line 85 of file LArCond2NtupleBase.h.

◆ m_phi

NTuple::Item<long> LArCond2NtupleBase::m_phi
protectedinherited

Definition at line 71 of file LArCond2NtupleBase.h.

◆ m_pos_neg

NTuple::Item<long> LArCond2NtupleBase::m_pos_neg
protectedinherited

Definition at line 72 of file LArCond2NtupleBase.h.

◆ m_realgeom

Gaudi::Property< bool > LArCond2NtupleBase::m_realgeom {this, "RealGeometry", false, "add real geometry values ?"}
protectedinherited

Definition at line 60 of file LArCond2NtupleBase.h.

60{this, "RealGeometry", false, "add real geometry values ?"};

◆ m_region

NTuple::Item<long> LArCond2NtupleBase::m_region
protectedinherited

Definition at line 71 of file LArCond2NtupleBase.h.

◆ m_reta

NTuple::Item<float> LArCond2NtupleBase::m_reta
protectedinherited

Definition at line 77 of file LArCond2NtupleBase.h.

◆ m_rphi

NTuple::Item<float> LArCond2NtupleBase::m_rphi
protectedinherited

Definition at line 77 of file LArCond2NtupleBase.h.

◆ m_slot

NTuple::Item<long> LArCond2NtupleBase::m_slot
protectedinherited

Definition at line 72 of file LArCond2NtupleBase.h.

◆ m_suffix

std::string LArParams2Ntuple::m_suffix
private

Definition at line 61 of file LArParams2Ntuple.h.

◆ m_useAbstractInterface

bool LArParams2Ntuple::m_useAbstractInterface
private

Definition at line 43 of file LArParams2Ntuple.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.


The documentation for this class was generated from the following files: