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

#include <LArPulseShape.h>

Inheritance diagram for LArPulseShape:
Collaboration diagram for LArPulseShape:

Public Member Functions

 LArPulseShape (const std::string &name, ISvcLocator *pSvcLocator)
 
 ~LArPulseShape ()
 
virtual StatusCode initialize () override
 
virtual StatusCode execute () override
 
virtual StatusCode stop () override
 
std::map< std::string, TProfile * >::const_iterator TEffbegin () const
 
std::map< std::string, TProfile * >::const_iterator TEffend () const
 
std::map< int, TProfile * >::const_iterator TCellbegin () const
 
std::map< int, TProfile * >::const_iterator TCellend () const
 
std::map< std::string, TH1 * >::const_iterator THbegin () const
 
std::map< std::string, TH1 * >::const_iterator THend () const
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Protected Types

enum  { NOT_VALID = -999 }
 

Protected Member Functions

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

Protected Attributes

bool m_addBC = false
 
bool m_addFEBTemp = false
 
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_FEBTemp1
 
NTuple::Item< float > m_FEBTemp2
 
const LArEM_Base_IDm_emId = nullptr
 
const LArHEC_Base_IDm_hecId = nullptr
 
const LArFCAL_Base_IDm_fcalId = nullptr
 
const LArOnlineID_Basem_onlineId = nullptr
 
const CaloCell_IDm_caloId = nullptr
 
bool m_isSC = false
 
bool m_isFlat = false
 
bool m_addHash = false
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

void addHistogram (TH1 *h)
 
void addHistogram (TProfile *h)
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

bool m_initialized
 
std::string m_ntname
 
std::string m_folder
 
const CaloCell_IDm_calo_id
 
NTuple::Item< short > m_peakSample
 
NTuple::Item< short > m_useHgIntercept
 
NTuple::Item< short > m_useMgIntercept
 
NTuple::Item< short > m_useLgIntercept
 
int m_OffId = 0
 
int m_OffId_conv = 0
 
const char * m_id_char = nullptr
 
int m_isample = 0
 
int m_mindist = 0
 
int m_closestBC = 0
 
PublicToolHandle< Trig::TrigDecisionToolm_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
 
SG::ReadCondHandleKey< LuminosityCondDatam_lumiDataKey {this,"LumiKey", "LuminosityCondData","SG Key of LuminosityCondData object"}
 
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
 
SG::ReadCondHandleKey< LArBadChannelContm_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
 
const ILArPedestalm_larPedestal = nullptr
 
std::map< std::string, TProfile * > m_effhistos
 
std::map< int, TProfile * > m_cellHistos
 
TProfile * m_TProfpulse_diff = nullptr
 
std::map< std::string, TH1 * > m_histos
 
TH1D * m_BCID = nullptr
 
TH1D * m_diffBCID = nullptr
 
TH1D * m_actualInt = nullptr
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 38 of file LArPulseShape.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
protected
Enumerator
NOT_VALID 

Definition at line 100 of file LArPulseShape.h.

100 {NOT_VALID = -999};

Constructor & Destructor Documentation

◆ LArPulseShape()

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

Definition at line 19 of file LArPulseShape.cxx.

19  :
20  AthAlgorithm(name, pSvcLocator), m_initialized(false), m_calo_id(nullptr),
21  m_nt(nullptr)
22 {
23  declareProperty("NtupleTitle",m_ntTitle="Pulse shape");
24  m_ntpath="/NTUPLES/PULSE/"+m_ntname;
25 }

◆ ~LArPulseShape()

LArPulseShape::~LArPulseShape ( )
default

Member Function Documentation

◆ addHistogram() [1/2]

void LArPulseShape::addHistogram ( TH1 *  h)
inlineprivate

Definition at line 89 of file LArPulseShape.h.

89  {
90  std::string name = h->GetName();
91  m_histos.insert( std::map<std::string, TH1*>::value_type( name, h) );
92  }

◆ addHistogram() [2/2]

void LArPulseShape::addHistogram ( TProfile *  h)
inlineprivate

Definition at line 93 of file LArPulseShape.h.

93  {
94  std::string name = h->GetName();
95  m_effhistos.insert( std::map<std::string, TProfile*>::value_type( name, h) );
96  }

◆ declareGaudiProperty() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [4/4]

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

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

Definition at line 199 of file AthCommonDataStore.h.

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

◆ declareProperty() [1/6]

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

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

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

◆ declareProperty() [2/6]

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

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

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

◆ declareProperty() [3/6]

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

Definition at line 259 of file AthCommonDataStore.h.

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

◆ declareProperty() [4/6]

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

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

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

◆ declareProperty() [5/6]

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

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

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

◆ declareProperty() [6/6]

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

Definition at line 145 of file AthCommonDataStore.h.

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

◆ detStore()

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

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

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

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

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

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

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

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode LArPulseShape::execute ( )
overridevirtual

Definition at line 383 of file LArPulseShape.cxx.

383  {
384 
385 
386  const EventContext& ctx = Gaudi::Hive::currentContext();
387  short int bunchStr[8] = {1, 101, 201, 301, 1786, 1886, 1986, 2086}; //move to JO
388 
389  std::vector<std::string> chains = m_trigDec->getListOfTriggers();
390  std::vector<std::string> myChains;
391 
393 
394  if (m_trigDec->isPassed("L1_RD1_BGRP10")) {
395 
396  int bunchId = ctx.eventID().bunch_crossing_id();
397 
398  m_mindist = 3564;
399  m_closestBC = 0;
400  for (int i = 0; i < 8; i++) {
401  if ( (fabs(bunchId - bunchStr[i]) < m_mindist) || (fabs(bunchId - (bunchStr[i]+3564)) < m_mindist)) {
402  m_mindist = std::min(fabs(bunchId - bunchStr[i]),(fabs(bunchId - (bunchStr[i]+3564))));
403  m_closestBC = bunchStr[i];
404  }
405  }
406  if (fabs(bunchId - m_closestBC) < (fabs(bunchId - (m_closestBC+3564)))) {
407  m_mindist = bunchId - m_closestBC;
408  } else {
409  m_mindist = bunchId - (m_closestBC+3564);
410  }
411 
412  //std::cout << "bunchID = " << bunchId<< ", m_mindist = " << m_mindist << ", m_closestBC = " << m_closestBC << std::endl;
413  m_BCID->Fill(bunchId);
414  m_diffBCID->Fill(m_mindist);
415 
416  m_actualInt->Fill(lumi->lbLuminosityPerBCIDVector().at(m_closestBC));
417 
418  const LArDigitContainer* larDigitContainer;
419  ATH_CHECK( evtStore()->retrieve(larDigitContainer, "FREE") );
421  if (larDigitContainer->empty()) {
422  ATH_MSG_WARNING ( "LArDigitContainer with key= is empty!" );
423 
424  return StatusCode::SUCCESS;
425  }
426 
428  const LArOnOffIdMapping* cabling=*larCablingHdl;
429  if(!cabling) {
430  ATH_MSG_ERROR("Could not get LArOnOffIdMapping !!");
431  return StatusCode::FAILURE;
432  }
433  for (LArDigitContainer::const_iterator digit = larDigitContainer->begin(); digit != larDigitContainer->end(); ++digit) {
434 
435  HWIdentifier channelID = (*digit)->hardwareID();
436 
437  if (cabling->isOnlineConnected(channelID)) {
438 
439  CaloGain::CaloGain gain=(*digit)->gain();
440 
441  float pedestal = m_larPedestal->pedestal(channelID, gain);
442 
443  m_OffId_conv = (int)(cabling->cnvToIdentifier(channelID).get_identifier32().get_compact());
444 
445  const std::vector<short>& samples = (*digit)->samples();
446 
447  m_isample=0;
448  for (short sample : samples) {
449  m_isample++;
450  if (lumi->lbLuminosityPerBCIDVector().at(m_closestBC)!=0){
451  m_TProfpulse_diff->Fill(m_mindist+m_isample, (sample-pedestal)/lumi->lbLuminosityPerBCIDVector().at(m_closestBC));//+0,1,2,3
452  m_cellHistos[m_OffId_conv]->Fill(m_mindist+m_isample, (sample-pedestal)/lumi->lbLuminosityPerBCIDVector().at(m_closestBC));
453  }
454  } //loop over samples
455  }
456  }
457 
458  }//trigger
459  return StatusCode::SUCCESS;
460 }

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

◆ initialize()

StatusCode LArPulseShape::initialize ( )
overridevirtual

Definition at line 29 of file LArPulseShape.cxx.

29  {
30  const CaloIdManager* caloIdMgr{nullptr};
31  ATH_CHECK( detStore()->retrieve( caloIdMgr ) );
32  m_calo_id = caloIdMgr->getCaloCell_ID();
33 
35 
37 
38  ATH_CHECK( m_BCKey.initialize() );
39 
40  ATH_CHECK( m_trigDec.retrieve() );
41 
42  if (m_ntpath.empty() || m_ntTitle.empty()) {
43  ATH_MSG_ERROR( "Need to set variable 'm_ntpath' and 'm_ntTitle' in constructor of deriving class!" );
44  return StatusCode::FAILURE;
45  }
46 
47  size_t i=m_ntpath.rfind('/');
48  if (i==std::string::npos) {
49  ATH_MSG_ERROR( "Expected at least on '/' in path " << m_ntpath );
50  return StatusCode::FAILURE;
51  }
52  std::string basepath(m_ntpath.begin(),m_ntpath.begin()+i);
53 
54  NTupleFilePtr PULSE(ntupleSvc(),basepath);
55  if (!PULSE){
56  ATH_MSG_ERROR( "Could not get NTupleFilePtr with path " << basepath << " failed" );
57  return StatusCode::FAILURE;
58  }
59  NTuplePtr nt(ntupleSvc(),m_ntpath);
60  if (!nt) {
61  nt=ntupleSvc()->book(m_ntpath,CLID_ColumnWiseTuple,m_ntTitle);
62  }
63  if (!nt){
64  ATH_MSG_ERROR( "Booking of NTuple at "<< m_ntpath << " and name " << m_ntTitle << " failed" );
65  return StatusCode::FAILURE;
66  }
67 
68  m_nt=nt;
69 
71 
72  for (int i=0;i<ncell;i++) { // loop over cells to book profiles
73 
74  IdentifierHash idHash=i;
75  Identifier id=m_calo_id->cell_id(idHash);
76 
77  const int sampl = m_calo_id->sampling( id );
78  m_OffId = (int)(id.get_identifier32().get_compact());
79  std::string idoff_str = std::to_string(m_OffId);
80  m_id_char = (idoff_str).c_str();
81 
82  if (m_calo_id->is_em(id)) { // EM calo
83  if (m_calo_id->is_em_barrel(id)) { //EMB
84  if (m_calo_id->pos_neg(id) > 0 ) { //A-side
85 
86  SmartDataPtr<NTuple::Directory> dir_EMBA(ntupleSvc(),"/NTUPLES/PULSE/EMBA");
87  if ( !dir_EMBA ) dir_EMBA = ntupleSvc()->createDirectory(PULSE,"EMBA");
88  if ( !dir_EMBA ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
89 
90  if (sampl==0){ // if it's EMBA Presampler
91  SmartDataPtr<NTuple::Directory> dir_EMBA_0(ntupleSvc(),"/NTUPLES/PULSE/EMBA/Presampler");
92  if ( !dir_EMBA_0 ) dir_EMBA_0 = ntupleSvc()->createDirectory(PULSE,"EMBA/Presampler");
93  if ( !dir_EMBA_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
94  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
95  }
96 
97  if (sampl==1){ // if it's EMBA Sampling1
98  SmartDataPtr<NTuple::Directory> dir_EMBA_1(ntupleSvc(),"/NTUPLES/PULSE/EMBA/Sampling1");
99  if ( !dir_EMBA_1 ) dir_EMBA_1 = ntupleSvc()->createDirectory(PULSE,"EMBA/Sampling1");
100  if ( !dir_EMBA_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
101  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
102  }
103 
104  if (sampl==2){ // if it's EMBA Sampling2
105  SmartDataPtr<NTuple::Directory> dir_EMBA_2(ntupleSvc(),"/NTUPLES/PULSE/EMBA/Sampling2");
106  if ( !dir_EMBA_2 ) dir_EMBA_2 = ntupleSvc()->createDirectory(PULSE,"EMBA/Sampling2");
107  if ( !dir_EMBA_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
108  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
109  }
110 
111  if (sampl==3){ // if it's EMBA Sampling3
112  SmartDataPtr<NTuple::Directory> dir_EMBA_3(ntupleSvc(),"/NTUPLES/PULSE/EMBA/Sampling3");
113  if ( !dir_EMBA_3 ) dir_EMBA_3 = ntupleSvc()->createDirectory(PULSE,"EMBA/Sampling3");
114  if ( !dir_EMBA_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
115  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
116  }
117 
118  } else { // C-side
119 
120  SmartDataPtr<NTuple::Directory> dir_EMBC(ntupleSvc(),"/NTUPLES/PULSE/EMBC");
121  if ( !dir_EMBC ) dir_EMBC = ntupleSvc()->createDirectory(PULSE,"EMBC");
122  if ( !dir_EMBC ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
123  if (sampl==0){ // if it's EMBC Presampler
124  SmartDataPtr<NTuple::Directory> dir_EMBC_0(ntupleSvc(),"/NTUPLES/PULSE/EMBC/Presampler");
125  if ( !dir_EMBC_0 ) dir_EMBC_0 = ntupleSvc()->createDirectory(PULSE,"EMBC/Presampler");
126  if ( !dir_EMBC_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
127  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
128  }
129 
130  if (sampl==1){ // if it's EMBC Sampling1
131  SmartDataPtr<NTuple::Directory> dir_EMBC_1(ntupleSvc(),"/NTUPLES/PULSE/EMBC/Sampling1");
132  if ( !dir_EMBC_1 ) dir_EMBC_1 = ntupleSvc()->createDirectory(PULSE,"EMBC/Sampling1");
133  if ( !dir_EMBC_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
134  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
135  }
136 
137  if (sampl==2){ // if it's EMBC Sampling2
138  SmartDataPtr<NTuple::Directory> dir_EMBC_2(ntupleSvc(),"/NTUPLES/PULSE/EMBC/Sampling2");
139  if ( !dir_EMBC_2 ) dir_EMBC_2 = ntupleSvc()->createDirectory(PULSE,"EMBC/Sampling2");
140  if ( !dir_EMBC_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
141  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
142  }
143 
144  if (sampl==3){ // if it's EMBC Sampling3
145  SmartDataPtr<NTuple::Directory> dir_EMBC_3(ntupleSvc(),"/NTUPLES/PULSE/EMBC/Sampling3");
146  if ( !dir_EMBC_3 ) dir_EMBC_3 = ntupleSvc()->createDirectory(PULSE,"EMBC/Sampling3");
147  if ( !dir_EMBC_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
148  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
149  }
150 
151  }
152 
153  } // end EMB
154 
155  if( m_calo_id->is_em_endcap(id) ){ //EMEC
156 
157  if (m_calo_id->pos_neg(id) > 0 ) { //A-side
158 
159  SmartDataPtr<NTuple::Directory> dir_EMECA(ntupleSvc(),"/NTUPLES/PULSE/EMECA");
160  if ( !dir_EMECA ) dir_EMECA = ntupleSvc()->createDirectory(PULSE,"EMECA");
161  if ( !dir_EMECA ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
162 
163  if (sampl==0){ // if it's EMECA Presampler
164  SmartDataPtr<NTuple::Directory> dir_EMECA_0(ntupleSvc(),"/NTUPLES/PULSE/EMECA/Presampler");
165  if ( !dir_EMECA_0 ) dir_EMECA_0 = ntupleSvc()->createDirectory(PULSE,"EMECA/Presampler");
166  if ( !dir_EMECA_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
167 
168  //stopper++;
169  //if (stopper<=10)
170  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
171  }
172 
173  if (sampl==1){ // if it's EMECA Sampling1
174  SmartDataPtr<NTuple::Directory> dir_EMECA_1(ntupleSvc(),"/NTUPLES/PULSE/EMECA/Sampling1");
175  if ( !dir_EMECA_1 ) dir_EMECA_1 = ntupleSvc()->createDirectory(PULSE,"EMECA/Sampling1");
176  if ( !dir_EMECA_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
177  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
178  }
179 
180  if (sampl==2){ // if it's EMECA Sampling2
181  SmartDataPtr<NTuple::Directory> dir_EMECA_2(ntupleSvc(),"/NTUPLES/PULSE/EMECA/Sampling2");
182  if ( !dir_EMECA_2 ) dir_EMECA_2 = ntupleSvc()->createDirectory(PULSE,"EMECA/Sampling2");
183  if ( !dir_EMECA_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
184  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
185  }
186 
187  if (sampl==3){ // if it's EMECA Sampling3
188  SmartDataPtr<NTuple::Directory> dir_EMECA_3(ntupleSvc(),"/NTUPLES/PULSE/EMECA/Sampling3");
189  if ( !dir_EMECA_3 ) dir_EMECA_3 = ntupleSvc()->createDirectory(PULSE,"EMECA/Sampling3");
190  if ( !dir_EMECA_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
191  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
192  }
193 
194  } else { // C-side
195 
196  SmartDataPtr<NTuple::Directory> dir_EMECC(ntupleSvc(),"/NTUPLES/PULSE/EMECC");
197  if ( !dir_EMECC ) dir_EMECC = ntupleSvc()->createDirectory(PULSE,"EMECC");
198  if ( !dir_EMECC ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
199  if (sampl==0){ // if it's EMECC Presampler
200  SmartDataPtr<NTuple::Directory> dir_EMECC_0(ntupleSvc(),"/NTUPLES/PULSE/EMECC/Presampler");
201  if ( !dir_EMECC_0 ) dir_EMECC_0 = ntupleSvc()->createDirectory(PULSE,"EMECC/Presampler");
202  if ( !dir_EMECC_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
203  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
204  }
205 
206  if (sampl==1){ // if it's EMECC Sampling1
207  SmartDataPtr<NTuple::Directory> dir_EMECC_1(ntupleSvc(),"/NTUPLES/PULSE/EMECC/Sampling1");
208  if ( !dir_EMECC_1 ) dir_EMECC_1 = ntupleSvc()->createDirectory(PULSE,"EMECC/Sampling1");
209  if ( !dir_EMECC_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
210  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
211  }
212 
213  if (sampl==2){ // if it's EMECC Sampling2
214  SmartDataPtr<NTuple::Directory> dir_EMECC_2(ntupleSvc(),"/NTUPLES/PULSE/EMECC/Sampling2");
215  if ( !dir_EMECC_2 ) dir_EMECC_2 = ntupleSvc()->createDirectory(PULSE,"EMECC/Sampling2");
216  if ( !dir_EMECC_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
217  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
218  }
219 
220  if (sampl==3){ // if it's EMECC Sampling3
221  SmartDataPtr<NTuple::Directory> dir_EMECC_3(ntupleSvc(),"/NTUPLES/PULSE/EMECC/Sampling3");
222  if ( !dir_EMECC_3 ) dir_EMECC_3 = ntupleSvc()->createDirectory(PULSE,"EMECC/Sampling3");
223  if ( !dir_EMECC_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
224  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
225  }
226 
227  }
228  } // end EMEC
229 
230 
231 
232  } // end EM calo
233 
234  if( m_calo_id->is_hec(id) ){ //HEC
235 
236  if (m_calo_id->pos_neg(id) > 0 ) { //A-side
237 
238  SmartDataPtr<NTuple::Directory> dir_HECA(ntupleSvc(),"/NTUPLES/PULSE/HECA");
239  if ( !dir_HECA ) dir_HECA = ntupleSvc()->createDirectory(PULSE,"HECA");
240  if ( !dir_HECA ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
241 
242  if (sampl==0){
243  SmartDataPtr<NTuple::Directory> dir_HECA_0(ntupleSvc(),"/NTUPLES/PULSE/HECA/Layer1");
244  if ( !dir_HECA_0 ) dir_HECA_0 = ntupleSvc()->createDirectory(PULSE,"HECA/Layer1");
245  if ( !dir_HECA_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
246  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
247  }
248 
249  if (sampl==1){
250  SmartDataPtr<NTuple::Directory> dir_HECA_1(ntupleSvc(),"/NTUPLES/PULSE/HECA/Layer2");
251  if ( !dir_HECA_1 ) dir_HECA_1 = ntupleSvc()->createDirectory(PULSE,"HECA/Layer2");
252  if ( !dir_HECA_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
253  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
254  }
255 
256  if (sampl==2){
257  SmartDataPtr<NTuple::Directory> dir_HECA_2(ntupleSvc(),"/NTUPLES/PULSE/HECA/Layer3");
258  if ( !dir_HECA_2 ) dir_HECA_2 = ntupleSvc()->createDirectory(PULSE,"HECA/Layer3");
259  if ( !dir_HECA_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
260  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
261  }
262 
263  if (sampl==3){
264  SmartDataPtr<NTuple::Directory> dir_HECA_3(ntupleSvc(),"/NTUPLES/PULSE/HECA/Layer4");
265  if ( !dir_HECA_3 ) dir_HECA_3 = ntupleSvc()->createDirectory(PULSE,"HECA/Layer4");
266  if ( !dir_HECA_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
267  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
268  }
269 
270  } else { // C-side
271 
272  SmartDataPtr<NTuple::Directory> dir_HECC(ntupleSvc(),"/NTUPLES/PULSE/HECC");
273  if ( !dir_HECC ) dir_HECC = ntupleSvc()->createDirectory(PULSE,"HECC");
274  if ( !dir_HECC ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
275  if (sampl==0){
276  SmartDataPtr<NTuple::Directory> dir_HECC_0(ntupleSvc(),"/NTUPLES/PULSE/HECC/Layer1");
277  if ( !dir_HECC_0 ) dir_HECC_0 = ntupleSvc()->createDirectory(PULSE,"HECC/Layer1");
278  if ( !dir_HECC_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
279  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
280  }
281 
282  if (sampl==1){
283  SmartDataPtr<NTuple::Directory> dir_HECC_1(ntupleSvc(),"/NTUPLES/PULSE/HECC/Layer2");
284  if ( !dir_HECC_1 ) dir_HECC_1 = ntupleSvc()->createDirectory(PULSE,"HECC/Layer2");
285  if ( !dir_HECC_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
286  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
287  }
288 
289  if (sampl==2){
290  SmartDataPtr<NTuple::Directory> dir_HECC_2(ntupleSvc(),"/NTUPLES/PULSE/HECC/Layer3");
291  if ( !dir_HECC_2 ) dir_HECC_2 = ntupleSvc()->createDirectory(PULSE,"HECC/Layer3");
292  if ( !dir_HECC_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
293  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
294  }
295 
296  if (sampl==3){
297  SmartDataPtr<NTuple::Directory> dir_HECC_3(ntupleSvc(),"/NTUPLES/PULSE/HECC/Layer4");
298  if ( !dir_HECC_3 ) dir_HECC_3 = ntupleSvc()->createDirectory(PULSE,"HECC/Layer4");
299  if ( !dir_HECC_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
300  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
301  }
302 
303  }
304  } // end HEC
305  if( m_calo_id->is_fcal(id) ){ //FCAL
306 
307  if (m_calo_id->pos_neg(id) > 0 ) { //A-side
308 
309  SmartDataPtr<NTuple::Directory> dir_FCALA(ntupleSvc(),"/NTUPLES/PULSE/FCALA");
310  if ( !dir_FCALA ) dir_FCALA = ntupleSvc()->createDirectory(PULSE,"FCALA");
311  if ( !dir_FCALA ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
312 
313  if (sampl==1){ // if it's FCALA Sampling1
314  SmartDataPtr<NTuple::Directory> dir_FCALA_1(ntupleSvc(),"/NTUPLES/PULSE/FCALA/Sampling1");
315  if ( !dir_FCALA_1 ) dir_FCALA_1 = ntupleSvc()->createDirectory(PULSE,"FCALA/Sampling1");
316  if ( !dir_FCALA_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
317  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
318  }
319 
320  if (sampl==2){ // if it's FCALA Sampling2
321  SmartDataPtr<NTuple::Directory> dir_FCALA_2(ntupleSvc(),"/NTUPLES/PULSE/FCALA/Sampling2");
322  if ( !dir_FCALA_2 ) dir_FCALA_2 = ntupleSvc()->createDirectory(PULSE,"FCALA/Sampling2");
323  if ( !dir_FCALA_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
324  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
325  }
326 
327  if (sampl==3){ // if it's FCALA Sampling3
328  SmartDataPtr<NTuple::Directory> dir_FCALA_3(ntupleSvc(),"/NTUPLES/PULSE/FCALA/Sampling3");
329  if ( !dir_FCALA_3 ) dir_FCALA_3 = ntupleSvc()->createDirectory(PULSE,"FCALA/Sampling3");
330  if ( !dir_FCALA_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
331  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
332  }
333 
334  } else { // C-side
335 
336  SmartDataPtr<NTuple::Directory> dir_FCALC(ntupleSvc(),"/NTUPLES/PULSE/FCALC");
337  if ( !dir_FCALC ) dir_FCALC = ntupleSvc()->createDirectory(PULSE,"FCALC");
338  if ( !dir_FCALC ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
339 
340  if (sampl==1){ // if it's FCALC Sampling1
341  SmartDataPtr<NTuple::Directory> dir_FCALC_1(ntupleSvc(),"/NTUPLES/PULSE/FCALC/Sampling1");
342  if ( !dir_FCALC_1 ) dir_FCALC_1 = ntupleSvc()->createDirectory(PULSE,"FCALC/Sampling1");
343  if ( !dir_FCALC_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
344  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
345  }
346 
347  if (sampl==2){ // if it's FCALC Sampling2
348  SmartDataPtr<NTuple::Directory> dir_FCALC_2(ntupleSvc(),"/NTUPLES/PULSE/FCALC/Sampling2");
349  if ( !dir_FCALC_2 ) dir_FCALC_2 = ntupleSvc()->createDirectory(PULSE,"FCALC/Sampling2");
350  if ( !dir_FCALC_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
351  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
352  }
353 
354  if (sampl==3){ // if it's FCALC Sampling3
355  SmartDataPtr<NTuple::Directory> dir_FCALC_3(ntupleSvc(),"/NTUPLES/PULSE/FCALC/Sampling3");
356  if ( !dir_FCALC_3 ) dir_FCALC_3 = ntupleSvc()->createDirectory(PULSE,"FCALC/Sampling3");
357  if ( !dir_FCALC_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
358  m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(m_id_char, m_id_char, 40, -4 , 36, "s" )));
359  }
360  }
361  } // end FCAL
362 
363  } // loop over cells
364 
365  SmartDataPtr<NTuple::Directory> dir_FCALC_3(ntupleSvc(),"/NTUPLES/PULSE/Check");
366  if ( !dir_FCALC_3 ) dir_FCALC_3 = ntupleSvc()->createDirectory(PULSE,"Check");
367 
368  m_TProfpulse_diff = new TProfile("test_diff", "test_diff",500, 0, 500, "s");
369 
370  m_BCID = new TH1D("BCID", "BCID",3564, 0, 3564);
371  m_diffBCID = new TH1D("diffBCID", "BCID",3564, 0, 3564);
372  m_actualInt = new TH1D("ActualInt", "ActInt", 60, 0, 20);
373 
375 
379  m_initialized=true;
380  return StatusCode::SUCCESS;
381 }

◆ inputHandles()

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

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

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

◆ msgLvl()

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

Definition at line 30 of file AthCommonMsg.h.

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

◆ outputHandles()

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

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

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

Definition at line 380 of file AthCommonDataStore.h.

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

◆ renounceArray()

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

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ stop()

StatusCode LArPulseShape::stop ( )
overridevirtual

Definition at line 463 of file LArPulseShape.cxx.

463  {
464 
465  ATH_MSG_INFO( "LArPulseShape has finished." );
466  return StatusCode::SUCCESS;
467 
468 }// end finalize-method.

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

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

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

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

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

Definition at line 66 of file AthAlgorithm.cxx.

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

◆ sysStart()

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

Handle START transition.

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

◆ TCellbegin()

std::map<int, TProfile*>::const_iterator LArPulseShape::TCellbegin ( ) const
inline

Definition at line 52 of file LArPulseShape.h.

52 { return m_cellHistos.begin(); }

◆ TCellend()

std::map<int, TProfile*>::const_iterator LArPulseShape::TCellend ( ) const
inline

Definition at line 53 of file LArPulseShape.h.

53 { return m_cellHistos.end(); }

◆ TEffbegin()

std::map<std::string, TProfile*>::const_iterator LArPulseShape::TEffbegin ( ) const
inline

Definition at line 50 of file LArPulseShape.h.

50 { return m_effhistos.begin(); }

◆ TEffend()

std::map<std::string, TProfile*>::const_iterator LArPulseShape::TEffend ( ) const
inline

Definition at line 51 of file LArPulseShape.h.

51 { return m_effhistos.end(); }

◆ THbegin()

std::map<std::string, TH1*>::const_iterator LArPulseShape::THbegin ( ) const
inline

Definition at line 55 of file LArPulseShape.h.

55 { return m_histos.begin(); }

◆ THend()

std::map<std::string, TH1*>::const_iterator LArPulseShape::THend ( ) const
inline

Definition at line 56 of file LArPulseShape.h.

56 { return m_histos.end(); }

◆ updateVHKA()

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

Definition at line 308 of file AthCommonDataStore.h.

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

Member Data Documentation

◆ m_actualInt

TH1D* LArPulseShape::m_actualInt = nullptr
private

Definition at line 88 of file LArPulseShape.h.

◆ m_addBC

bool LArPulseShape::m_addBC = false
protected

Definition at line 99 of file LArPulseShape.h.

◆ m_addFEBTemp

bool LArPulseShape::m_addFEBTemp = false
protected

Definition at line 99 of file LArPulseShape.h.

◆ m_addHash

bool LArPulseShape::m_addHash = false
protected

Definition at line 126 of file LArPulseShape.h.

◆ m_badChanWord

NTuple::Item<long> LArPulseShape::m_badChanWord
protected

Definition at line 110 of file LArPulseShape.h.

◆ m_barrel_ec

NTuple::Item<long> LArPulseShape::m_barrel_ec
protected

Definition at line 109 of file LArPulseShape.h.

◆ m_BCID

TH1D* LArPulseShape::m_BCID = nullptr
private

Definition at line 86 of file LArPulseShape.h.

◆ m_BCKey

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

Definition at line 78 of file LArPulseShape.h.

◆ m_cablingKey

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

Definition at line 77 of file LArPulseShape.h.

◆ m_calibLine

NTuple::Item<long> LArPulseShape::m_calibLine
protected

Definition at line 110 of file LArPulseShape.h.

◆ m_calo_id

const CaloCell_ID* LArPulseShape::m_calo_id
private

Definition at line 62 of file LArPulseShape.h.

◆ m_caloId

const CaloCell_ID* LArPulseShape::m_caloId = nullptr
protected

Definition at line 121 of file LArPulseShape.h.

◆ m_cellHistos

std::map<int, TProfile*> LArPulseShape::m_cellHistos
private

Definition at line 83 of file LArPulseShape.h.

◆ m_chanHash

NTuple::Item<long> LArPulseShape::m_chanHash
protected

Definition at line 112 of file LArPulseShape.h.

◆ m_channel

NTuple::Item<long> LArPulseShape::m_channel
protected

Definition at line 109 of file LArPulseShape.h.

◆ m_closestBC

int LArPulseShape::m_closestBC = 0
private

Definition at line 72 of file LArPulseShape.h.

◆ m_detector

NTuple::Item<long> LArPulseShape::m_detector
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_diffBCID

TH1D* LArPulseShape::m_diffBCID = nullptr
private

Definition at line 87 of file LArPulseShape.h.

◆ m_effhistos

std::map<std::string, TProfile*> LArPulseShape::m_effhistos
private

Definition at line 82 of file LArPulseShape.h.

◆ m_emId

const LArEM_Base_ID* LArPulseShape::m_emId = nullptr
protected

Definition at line 117 of file LArPulseShape.h.

◆ m_eta

NTuple::Item<long> LArPulseShape::m_eta
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_fcalId

const LArFCAL_Base_ID* LArPulseShape::m_fcalId = nullptr
protected

Definition at line 119 of file LArPulseShape.h.

◆ m_febHash

NTuple::Item<long> LArPulseShape::m_febHash
protected

Definition at line 112 of file LArPulseShape.h.

◆ m_FEBTemp1

NTuple::Item<float> LArPulseShape::m_FEBTemp1
protected

Definition at line 114 of file LArPulseShape.h.

◆ m_FEBTemp2

NTuple::Item<float> LArPulseShape::m_FEBTemp2
protected

Definition at line 114 of file LArPulseShape.h.

◆ m_folder

std::string LArPulseShape::m_folder
private

Definition at line 61 of file LArPulseShape.h.

◆ m_FT

NTuple::Item<long> LArPulseShape::m_FT
protected

Definition at line 109 of file LArPulseShape.h.

◆ m_hecId

const LArHEC_Base_ID* LArPulseShape::m_hecId = nullptr
protected

Definition at line 118 of file LArPulseShape.h.

◆ m_histos

std::map<std::string, TH1*> LArPulseShape::m_histos
private

Definition at line 85 of file LArPulseShape.h.

◆ m_id_char

const char* LArPulseShape::m_id_char = nullptr
private

Definition at line 69 of file LArPulseShape.h.

◆ m_initialized

bool LArPulseShape::m_initialized
private

Definition at line 59 of file LArPulseShape.h.

◆ m_isample

int LArPulseShape::m_isample = 0
private

Definition at line 70 of file LArPulseShape.h.

◆ m_isConnected

NTuple::Item<long> LArPulseShape::m_isConnected
protected

Definition at line 111 of file LArPulseShape.h.

◆ m_isFlat

bool LArPulseShape::m_isFlat = false
protected

Definition at line 124 of file LArPulseShape.h.

◆ m_isSC

bool LArPulseShape::m_isSC = false
protected

Definition at line 123 of file LArPulseShape.h.

◆ m_larPedestal

const ILArPedestal* LArPulseShape::m_larPedestal = nullptr
private

Definition at line 80 of file LArPulseShape.h.

◆ m_layer

NTuple::Item<long> LArPulseShape::m_layer
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_lumiDataKey

SG::ReadCondHandleKey<LuminosityCondData> LArPulseShape::m_lumiDataKey {this,"LumiKey", "LuminosityCondData","SG Key of LuminosityCondData object"}
private

Definition at line 76 of file LArPulseShape.h.

◆ m_mindist

int LArPulseShape::m_mindist = 0
private

Definition at line 71 of file LArPulseShape.h.

◆ m_nt

NTuple::Tuple* LArPulseShape::m_nt
protected

Definition at line 105 of file LArPulseShape.h.

◆ m_ntname

std::string LArPulseShape::m_ntname
private

Definition at line 60 of file LArPulseShape.h.

◆ m_ntpath

std::string LArPulseShape::m_ntpath
protected

Definition at line 102 of file LArPulseShape.h.

◆ m_ntTitle

std::string LArPulseShape::m_ntTitle
protected

Definition at line 102 of file LArPulseShape.h.

◆ m_OffId

int LArPulseShape::m_OffId = 0
private

Definition at line 67 of file LArPulseShape.h.

◆ m_OffId_conv

int LArPulseShape::m_OffId_conv = 0
private

Definition at line 68 of file LArPulseShape.h.

◆ m_oflChanId

NTuple::Item<long> LArPulseShape::m_oflChanId
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_oflHash

NTuple::Item<long> LArPulseShape::m_oflHash
protected

Definition at line 112 of file LArPulseShape.h.

◆ m_onlChanId

NTuple::Item<long> LArPulseShape::m_onlChanId
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_onlineId

const LArOnlineID_Base* LArPulseShape::m_onlineId = nullptr
protected

Definition at line 120 of file LArPulseShape.h.

◆ m_peakSample

NTuple::Item<short> LArPulseShape::m_peakSample
private

Definition at line 63 of file LArPulseShape.h.

◆ m_phi

NTuple::Item<long> LArPulseShape::m_phi
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_pos_neg

NTuple::Item<long> LArPulseShape::m_pos_neg
protected

Definition at line 109 of file LArPulseShape.h.

◆ m_region

NTuple::Item<long> LArPulseShape::m_region
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_slot

NTuple::Item<long> LArPulseShape::m_slot
protected

Definition at line 109 of file LArPulseShape.h.

◆ m_TProfpulse_diff

TProfile* LArPulseShape::m_TProfpulse_diff = nullptr
private

Definition at line 84 of file LArPulseShape.h.

◆ m_trigDec

PublicToolHandle<Trig::TrigDecisionTool> LArPulseShape::m_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
private

Definition at line 74 of file LArPulseShape.h.

◆ m_useHgIntercept

NTuple::Item<short> LArPulseShape::m_useHgIntercept
private

Definition at line 64 of file LArPulseShape.h.

◆ m_useLgIntercept

NTuple::Item<short> LArPulseShape::m_useLgIntercept
private

Definition at line 66 of file LArPulseShape.h.

◆ m_useMgIntercept

NTuple::Item<short> LArPulseShape::m_useMgIntercept
private

Definition at line 65 of file LArPulseShape.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:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
ILArPedestal::pedestal
virtual float pedestal(const HWIdentifier &id, int gain) const =0
LArPulseShape::m_initialized
bool m_initialized
Definition: LArPulseShape.h:59
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CaloCell_Base_ID::is_em_endcap
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
CaloCell_Base_ID::pos_neg
int pos_neg(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
LArPulseShape::m_TProfpulse_diff
TProfile * m_TProfpulse_diff
Definition: LArPulseShape.h:84
LArPulseShape::m_lumiDataKey
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey
Definition: LArPulseShape.h:76
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
checkRpcDigits.digit
digit
Definition: checkRpcDigits.py:186
HWIdentifier
Definition: HWIdentifier.h:13
LArPulseShape::m_closestBC
int m_closestBC
Definition: LArPulseShape.h:72
LArPulseShape::m_actualInt
TH1D * m_actualInt
Definition: LArPulseShape.h:88
CaloCell_Base_ID::is_hec
bool is_hec(const Identifier id) const
test if the id belongs to the HEC
LArPulseShape::m_diffBCID
TH1D * m_diffBCID
Definition: LArPulseShape.h:87
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
LArPulseShape::m_calo_id
const CaloCell_ID * m_calo_id
Definition: LArPulseShape.h:62
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
LArPulseShape::addHistogram
void addHistogram(TH1 *h)
Definition: LArPulseShape.h:89
CaloCell_Base_ID::is_em
bool is_em(const Identifier id) const
test if the id belongs to LArEM
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
LArPulseShape::m_mindist
int m_mindist
Definition: LArPulseShape.h:71
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CaloIdManager
This class initializes the Calo (LAr and Tile) offline identifiers.
Definition: CaloIdManager.h:45
LArPulseShape::m_ntTitle
std::string m_ntTitle
Definition: LArPulseShape.h:102
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:113
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
LArPulseShape::m_nt
NTuple::Tuple * m_nt
Definition: LArPulseShape.h:105
lumiFormat.i
int i
Definition: lumiFormat.py:85
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
CaloCell_Base_ID::is_fcal
bool is_fcal(const Identifier id) const
test if the id belongs to the FCAL - true also for MiniFCAL
CaloCell_Base_ID::sampling
int sampling(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LArPulseShape::m_OffId
int m_OffId
Definition: LArPulseShape.h:67
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
LArPulseShape::m_ntpath
std::string m_ntpath
Definition: LArPulseShape.h:102
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
beamspotman.basepath
string basepath
Definition: beamspotman.py:1018
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
LArPulseShape::m_BCID
TH1D * m_BCID
Definition: LArPulseShape.h:86
CaloCell_Base_ID::is_em_barrel
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
ReadCellNoiseFromCool.ncell
ncell
Definition: ReadCellNoiseFromCool.py:197
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LArPulseShape::m_histos
std::map< std::string, TH1 * > m_histos
Definition: LArPulseShape.h:85
CaloCell_Base_ID::cell_id
Identifier cell_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, const int eta, const int phi) const
Make a cell (== channel) ID from constituting fields and subCalo index; for (Mini)FCAL,...
LArPulseShape::m_larPedestal
const ILArPedestal * m_larPedestal
Definition: LArPulseShape.h:80
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
python.copyTCTOutput.chains
chains
Definition: copyTCTOutput.py:81
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
LArPulseShape::m_trigDec
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: LArPulseShape.h:74
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
LArPulseShape::m_ntname
std::string m_ntname
Definition: LArPulseShape.h:60
lumiFormat.lumi
lumi
Definition: lumiFormat.py:106
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LArPulseShape::m_isample
int m_isample
Definition: LArPulseShape.h:70
LArPulseShape::m_cellHistos
std::map< int, TProfile * > m_cellHistos
Definition: LArPulseShape.h:83
LArPulseShape::m_BCKey
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
Definition: LArPulseShape.h:78
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
LArPulseShape::m_id_char
const char * m_id_char
Definition: LArPulseShape.h:69
LArPulseShape::m_effhistos
std::map< std::string, TProfile * > m_effhistos
Definition: LArPulseShape.h:82
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
LArPulseShape::NOT_VALID
@ NOT_VALID
Definition: LArPulseShape.h:100
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
LArPulseShape::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArPulseShape.h:77
LArPulseShape::m_OffId_conv
int m_OffId_conv
Definition: LArPulseShape.h:68
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
beamspotnt.nt
def nt
Definition: bin/beamspotnt.py:1063
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
ntupleSvc
INTupleSvc * ntupleSvc()
Definition: ServiceAccessor.h:14
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
DataVector::empty
bool empty() const noexcept
Returns true if the collection is empty.
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
fitman.k
k
Definition: fitman.py:528
CaloCell_Base_ID::calo_cell_hash_max
size_type calo_cell_hash_max(void) const
cell 'global' hash table max size
ServiceHandle< ICondSvc >
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20
Identifier
Definition: IdentifierFieldParser.cxx:14