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

#include <LArWaves2Ntuple.h>

Inheritance diagram for LArWaves2Ntuple:
Collaboration diagram for LArWaves2Ntuple:

Public Member Functions

StatusCode initialize ()
 LArWaves2Ntuple (const std::string &name, ISvcLocator *pSvcLocator)
 ~LArWaves2Ntuple ()
bool fillWave (const HWIdentifier chid, const LArWaveCumul &wave)
StatusCode execute ()
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

LArWaveHelper m_waveHelper
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 ?"}
Gaudi::Property< int > m_NGains {this,"nGains", CaloGain::LARNGAIN,"Number of gains"}
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

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

bool m_saveDerivedInfo
NTuple::Item< long > m_flag
NTuple::Item< long > m_timeIndex
NTuple::Item< double > m_dt
NTuple::Array< double > m_time
NTuple::Array< double > m_ampliPulse
NTuple::Array< double > m_errorPulse
NTuple::Array< int > m_triggers
NTuple::Item< double > m_tmaxAmp
NTuple::Item< double > m_maxAmp
NTuple::Item< double > m_baseline
NTuple::Item< double > m_posLobe
NTuple::Item< double > m_rT0
NTuple::Item< double > m_width
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

Detailed Description

Definition at line 24 of file LArWaves2Ntuple.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 65 of file LArCond2NtupleBase.h.

Constructor & Destructor Documentation

◆ LArWaves2Ntuple()

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

Definition at line 9 of file LArWaves2Ntuple.cxx.

9 : LArCond2NtupleBase(name, pSvcLocator)
10{
11
12 declareProperty("SaveDerivedInfo",m_saveDerivedInfo=false);
13}
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
LArCond2NtupleBase(const std::string &name, ISvcLocator *pSvcLocator)

◆ ~LArWaves2Ntuple()

LArWaves2Ntuple::~LArWaves2Ntuple ( )
default

Member Function Documentation

◆ cablingKey()

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

Definition at line 458 of file LArCond2NtupleBase.cxx.

459{
460 if(m_isSC) return m_cablingSCKey;
461 return m_cablingKey;
462}
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 LArCond2NtupleBase::execute ( )
inlineinherited

Definition at line 41 of file LArCond2NtupleBase.h.

41{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 290 of file LArCond2NtupleBase.cxx.

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

◆ fillWave()

bool LArWaves2Ntuple::fillWave ( const HWIdentifier chid,
const LArWaveCumul & wave )

Definition at line 107 of file LArWaves2Ntuple.cxx.

107 {
108 fillFromIdentifier(chid);
109 m_flag = wave.getFlag();
110 m_dt = wave.getDt();
111
112 for (m_timeIndex=0; m_timeIndex<(long)wave.getSize(); m_timeIndex++ ) {
117 }
118
119 if ( m_saveDerivedInfo ) { // additional (derived) information, computed on the fly...
120 m_baseline = m_waveHelper.getBaseline(wave,10);
121 m_maxAmp = m_waveHelper.getMaxAmp(wave);
122 // please note the 'dt' normalization in the following!
123 m_tmaxAmp = m_dt * m_waveHelper.getMax(wave);
124 m_width = m_dt * m_waveHelper.getWidth(wave);
125 m_rT0 = m_dt * m_waveHelper.getT0(wave);
126 m_posLobe = (m_maxAmp != 0.)? (m_dt * m_waveHelper.getSumRegion(wave,0,m_waveHelper.getZeroCross(wave))/m_maxAmp): 0.;
127 }
128 return true;
129}
bool fillFromIdentifier(const HWIdentifier &id)
double getError(unsigned i) const
error per time bin
int getTrigger(unsigned i) const
trigger per time bin
double getTime(const unsigned i) const
time
Definition LArWave.h:172
size_t getSize() const
number of time samples
Definition LArWave.h:62
const double & getSample(const unsigned int i) const
Amplitude per time bin.
Definition LArWave.h:53
const double & getDt() const
delta time
Definition LArWave.h:50
unsigned getFlag() const
flag: ...
Definition LArWave.h:178
NTuple::Item< double > m_width
NTuple::Array< double > m_ampliPulse
NTuple::Array< int > m_triggers
LArWaveHelper m_waveHelper
NTuple::Array< double > m_errorPulse
NTuple::Item< double > m_tmaxAmp
NTuple::Array< double > m_time
NTuple::Item< double > m_rT0
NTuple::Item< double > m_dt
NTuple::Item< double > m_baseline
NTuple::Item< long > m_flag
NTuple::Item< double > m_maxAmp
NTuple::Item< double > m_posLobe
NTuple::Item< long > m_timeIndex

◆ initialize()

StatusCode LArWaves2Ntuple::initialize ( )

Definition at line 18 of file LArWaves2Ntuple.cxx.

18 {
19
21 if (sc.isFailure())
22 return sc;
23
24 sc=m_nt->addItem("flag",m_flag,0,1000);
25 if (sc!=StatusCode::SUCCESS) {
26 ATH_MSG_ERROR( "addItem 'Flag' failed" );
27 return StatusCode::FAILURE;
28 }
29
30 sc=m_nt->addItem("timeIndex",m_timeIndex,0,100000);
31 if (sc!=StatusCode::SUCCESS) {
32 ATH_MSG_ERROR( "addItem 'timeIndex' failed" );
33 return StatusCode::FAILURE;
34 }
35
36 sc=m_nt->addItem("Dt",m_dt,0.,25.);
37 if (sc!=StatusCode::SUCCESS) {
38 ATH_MSG_ERROR( "addItem 'Dt' failed" );
39 return StatusCode::FAILURE;
40 }
41
42 sc=m_nt->addItem("Time",m_timeIndex,m_time);
43 if (sc!=StatusCode::SUCCESS) {
44 ATH_MSG_ERROR( "addItem 'Time' failed" );
45 return StatusCode::FAILURE;
46 }
47
48 sc=m_nt->addItem("Amplitude",m_timeIndex,m_ampliPulse);
49 if (sc!=StatusCode::SUCCESS) {
50 ATH_MSG_ERROR( "addItem failed" );
51 return StatusCode::FAILURE;
52 }
53
54 sc=m_nt->addItem("Error",m_timeIndex,m_errorPulse);
55 if (sc!=StatusCode::SUCCESS) {
56 ATH_MSG_ERROR( "addItem 'Error' failed" );
57 return StatusCode::FAILURE;
58 }
59
60 sc=m_nt->addItem("Triggers",m_timeIndex,m_triggers);
61 if (sc!=StatusCode::SUCCESS) {
62 ATH_MSG_ERROR( "addItem 'Triggers' failed" );
63 return StatusCode::FAILURE;
64 }
65
66 if ( m_saveDerivedInfo ) {
67 sc=m_nt->addItem("Baseline",m_baseline,0.,1200.);
68 if (sc!=StatusCode::SUCCESS) {
69 ATH_MSG_ERROR( "addItem 'Baseline' failed" );
70 return StatusCode::FAILURE;
71 }
72
73 sc=m_nt->addItem("TmaxAmp",m_tmaxAmp,0.,4095.);
74 if (sc!=StatusCode::SUCCESS) {
75 ATH_MSG_ERROR( "addItem 'TmaxAmp' failed" );
76 return StatusCode::FAILURE;
77 }
78
79 sc=m_nt->addItem("MaxAmp",m_maxAmp,0.,4095.);
80 if (sc!=StatusCode::SUCCESS) {
81 ATH_MSG_ERROR( "addItem 'MaxAmp' failed" );
82 return StatusCode::FAILURE;
83 }
84
85 sc=m_nt->addItem("PosLobe",m_posLobe,0.,100.);
86 if (sc!=StatusCode::SUCCESS) {
87 ATH_MSG_ERROR( "addItem 'PosLobe' failed" );
88 return StatusCode::FAILURE;
89 }
90
91 sc=m_nt->addItem("T0",m_rT0,20.,100.);
92 if (sc!=StatusCode::SUCCESS) {
93 ATH_MSG_ERROR( "addItem 'RT0' failed" );
94 return StatusCode::FAILURE;
95 }
96
97 sc=m_nt->addItem("Width",m_width,0.,125.);
98 if (sc!=StatusCode::SUCCESS) {
99 ATH_MSG_ERROR( "addItem 'Width' failed" );
100 return StatusCode::FAILURE;
101 }
102 }
103 return StatusCode::SUCCESS;
104}
#define ATH_MSG_ERROR(x)
static Double_t sc
::StatusCode StatusCode
StatusCode definition for legacy code.

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

◆ 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 54 of file LArCond2NtupleBase.h.

54{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 60 of file LArCond2NtupleBase.h.

60{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 55 of file LArCond2NtupleBase.h.

55{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 59 of file LArCond2NtupleBase.h.

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

◆ m_ampliPulse

NTuple::Array<double> LArWaves2Ntuple::m_ampliPulse
private

Definition at line 43 of file LArWaves2Ntuple.h.

◆ m_badChanWord

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

Definition at line 75 of file LArCond2NtupleBase.h.

◆ m_barrel_ec

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

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_baseline

NTuple::Item<double> LArWaves2Ntuple::m_baseline
private

Definition at line 50 of file LArWaves2Ntuple.h.

◆ m_BCKey

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

Definition at line 94 of file LArCond2NtupleBase.h.

94{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 91 of file LArCond2NtupleBase.h.

91{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 92 of file LArCond2NtupleBase.h.

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

◆ m_calibLine

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

Definition at line 75 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 95 of file LArCond2NtupleBase.h.

95{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 96 of file LArCond2NtupleBase.h.

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

◆ m_caloId

const CaloCell_Base_ID* LArCond2NtupleBase::m_caloId
protectedinherited

Definition at line 88 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 98 of file LArCond2NtupleBase.h.

98{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 99 of file LArCond2NtupleBase.h.

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

◆ m_chanHash

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

Definition at line 77 of file LArCond2NtupleBase.h.

◆ m_channel

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

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_detector

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

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_detStore

StoreGateSvc* LArCond2NtupleBase::m_detStore
protectedinherited

Definition at line 83 of file LArCond2NtupleBase.h.

◆ m_dt

NTuple::Item<double> LArWaves2Ntuple::m_dt
private

Definition at line 41 of file LArWaves2Ntuple.h.

◆ m_emId

const LArEM_Base_ID* LArCond2NtupleBase::m_emId
protectedinherited

Definition at line 84 of file LArCond2NtupleBase.h.

◆ m_errorPulse

NTuple::Array<double> LArWaves2Ntuple::m_errorPulse
private

Definition at line 44 of file LArWaves2Ntuple.h.

◆ m_eta

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

Definition at line 73 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 62 of file LArCond2NtupleBase.h.

62{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 86 of file LArCond2NtupleBase.h.

◆ m_febHash

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

Definition at line 77 of file LArCond2NtupleBase.h.

◆ m_FEBTemp1

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

Definition at line 80 of file LArCond2NtupleBase.h.

◆ m_FEBTemp2

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

Definition at line 80 of file LArCond2NtupleBase.h.

◆ m_FEBTempTool

ToolHandle<ILArFEBTempTool> LArCond2NtupleBase::m_FEBTempTool
protectedinherited

Definition at line 89 of file LArCond2NtupleBase.h.

◆ m_flag

NTuple::Item<long> LArWaves2Ntuple::m_flag
private

Definition at line 39 of file LArWaves2Ntuple.h.

◆ m_FT

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

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_hecId

const LArHEC_Base_ID* LArCond2NtupleBase::m_hecId
protectedinherited

Definition at line 85 of file LArCond2NtupleBase.h.

◆ m_initialized

bool LArCond2NtupleBase::m_initialized
privateinherited

Definition at line 51 of file LArCond2NtupleBase.h.

◆ m_isConnected

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

Definition at line 76 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 57 of file LArCond2NtupleBase.h.

57{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 56 of file LArCond2NtupleBase.h.

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

◆ m_layer

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

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_maxAmp

NTuple::Item<double> LArWaves2Ntuple::m_maxAmp
private

Definition at line 49 of file LArWaves2Ntuple.h.

◆ m_NGains

Gaudi::Property< int > LArCond2NtupleBase::m_NGains {this,"nGains", CaloGain::LARNGAIN,"Number of gains"}
protectedinherited

Definition at line 63 of file LArCond2NtupleBase.h.

63{this,"nGains", CaloGain::LARNGAIN,"Number of gains"};
@ LARNGAIN
Definition CaloGain.h:19

◆ m_nt

NTuple::Tuple* LArCond2NtupleBase::m_nt
protectedinherited

Definition at line 70 of file LArCond2NtupleBase.h.

◆ m_ntpath

std::string LArCond2NtupleBase::m_ntpath
protectedinherited

Definition at line 67 of file LArCond2NtupleBase.h.

◆ m_ntTitle

std::string LArCond2NtupleBase::m_ntTitle
protectedinherited

Definition at line 67 of file LArCond2NtupleBase.h.

◆ m_OffId

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

Definition at line 58 of file LArCond2NtupleBase.h.

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

◆ m_oflChanId

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

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_oflHash

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

Definition at line 77 of file LArCond2NtupleBase.h.

◆ m_onlChanId

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

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_onlineId

const LArOnlineID_Base* LArCond2NtupleBase::m_onlineId
protectedinherited

Definition at line 87 of file LArCond2NtupleBase.h.

◆ m_phi

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

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_pos_neg

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

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_posLobe

NTuple::Item<double> LArWaves2Ntuple::m_posLobe
private

Definition at line 51 of file LArWaves2Ntuple.h.

◆ m_realgeom

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

Definition at line 61 of file LArCond2NtupleBase.h.

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

◆ m_region

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

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_reta

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

Definition at line 79 of file LArCond2NtupleBase.h.

◆ m_rphi

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

Definition at line 79 of file LArCond2NtupleBase.h.

◆ m_rT0

NTuple::Item<double> LArWaves2Ntuple::m_rT0
private

Definition at line 52 of file LArWaves2Ntuple.h.

◆ m_saveDerivedInfo

bool LArWaves2Ntuple::m_saveDerivedInfo
private

Definition at line 37 of file LArWaves2Ntuple.h.

◆ m_slot

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

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_time

NTuple::Array<double> LArWaves2Ntuple::m_time
private

Definition at line 42 of file LArWaves2Ntuple.h.

◆ m_timeIndex

NTuple::Item<long> LArWaves2Ntuple::m_timeIndex
private

Definition at line 40 of file LArWaves2Ntuple.h.

◆ m_tmaxAmp

NTuple::Item<double> LArWaves2Ntuple::m_tmaxAmp
private

Definition at line 48 of file LArWaves2Ntuple.h.

◆ m_triggers

NTuple::Array<int> LArWaves2Ntuple::m_triggers
private

Definition at line 45 of file LArWaves2Ntuple.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_waveHelper

LArWaveHelper LArWaves2Ntuple::m_waveHelper
protected

Definition at line 56 of file LArWaves2Ntuple.h.

◆ m_width

NTuple::Item<double> LArWaves2Ntuple::m_width
private

Definition at line 53 of file LArWaves2Ntuple.h.


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