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

#include <LArRTMParamExtractor.h>

Inheritance diagram for LArRTMParamExtractor:
Collaboration diagram for LArRTMParamExtractor:

Classes

class  helperParams
 
class  Looper
 

Public Member Functions

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

Protected Member Functions

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

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

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

SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
 
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKeySC {this,"ScCablingKey","LArOnOffIdMapSC","SG Key of SC LArOnOffIdMapping object"}
 
ToolHandle< LArWFParamToolm_larWFParamTool {this,"LArWFParamTool","LArWFParamTool"}
 
std::vector< std::string > m_keylist
 
bool m_isSC
 
bool m_testmode
 
bool m_dumpOmegaScan
 
bool m_dumpResOscill
 
std::string m_omegaScanKey
 
std::string m_resOscillKeyBefore
 
std::string m_resOscillKeyAfter
 
bool m_ignoreDACselection
 
std::vector< int > m_DAC
 
bool m_extractTcal
 
bool m_extractFstep
 
bool m_extractOmega0
 
bool m_extractTaur
 
float m_defaultTcal
 
float m_defaultFstep
 
float m_defaultOmega0
 
float m_defaultTaur
 
bool m_recoverEmptyDB
 
std::string m_suffixRetrievedCaliPulse
 
std::string m_suffixRetrievedDetCell
 
std::string m_keyRetrievedCaliPulse
 
std::string m_keyRetrievedDetCell
 
std::string m_suffixExtractedCaliPulse
 
std::string m_suffixExtractedDetCell
 
std::string m_keyExtractedCaliPulse
 
std::string m_keyExtractedDetCell
 
std::string m_groupingType
 
std::vector< int > m_FT
 
int m_PosNeg
 
std::vector< int > m_Slot
 
bool m_Calibselection
 
int m_Cline
 
int m_nThreads
 
std::atomic< unsigned > m_counter {0}
 
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 41 of file LArRTMParamExtractor.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ LArRTMParamExtractor()

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

Definition at line 23 of file LArRTMParamExtractor.cxx.

23  :
24  AthAlgorithm(name, pSvcLocator),
25  m_groupingType("FeedThrough") // SubDetector, Single, FeedThrough
26 {
27  declareProperty("KeyList" ,m_keylist);
28  declareProperty("TestMode" ,m_testmode = false);
29  declareProperty("IgnoreDACSelection", m_ignoreDACselection = true);
30  declareProperty("isSC", m_isSC = false);
31 
32  m_DAC.clear();
33  int default_DAC[3] = { -1, -1, -1} ;
34  for ( unsigned i=0;i<3;i++)
35  m_DAC.push_back(default_DAC[i]);
36  declareProperty("DAC" ,m_DAC);
37 
38  declareProperty("ExtractTcal" ,m_extractTcal = true) ;
39  declareProperty("ExtractFstep" ,m_extractFstep = true) ;
40  declareProperty("ExtractOmega0" ,m_extractOmega0 = true) ;
41  declareProperty("ExtractTaur" ,m_extractTaur = true) ;
46  declareProperty("RecoverEmptyDB",m_recoverEmptyDB = false);
47  declareProperty("SuffixRetrievedCaliPulse" , m_suffixRetrievedCaliPulse = "" ) ;
48  declareProperty("SuffixRetrievedDetCell" , m_suffixRetrievedDetCell = "" ) ;
49  declareProperty("SuffixExtractedCaliPulse" , m_suffixExtractedCaliPulse = "_RTM" ) ;
50  declareProperty("SuffixExtractedDetCell" , m_suffixExtractedDetCell = "_RTM" ) ;
51 
52  declareProperty("DumpOmegaScan", m_dumpOmegaScan = false ) ;
53  declareProperty("OmegaScanKey", m_omegaScanKey = "OmegaScan" ) ;
54 
55  declareProperty("DumpResOscill", m_dumpResOscill = false ) ;
56  declareProperty("ResOscillKeyBefore", m_resOscillKeyBefore = "ResOscillBefore" ) ;
57  declareProperty("ResOscillKeyAfter", m_resOscillKeyAfter = "ResOscillAfter" ) ;
58  declareProperty("GroupingType", m_groupingType);
59 
60 
61  declareProperty("FT", m_FT);
62  declareProperty("PosNeg", m_PosNeg=0);
63  declareProperty("Slot", m_Slot);
64 
65  declareProperty("calibLineSelection", m_Calibselection = false);
66  declareProperty("cLineGroup", m_Cline=0);
67  declareProperty("nThreads", m_nThreads=-1,"-1: No TBB, 0: Let TBB decide, >0 number of threads");
68 
69 }

◆ ~LArRTMParamExtractor()

LArRTMParamExtractor::~LArRTMParamExtractor ( )
default

Member Function Documentation

◆ 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 LArRTMParamExtractor::execute ( )
inline

Definition at line 52 of file LArRTMParamExtractor.h.

52 {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 }

◆ finalize()

StatusCode LArRTMParamExtractor::finalize ( )
inline

Definition at line 54 of file LArRTMParamExtractor.h.

54 {return StatusCode::SUCCESS;}

◆ initialize()

StatusCode LArRTMParamExtractor::initialize ( )

Definition at line 73 of file LArRTMParamExtractor.cxx.

73  {
74  ATH_MSG_INFO( "in initialize()");
75 
76  m_keyRetrievedCaliPulse = "LArCaliPulseParams" + m_suffixRetrievedCaliPulse ;
77  m_keyRetrievedDetCell = "LArDetCellParams" + m_suffixRetrievedDetCell ;
78 
79  m_keyExtractedCaliPulse = "LArCaliPulseParams" + m_suffixExtractedCaliPulse ;
80  m_keyExtractedDetCell = "LArDetCellParams" + m_suffixExtractedDetCell ;
81 
82  // output new keywords:
83  // -------------------
84  ATH_MSG_INFO( "new LArCaliPulseParams will be recorded with key=" << m_keyExtractedCaliPulse ) ;
85  ATH_MSG_INFO( " new LArDetCellParams will be recorded with key=" << m_keyExtractedDetCell ) ;
86 
87  // output selected action for Tcal :
88  // ---------------------------------
90  ATH_MSG_INFO( "Tcal defaulted to " << m_defaultTcal << " ; use with CARE!" ) ;
91  } else if ( m_extractTcal ) {
92  ATH_MSG_INFO( "Tcal will be extracted" ) ;
93  } else {
94  //ATH_MSG_INFO( "Tcal will be read from DB/DetStore with key=" << m_keyRetrievedCaliPulse ) ;
95  ATH_MSG_INFO( "Tcal will be read from DB/DetStore" ) ;
96  }
97 
98  // output selected action for Fstep :
99  // ---------------------------------
101  ATH_MSG_INFO( "Fstep defaulted to " << m_defaultFstep << " ; use with CARE!" ) ;
102  } else if ( m_extractFstep ) {
103  ATH_MSG_INFO( "Fstep will be extracted" ) ;
104  } else {
105  //ATH_MSG_INFO( "Fstep will be read from DB/DetStore with key=" << m_keyRetrievedCaliPulse ) ;
106  ATH_MSG_INFO( "Fstep will be read from DB/DetStore" ) ;
107  }
108 
109  // output selected action for Omega0 :
110  // ---------------------------------
112  ATH_MSG_INFO( "Omega0 defaulted to " << m_defaultOmega0 << " ; use with CARE!" ) ;
113  } else if ( m_extractOmega0 ) {
114  ATH_MSG_INFO( "Omega0 will be extracted" ) ;
115  } else {
116  //ATH_MSG_INFO( "Omega0 will be read from DB/DetStore with key=" << m_keyRetrievedDetCell ) ;
117  ATH_MSG_INFO( "Omega0 will be read from DB/DetStore ") ;
118  }
119 
120  // output selected action for Taur :
121  // ---------------------------------
123  ATH_MSG_INFO( "Taur defaulted to " << m_defaultTaur << " ; use with CARE!" ) ;
124  } else if ( m_extractTaur ) {
125  ATH_MSG_INFO( "Taur will be extracted" ) ;
126  } else {
127  //ATH_MSG_INFO( "Taur will be read from DB/DetStore with key=" << m_keyRetrievedDetCell ) ;
128  ATH_MSG_INFO( "Taur will be read from DB/DetStore" ) ;
129  }
130 
131  // if no Omega0 extraction, dumping Omega scan and Residual oscillation doesn't make sense!
132  if ( ! m_extractOmega0 ) {
133  m_dumpOmegaScan = false ;
134  m_dumpResOscill = false ;
135  }
136 
137  if ( !m_FT.empty() ) {
138  msg(MSG::INFO) << "FT selection enabled, will only process data from FT = [ ";
139  for(unsigned i=0; i<m_FT.size()-1; ++i)
140  msg() << m_FT[i] << ", ";
141  ATH_MSG_INFO( m_FT[m_FT.size()-1] << " ] at PosNeg = " << m_PosNeg );
142  }
143 
144  if ( !m_Slot.empty() ) {
145  msg(MSG::INFO) << "Slot selection enabled, will only process data from Slot = [ ";
146  for(unsigned i=0; i<m_Slot.size()-1; ++i)
147  msg() << m_Slot[i] << ", ";
148  msg()<< m_Slot[m_Slot.size()-1] <<"]" << endmsg;
149  }
150 
152  ATH_MSG_INFO( "Will ignore DAC selection and use first value found per channel per gain" );
153 
156 
157  // Retrieve LArWFParamTool
158  ATH_CHECK(m_larWFParamTool.retrieve());
159 
160  return StatusCode::SUCCESS ;
161 }

◆ 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 LArRTMParamExtractor::stop ( )

TBB global control parameter

Definition at line 163 of file LArRTMParamExtractor.cxx.

164 {
165  ATH_MSG_INFO( "in stop()" ) ;
166 
167  // get LArOnlineID helper
168  const LArOnlineID_Base* onlineHelper;
169  /*StatusCode sc = detStore()->retrieve(onlineHelper, "LArOnlineID");
170  if (sc.isFailure()) {
171  ATH_MSG_ERROR( "Could not get LArOnlineID" );
172  return sc;
173  }*/
174  StatusCode sc;
175  if ( m_isSC ) {
176  const LArOnline_SuperCellID* ll;
177  sc = detStore()->retrieve(ll, "LArOnline_SuperCellID");
178  if (sc.isFailure()) {
179  msg(MSG::ERROR) << "Could not get LArOnlineID helper !" << endmsg;
180  return StatusCode::FAILURE;
181  }
182  else {
183  onlineHelper = (const LArOnlineID_Base*)ll;
184  ATH_MSG_DEBUG("Found the LArOnlineID helper");
185  }
186  } else { // m_isSC
187  const LArOnlineID* ll;
188  sc = detStore()->retrieve(ll, "LArOnlineID");
189  if (sc.isFailure()) {
190  msg(MSG::ERROR) << "Could not get LArOnlineID helper !" << endmsg;
191  return StatusCode::FAILURE;
192  }
193  else {
194  onlineHelper = (const LArOnlineID_Base*)ll;
195  ATH_MSG_DEBUG(" Found the LArOnlineID helper. ");
196  }
197  }
198 
199 
200 
201  const LArOnOffIdMapping* cabling(nullptr);
202  if( m_isSC ){
204  cabling = {*cablingHdl};
205  if(!cabling) {
206  ATH_MSG_ERROR("Do not have mapping object " << m_cablingKeySC.key());
207  return StatusCode::FAILURE;
208  }
209  }else{
211  cabling = {*cablingHdl};
212  if(!cabling) {
213  ATH_MSG_ERROR("Do not have mapping object " << m_cablingKey.key());
214  return StatusCode::FAILURE;
215  }
216  }
217 
218 
219 
220  // retrieve previous complete objects from DetStore, if needed
221  // -----------------------------------------------------------
222 
223  // use complete objects
224  //const LArCaliPulseParamsComplete* prevCaliPulseParams ;
225  //const LArDetCellParamsComplete* prevDetCellParams ;
226 
227  // use abstract interfaces
228  const ILArCaliPulseParams* prevCaliPulseParams = nullptr;
229  const ILArDetCellParams* prevDetCellParams = nullptr;
230 
231  if ( ! ( m_extractTcal && m_extractFstep ) ) {
232  //sc = detStore()->retrieve(prevCaliPulseParams,m_keyRetrievedCaliPulse);
233  sc = detStore()->retrieve(prevCaliPulseParams);
234  if ( sc.isFailure() ) {
235  //ATH_MSG_ERROR( "Can't get CaliPulseParams from DetStore, key=" << m_keyRetrievedCaliPulse );
236  ATH_MSG_ERROR( "Can't get CaliPulseParams from DetStore" ) ;
237  ATH_MSG_ERROR( "(was requested for" ;
238  if ( ! m_extractTcal ) msg() << " Tcal" ;
239  if ( ! m_extractFstep ) msg() << " Fstep" ;
240  msg() << ")" ) ;
241  return sc ;
242  }
243  //ATH_MSG_INFO( "CaliPulseParams retrieved from DetStore, key=" << m_keyRetrievedCaliPulse ) ;
244  ATH_MSG_INFO( "CaliPulseParams retrieved from DetStore");
245  }
246 
247  if ( ! ( m_extractOmega0 && m_extractTaur ) ) {
248  //sc = detStore()->retrieve(prevDetCellParams,m_keyRetrievedDetCell);
249  sc = detStore()->retrieve(prevDetCellParams);
250  if ( sc.isFailure() ) {
251  //ATH_MSG_ERROR( "Can't get DetCellParams from DetStore, key=" << m_keyRetrievedDetCell ) ;
252  ATH_MSG_ERROR( "Can't get DetCellParams from DetStore" ) ;
253  ATH_MSG_ERROR( "(was requested for" ;
254  if ( ! m_extractOmega0 ) msg() << " Omega0" ;
255  if ( ! m_extractTaur ) msg() << " Taur" ;
256  msg() << ")" ) ;
257  return sc ;
258  }
259  //ATH_MSG_INFO( "DetCellParams retrieved from DetStore, key=" << m_keyRetrievedDetCell ) ;
260  ATH_MSG_INFO( "DetCellParams retrieved from DetStore");
261  }
262 
263 
264  // create and initialize new complete objects
265  // ------------------------------------------
266  std::unique_ptr<LArCaliPulseParamsComplete> newCaliPulseParams=std::make_unique<LArCaliPulseParamsComplete>() ;
267 
268  sc=newCaliPulseParams->setGroupingType(m_groupingType,msg());
269  if (sc.isFailure()) {
270  ATH_MSG_ERROR( "Failed to set groupingType for LArCaliPulseParams object" );
271  return sc;
272  }
273  sc=newCaliPulseParams->initialize();
274  if (sc.isFailure()) {
275  ATH_MSG_ERROR( "Failed to initialize for LArCaliPulseParams object" );
276  return sc;
277  }
278 
279  std::unique_ptr<LArDetCellParamsComplete> newDetCellParams = std::make_unique<LArDetCellParamsComplete>();
280  sc=newDetCellParams->setGroupingType(m_groupingType,msg());
281  if (sc.isFailure()) {
282  ATH_MSG_ERROR( "Failed to set groupingType for LArDetCellParamsComplete object" );
283  return sc;
284  }
285  sc=newDetCellParams->initialize();
286  if (sc.isFailure()) {
287  ATH_MSG_ERROR( "Failed to initialize LArDetCellParamsComplete object" );
288  return sc;
289  }
290 
291  // needed for omega scan dump:
292  // use LArCaliWave container to store frequency spectra
293  std::unique_ptr<LArCaliWaveContainer> omegaScanContainer;
294  if ( m_dumpOmegaScan ) {
295  omegaScanContainer = std::make_unique<LArCaliWaveContainer>();
296  sc=omegaScanContainer->setGroupingType(m_groupingType,msg());
297  if (sc.isFailure()) {
298  ATH_MSG_ERROR( "Failed to set groupingType for LArCaliWaveContainer object" );
299  return sc;
300  }
301  sc=omegaScanContainer->initialize();
302  if (sc.isFailure()) {
303  ATH_MSG_ERROR( "Failed to initialize LArCaliWaveContainer object" );
304  return sc;
305  }
306  }// end if m_dumpOmegaScan
307 
308  // needed for residual oscillation dump:
309  std::unique_ptr<LArCaliWaveContainer> resOscillContainerBefore;
310  std::unique_ptr<LArCaliWaveContainer> resOscillContainerAfter;
311  if ( m_dumpResOscill ) {
312  resOscillContainerBefore = std::make_unique<LArCaliWaveContainer>();
313  resOscillContainerAfter = std::make_unique<LArCaliWaveContainer>();
314  if(resOscillContainerBefore->setGroupingType(m_groupingType,msg()).isFailure()) {
315  ATH_MSG_ERROR( "Failed to set groupingType for LArCaliWaveContainer object" );
316  return StatusCode::FAILURE;
317  }
318  if(resOscillContainerBefore->initialize().isFailure()) {
319  ATH_MSG_ERROR( "Failed to initialize LArCaliWaveContainer object" );
320  return StatusCode::FAILURE;
321  }
322 
323  if(resOscillContainerAfter->setGroupingType(m_groupingType,msg()).isFailure()) {
324  ATH_MSG_ERROR( "Failed to set groupingType for LArCaliWaveContainer object" );
325  return StatusCode::FAILURE;
326  }
327  if(resOscillContainerAfter->initialize().isFailure()) {
328  ATH_MSG_ERROR( "Failed to initialize LArCaliWaveContainer object" );
329  return StatusCode::FAILURE;
330  }
331  }
332 
333  // needed for existence checks:
334  static const LArCaliPulseParamsComplete::LArCondObj emptyCaliPulse ;
335  static const LArDetCellParamsComplete::LArCondObj emptyDetCell ;
336 
337  // prepare for nested loops: { containers { gains { channels { DACs } } } }
338  // ------------------------
339 
340  int nchannel = 0 ;
341 
342  // get the waveforms from the detector store, according to key list
343 
344  int NCalibParams=0;
345  int NDetParams=0;
346 
347  unsigned nWaveConts=0;
348 
349  //Collect all input params into this flat vector:
350  std::vector<helperParams> inputParams;
351 
352  for (const std::string& key : m_keylist) { //Loop over all containers that are to be processed
353 
354  // Get current LArCaliWaveContainer
355  const LArCaliWaveContainer* caliWaveContainer;
356  sc = detStore()->retrieve(caliWaveContainer,key);
357  if (sc.isFailure()) {
358  ATH_MSG_INFO( "LArCaliWaveContainer (key = " << key << ") not found in StoreGate");
359  continue;
360  }
361  if ( caliWaveContainer == nullptr ) {
362  ATH_MSG_INFO( "LArCaliWaveContainer (key = " << key << ") is empty");
363  continue;
364  }
365 
366  ATH_MSG_INFO( "Processing LArCaliWaveContainer from StoreGate, key = " << key);
367  ++nWaveConts;
368 
369  for ( unsigned gain = CaloGain::LARHIGHGAIN ; gain < CaloGain::LARNGAIN ; ++ gain ) {
370 
372  const_iterator itVec = caliWaveContainer->begin(gain);
373  const_iterator itVec_e = caliWaveContainer->end(gain);
374 
375  if ( itVec == itVec_e ) {
376  ATH_MSG_INFO( "LArCaliWaveContainer (key=" << key << ") has no channels with gain = " << gain);
377  continue ;
378  }
379  ATH_MSG_INFO( "Now processing gain = " << gain << " in LArCaliWaveContainer with key=" << key);
380 
381  for (; itVec != itVec_e; ++itVec) { // loop over channels for a given gain
382 
383  LArCaliWaveContainer::LArCaliWaves::const_iterator cont_it = (*itVec).begin();
384  LArCaliWaveContainer::LArCaliWaves::const_iterator cont_it_e = (*itVec).end();
385 
386  if ( cont_it == cont_it_e ) {
387  ATH_MSG_DEBUG( "No DACs found for channel 0x" << MSG::hex << itVec.channelId() << MSG::dec);
388  continue ;
389  } else {
390  ATH_MSG_DEBUG( (*itVec).size() << " DACs found for channel 0x" << MSG::hex << itVec.channelId()<< MSG::dec);
391  }
392 
393  // FT selection
394  if ( !m_FT.empty() ) {
395  int PosNeg = onlineHelper->pos_neg(itVec.channelId());
396  int FT = onlineHelper->feedthrough(itVec.channelId());
397  std::vector<int>::const_iterator selectFT = std::find(m_FT.begin(),m_FT.end(),FT);
398  if ( PosNeg!=m_PosNeg || selectFT==m_FT.end() ) {
399  ATH_MSG_DEBUG( "Channel 0x" << MSG::hex << itVec.channelId() << MSG::dec
400  << " does not match FT selection (FT = " << FT << ", PosNeg = " << PosNeg
401  << "), skipping...");
402  continue;
403  } else {
404  ATH_MSG_INFO( "Channel 0x" << MSG::hex << itVec.channelId() << MSG::dec
405  << " matches FT selection (FT = " << FT << ", PosNeg = " << PosNeg << ")");
406  }
407  }
408 
409  // Slot selection
410  if ( !m_Slot.empty() ) {
411  int Slot = onlineHelper->slot(itVec.channelId());
412  std::vector<int>::const_iterator selectSlot = std::find(m_Slot.begin(),m_Slot.end(),Slot);
413  if ( selectSlot==m_Slot.end() ) {
414  ATH_MSG_DEBUG( "Channel 0x" << MSG::hex << itVec.channelId() << MSG::dec
415  << " does not match Slot selection (Slot = " << Slot << "), skipping...");
416  continue;
417  } else {
418  ATH_MSG_INFO( "Channel 0x" << MSG::hex << itVec.channelId() << MSG::dec
419  << " matches Slot selection (Slot = " << Slot << ")");
420  }
421  }
422 
423  unsigned nDACproc = 0;
424 
425  for (;cont_it!=cont_it_e;++cont_it) { // loop over DAC values for a given channel
426 
427  // get current cali wave:
428  // ---------------------
429  const LArCaliWave& larCaliWave = (*cont_it);
430  const HWIdentifier& chid = itVec.channelId() ;
431 
432  //if ( larCaliWave.getFlag() == LArWave::dac0 ) continue ; // skip dac0 waves
433 
434  if ( !m_ignoreDACselection ) { // use jobOptions DAC selection
435  if ( larCaliWave.getDAC() != m_DAC[gain] ) {
436  ATH_MSG_VERBOSE( "Skipping DAC = " << larCaliWave.getDAC()
437  << " for channel " << MSG::hex << chid << MSG::dec
438  << " in Gain = " << gain);
439  continue;
440  }
441  } else { // DAC selection will be ignored, will be used first value (if found)
442  if ( nDACproc>0 )
443  continue;
444  }
445 
446  // calibLine selection
447  if(m_Calibselection) {
448  if( !( (larCaliWave.getIsPulsedInt()>>m_Cline) & 1) ) {
449  ATH_MSG_DEBUG( "Channel 0x" << MSG::hex << itVec.channelId() <<
450  "isPulsedInt 0x"<<(larCaliWave.getIsPulsedInt()&0xF)<<MSG::dec
451  << " not match group "<<m_Cline<<" skipping...");
452  continue;
453  }
454  }//end if calibLine selection
455 
456  nDACproc++;
457 
458  nchannel++ ;
459  if ( nchannel < 100 || ( nchannel < 1000 && nchannel%100==0 ) || nchannel%1000==0 )
460  ATH_MSG_INFO( "Ingesting calibration waveform number " << nchannel);
461 
462  inputParams.emplace_back(&larCaliWave,chid,gain);
463  if ( omegaScanContainer ) inputParams.back().omegaScan.emplace();
464  if ( resOscillContainerBefore ) inputParams.back().resOscill0.emplace();
465  if ( resOscillContainerAfter ) inputParams.back().resOscill1.emplace();
466  LArWFParams& wfParams=inputParams.back().wfParams ;
467  float retrievedParam ;
468 
469  ATH_MSG_VERBOSE("Extracting parameters for channel " << MSG::hex << chid << MSG::dec
470  << " in Gain = " << gain << " at DAC = " << larCaliWave.getDAC());
471 
473  wfParams.setTcal( m_defaultTcal ) ;
474  } else if ( m_extractTcal ) {
475  wfParams.setTcal( LArWFParamTool::DoExtract ) ;
476  } else {
477  wfParams.setTcal( retrievedParam = prevCaliPulseParams->Tcal(chid,gain) ) ;
478  if ( retrievedParam == emptyCaliPulse.m_Tcal ) {
479  ATH_MSG_WARNING( "Parameters Tcal requested from DB but not found for channel "
480  << onlineHelper->channel_name(chid)
481  << " gain=" << gain << " DAC=" << larCaliWave.getDAC());
482  if (m_recoverEmptyDB) {
483  wfParams.setTcal( LArWFParamTool::DoExtract ) ;
484  ATH_MSG_WARNING( " -> Recovering with RTM extraction." );
485  } else {
486  ATH_MSG_WARNING( " -> Skipping cell!" );
487  continue ;
488  }
489  }
490  }
491 
493  wfParams.setFstep( m_defaultFstep ) ;
494  } else if ( m_extractFstep ) {
495  wfParams.setFstep( LArWFParamTool::DoExtract ) ;
496  } else {
497  wfParams.setFstep( retrievedParam = prevCaliPulseParams->Fstep(chid,gain) ) ;
498  if ( retrievedParam == emptyCaliPulse.m_Fstep ) {
499  ATH_MSG_WARNING( "Parameters Fstep requested from DB but not found for channel "
500  << onlineHelper->channel_name(chid)
501  << " gain=" << gain << " DAC=" << larCaliWave.getDAC());
502  if (m_recoverEmptyDB) {
503  ATH_MSG_WARNING( " -> Recovering with RTM extraction." );
504  wfParams.setFstep( LArWFParamTool::DoExtract ) ;
505  } else {
506  ATH_MSG_WARNING( " -> Skipping cell!" );
507  continue ;
508  }
509  }
510  }
511 
513  wfParams.setOmega0( m_defaultOmega0 ) ;
514  } else if ( m_extractOmega0 ) {
516  } else {
517  wfParams.setOmega0( retrievedParam = prevDetCellParams->Omega0(chid,gain) ) ;
518  if ( retrievedParam == emptyDetCell.m_Omega0 ) {
519  ATH_MSG_WARNING( "Parameters Omega0 requested from DB but not found for channel "
520  << onlineHelper->channel_name(chid)
521  << " gain=" << gain << " DAC=" << larCaliWave.getDAC() );
522  if (m_recoverEmptyDB) {
523  ATH_MSG_WARNING( " -> Recovering with RTM extraction." );
525  } else {
526  ATH_MSG_WARNING( " -> Skipping cell!" );
527  continue ;
528  }
529  }
530  }
531 
533  wfParams.setTaur( m_defaultTaur ) ;
534  } else if ( m_extractTaur ) {
535  wfParams.setTaur( LArWFParamTool::DoExtract ) ;
536  } else {
537  wfParams.setTaur( retrievedParam = prevDetCellParams->Taur(chid,gain) ) ;
538  if ( retrievedParam == emptyDetCell.m_Taur ) {
539  ATH_MSG_WARNING( "Parameters Taur requested from DB but not found for channel "
540  << onlineHelper->channel_name(chid)
541  << " gain=" << gain << " DAC=" << larCaliWave.getDAC());
542  if (m_recoverEmptyDB) {
543  ATH_MSG_WARNING( " -> Recovering with RTM extraction." );
544  wfParams.setTaur( LArWFParamTool::DoExtract ) ;
545  } else {
546  ATH_MSG_WARNING( " -> Skipping cell!" );
547  continue ;
548  }
549  }
550  }
551 
552  ATH_MSG_VERBOSE( "Pre-setting: Tcal = " << wfParams.tcal() ) ;
553  ATH_MSG_VERBOSE( "Pre-setting: Fstep = " << wfParams.fstep() ) ;
554  ATH_MSG_VERBOSE( "Pre-setting: Omega0 = " << wfParams.omega0() ) ;
555  ATH_MSG_VERBOSE( "Pre-setting: Taur = " << wfParams.taur() ) ;
556 
557  //end collection of input values. All stored in inputParams vector
558 
559  }//end loop over DAC values
560  if ( m_testmode ) {
561  ATH_MSG_INFO( "Test mode selected, process only one channel per gain per container!" ) ;
562  break ;
563  }
564  }//end loop over channels
565  }//end loop over gains
566  }//end loop over input containers (SG keys)
567 
568 
569  if (m_nThreads == -1) { //traditional, serial processing:
570  Looper looper(&inputParams,cabling,m_larWFParamTool.operator->(),msg(),m_counter);
571  tbb::blocked_range<size_t> r(0,inputParams.size());
572  looper(r);
573  }
574  else {
576  std::unique_ptr<tbb::global_control> tbbgc;
577 
578  if (m_nThreads>0) {
579  tbbgc=std::make_unique<tbb::global_control>( tbb::global_control::max_allowed_parallelism, m_nThreads);
580  }
581 
582  ATH_MSG_INFO("Now calling TBB parallel_for");
583  // NOW CALL TBB PARALLEL FOR
584  tbb::parallel_for(tbb::blocked_range<size_t>(0, inputParams.size()),Looper(&inputParams,cabling,
585  m_larWFParamTool.operator->(),
586  msg(),m_counter));
587 
588  ATH_MSG_INFO("Done with parallel_for");
589  }
590 
591  //Loop over inputParams to collect output:
592  for (helperParams& params : inputParams) {
593  if (!params.success) { // bad parameters
594  ATH_MSG_WARNING( "Bad parameters for channel " << onlineHelper->channel_name(params.chid) << MSG::dec
595  << " gain=" << params.gain << " DAC=" << params.caliWave->getDAC() ) ;
596  continue ;
597  }
598  const LArWFParams& wfParams=params.wfParams;
599  const HWIdentifier& chid=params.chid;
600  const unsigned& gain=params.gain;
601  const LArCaliWave& larCaliWave=*(params.caliWave);
602 
603  ATH_MSG_VERBOSE( "parameters extracted for channel " << MSG::hex << chid << MSG::dec
604  << " gain=" << gain << " DAC=" << larCaliWave.getDAC() ) ;
605 
606  // fill params structures to be registered in detStore
607  if ( newCaliPulseParams->Tcal(chid,gain) != emptyCaliPulse.m_Tcal ) {
608  ATH_MSG_WARNING( "Already present in LArCaliPulseParams, don't add: channel "
609  << MSG::hex << chid << MSG::dec << " gain=" << gain ) ;
610  } else {
611  ATH_MSG_VERBOSE( "add to LArCaliPulseParams..." ) ;
612  NCalibParams++;
613  if(m_Calibselection) {
614  newCaliPulseParams->set(chid,(int)(gain),wfParams.tcal(),wfParams.fstep(),0.,0.,larCaliWave.getIsPulsedInt() ) ;
615  } else {
616  newCaliPulseParams->set(chid,(int)(gain),wfParams.tcal(),wfParams.fstep() ) ;
617  }
618  }
619 
620  if ( newDetCellParams->Omega0(chid,gain) != emptyDetCell.m_Omega0 ) {
621  ATH_MSG_WARNING( "Already present in LArDetCellParams, don't add: channel "
622  << MSG::hex << chid << MSG::dec << " gain=" << gain ) ;
623  } else {
624  ATH_MSG_VERBOSE( "add to LArDetCellParams..." ) ;
625  newDetCellParams->set(chid,(int)(gain),wfParams.omega0(),wfParams.taur() ) ;
626  NDetParams++;
627  }
628 
629  // collect this omega scan
630  if ( omegaScanContainer ) {
631  LArCaliWaveContainer::LArCaliWaves& dacScans = omegaScanContainer->get(chid, gain);
632  dacScans.push_back( *params.omegaScan);
633  ATH_MSG_VERBOSE( "omega scan added to container, channel=" << MSG::hex << chid << MSG::dec
634  << " gain=" << gain ) ;
635  }
636 
637  // collect this residual oscillation before Taur extraction
638  if ( resOscillContainerBefore ) {
639  LArCaliWaveContainer::LArCaliWaves& dacResOsc0 = resOscillContainerBefore->get(chid, gain);
640  dacResOsc0.push_back( *params.resOscill0) ;
641  ATH_MSG_VERBOSE( "residual oscillation before Taur extraction added to container, channel=" << MSG::hex << chid << MSG::dec
642  << " gain=" << gain ) ;
643  }
644 
645  // collect this residual oscillation after Taur extraction
646  if ( resOscillContainerAfter ) {
647  LArCaliWaveContainer::LArCaliWaves& dacResOsc1 = resOscillContainerAfter->get(chid, gain);
648  dacResOsc1.push_back( *params.resOscill1 ) ;
649  ATH_MSG_VERBOSE( "residual oscillation after Taur extraction added to container, channel=" << MSG::hex << chid << MSG::dec
650  << " gain=" << gain ) ;
651  }
652 
653  } // end loop over input/output container
654 
655  if (nWaveConts==0) {
656  ATH_MSG_ERROR( "Did not process any caliwave container!" );
657  return StatusCode::FAILURE;
658  }
659 
660  //ATH_MSG_INFO( " Summary : Number of cells with a LArCaliPulseParams values computed : " << newCaliPulseParams->totalNumberOfConditions() );
661  //ATH_MSG_INFO( " Summary : Number of cells with a LArDetCellParams values computed : " << newDetCellParams->totalNumberOfConditions() );
662  ATH_MSG_INFO( " Summary : Number of cells with a LArCaliPulseParams values computed : " << NCalibParams );
663  ATH_MSG_INFO( " Summary : Number of cells with a LArDetCellParams values computed : " << NDetParams );
664  ATH_MSG_INFO( " Summary : Number of Barrel PS cells side A or C (connected+unconnected): 3904+ 192 = 4096 " );
665  ATH_MSG_INFO( " Summary : Number of Barrel cells side A or C (connected+unconnected): 50944+2304 = 53248 " );
666  ATH_MSG_INFO( " Summary : Number of EMEC cells side A or C (connected+unconnected): 31872+3456 = 35328 " );
667  ATH_MSG_INFO( " Summary : Number of HEC cells side A or C (connected+unconnected): 2816+ 256 = 3072 " );
668  ATH_MSG_INFO( " Summary : Number of FCAL cells side A or C (connected+unconnected): 1762+ 30 = 1792 " );
669 
670 
671  // record extracted LArCaliPulseParamsComplete to detStore
672  ATH_MSG_INFO( "...recording LArCaliPulseParams into det.store, key=" << m_keyExtractedCaliPulse ) ;
673  const LArCaliPulseParamsComplete* paramsPtr=newCaliPulseParams.get(); // remember ptr for
674  if ( StatusCode::FAILURE == ( detStore()->record(std::move(newCaliPulseParams), m_keyExtractedCaliPulse ) ) ) {
675  ATH_MSG_ERROR( "Could not record LArCaliPulseParams into det.store!" ) ;
676  return StatusCode::FAILURE ;
677  }
678 
679  // Symlink LArCaliPulseParamsComplete to ILArCaliPulseParams for further use
680  ATH_MSG_DEBUG( "Trying to symlink ILArCaliPulseParams with LArCaliPulseParamsComplete...");
681  ILArCaliPulseParams *larCaliPulseParams = nullptr;
682  sc = detStore()->symLink(paramsPtr,larCaliPulseParams);
683  if (sc.isFailure()) {
684  ATH_MSG_FATAL( "Could not symlink ILArCaliPulseParams with LArCaliPulseParamsComplete." );
685  return StatusCode::FAILURE;
686  }
687  ATH_MSG_INFO( "ILArCaliPulseParams symlink with LArCaliPulseParamsComplete successfully");
688 
689  // record extracted LArDetCellParamsComplete to detStore
690  ATH_MSG_INFO( "...recording LArDetCellParams into det.store, key=" << m_keyExtractedDetCell) ;
691  const LArDetCellParamsComplete* detcellPtr=newDetCellParams.get();
692  if ( StatusCode::FAILURE == ( detStore()->record(std::move(newDetCellParams), m_keyExtractedDetCell ) ) ) {
693  ATH_MSG_ERROR( "Could not record LArDetCellParams into det.store!" ) ;
694  return StatusCode::FAILURE ;
695  }
696 
697  // Symlink LArDetCellParamsComplete to ILArDetCellParams for further use
698  ATH_MSG_DEBUG( "Trying to symlink ILArDetCellParams with LArDetCellParamsComplete...");
699  ILArDetCellParams *lArDetCellParams = nullptr;
700  sc = detStore()->symLink(detcellPtr,lArDetCellParams);
701  if (sc.isFailure()) {
702  ATH_MSG_FATAL( "Could not symlink ILArDetCellParams with LArDetCellParamsComplete." );
703  return StatusCode::FAILURE;
704  }
705  ATH_MSG_INFO( "ILArDetCellParams symlink with LArDetCellParamsComplete successfully" ) ;
706 
707  if ( omegaScanContainer ) {
708  ATH_MSG_INFO( "Recording omega scan container into det.store, key=" << m_omegaScanKey ) ;
709  if ( StatusCode::FAILURE == ( detStore()->record(std::move(omegaScanContainer), m_omegaScanKey ) ) ) {
710  ATH_MSG_WARNING( "Could not record omega scan container into DetStore!" ) ;
711  // return StatusCode::FAILURE ;
712  }
713  }
714 
715  if ( resOscillContainerBefore ) {
716  ATH_MSG_INFO( "Recording residual oscillation (before Taur extraction) container into DetStore, key = " << m_resOscillKeyBefore ) ;
717  if ( StatusCode::FAILURE == ( detStore()->record(std::move(resOscillContainerBefore), m_resOscillKeyBefore ) ) ) {
718  ATH_MSG_WARNING( "Could not record residual oscillation (before Taur extraction) container into DetStore!" ) ;
719  // return StatusCode::FAILURE ;
720  }
721  }
722 
723  if ( resOscillContainerAfter ) {
724  ATH_MSG_INFO( "Recording residual oscillation (after Taur extraction) container into DetStore, key = " << m_resOscillKeyAfter ) ;
725  if ( StatusCode::FAILURE == ( detStore()->record(std::move(resOscillContainerAfter), m_resOscillKeyAfter ) ) ) {
726  ATH_MSG_WARNING( "Could not record residual oscillation (after Taur extraction) container into DetStore!" ) ;
727  // return StatusCode::FAILURE ;
728  }
729  }
730 
731  ATH_MSG_INFO( "LArRTMParamExtractor finalized!" );
732 
733 return StatusCode::SUCCESS;
734 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

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

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

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

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

Definition at line 66 of file AthAlgorithm.cxx.

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

◆ sysStart()

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

Handle START transition.

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

◆ updateVHKA()

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

Definition at line 308 of file AthCommonDataStore.h.

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

Member Data Documentation

◆ m_cablingKey

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

Definition at line 58 of file LArRTMParamExtractor.h.

◆ m_cablingKeySC

SG::ReadCondHandleKey<LArOnOffIdMapping> LArRTMParamExtractor::m_cablingKeySC {this,"ScCablingKey","LArOnOffIdMapSC","SG Key of SC LArOnOffIdMapping object"}
private

Definition at line 59 of file LArRTMParamExtractor.h.

◆ m_Calibselection

bool LArRTMParamExtractor::m_Calibselection
private

Definition at line 91 of file LArRTMParamExtractor.h.

◆ m_Cline

int LArRTMParamExtractor::m_Cline
private

Definition at line 92 of file LArRTMParamExtractor.h.

◆ m_counter

std::atomic<unsigned> LArRTMParamExtractor::m_counter {0}
mutableprivate

Definition at line 98 of file LArRTMParamExtractor.h.

◆ m_DAC

std::vector<int> LArRTMParamExtractor::m_DAC
private

Definition at line 69 of file LArRTMParamExtractor.h.

◆ m_defaultFstep

float LArRTMParamExtractor::m_defaultFstep
private

Definition at line 72 of file LArRTMParamExtractor.h.

◆ m_defaultOmega0

float LArRTMParamExtractor::m_defaultOmega0
private

Definition at line 72 of file LArRTMParamExtractor.h.

◆ m_defaultTaur

float LArRTMParamExtractor::m_defaultTaur
private

Definition at line 72 of file LArRTMParamExtractor.h.

◆ m_defaultTcal

float LArRTMParamExtractor::m_defaultTcal
private

Definition at line 72 of file LArRTMParamExtractor.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_dumpOmegaScan

bool LArRTMParamExtractor::m_dumpOmegaScan
private

Definition at line 65 of file LArRTMParamExtractor.h.

◆ m_dumpResOscill

bool LArRTMParamExtractor::m_dumpResOscill
private

Definition at line 65 of file LArRTMParamExtractor.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_extractFstep

bool LArRTMParamExtractor::m_extractFstep
private

Definition at line 71 of file LArRTMParamExtractor.h.

◆ m_extractOmega0

bool LArRTMParamExtractor::m_extractOmega0
private

Definition at line 71 of file LArRTMParamExtractor.h.

◆ m_extractTaur

bool LArRTMParamExtractor::m_extractTaur
private

Definition at line 71 of file LArRTMParamExtractor.h.

◆ m_extractTcal

bool LArRTMParamExtractor::m_extractTcal
private

Definition at line 71 of file LArRTMParamExtractor.h.

◆ m_FT

std::vector<int> LArRTMParamExtractor::m_FT
private

Definition at line 86 of file LArRTMParamExtractor.h.

◆ m_groupingType

std::string LArRTMParamExtractor::m_groupingType
private

Definition at line 83 of file LArRTMParamExtractor.h.

◆ m_ignoreDACselection

bool LArRTMParamExtractor::m_ignoreDACselection
private

Definition at line 68 of file LArRTMParamExtractor.h.

◆ m_isSC

bool LArRTMParamExtractor::m_isSC
private

Definition at line 64 of file LArRTMParamExtractor.h.

◆ m_keyExtractedCaliPulse

std::string LArRTMParamExtractor::m_keyExtractedCaliPulse
private

Definition at line 80 of file LArRTMParamExtractor.h.

◆ m_keyExtractedDetCell

std::string LArRTMParamExtractor::m_keyExtractedDetCell
private

Definition at line 80 of file LArRTMParamExtractor.h.

◆ m_keylist

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

Definition at line 63 of file LArRTMParamExtractor.h.

◆ m_keyRetrievedCaliPulse

std::string LArRTMParamExtractor::m_keyRetrievedCaliPulse
private

Definition at line 77 of file LArRTMParamExtractor.h.

◆ m_keyRetrievedDetCell

std::string LArRTMParamExtractor::m_keyRetrievedDetCell
private

Definition at line 77 of file LArRTMParamExtractor.h.

◆ m_larWFParamTool

ToolHandle<LArWFParamTool> LArRTMParamExtractor::m_larWFParamTool {this,"LArWFParamTool","LArWFParamTool"}
private

Definition at line 61 of file LArRTMParamExtractor.h.

◆ m_nThreads

int LArRTMParamExtractor::m_nThreads
private

Definition at line 97 of file LArRTMParamExtractor.h.

◆ m_omegaScanKey

std::string LArRTMParamExtractor::m_omegaScanKey
private

Definition at line 66 of file LArRTMParamExtractor.h.

◆ m_PosNeg

int LArRTMParamExtractor::m_PosNeg
private

Definition at line 87 of file LArRTMParamExtractor.h.

◆ m_recoverEmptyDB

bool LArRTMParamExtractor::m_recoverEmptyDB
private

Definition at line 74 of file LArRTMParamExtractor.h.

◆ m_resOscillKeyAfter

std::string LArRTMParamExtractor::m_resOscillKeyAfter
private

Definition at line 66 of file LArRTMParamExtractor.h.

◆ m_resOscillKeyBefore

std::string LArRTMParamExtractor::m_resOscillKeyBefore
private

Definition at line 66 of file LArRTMParamExtractor.h.

◆ m_Slot

std::vector<int> LArRTMParamExtractor::m_Slot
private

Definition at line 89 of file LArRTMParamExtractor.h.

◆ m_suffixExtractedCaliPulse

std::string LArRTMParamExtractor::m_suffixExtractedCaliPulse
private

Definition at line 79 of file LArRTMParamExtractor.h.

◆ m_suffixExtractedDetCell

std::string LArRTMParamExtractor::m_suffixExtractedDetCell
private

Definition at line 79 of file LArRTMParamExtractor.h.

◆ m_suffixRetrievedCaliPulse

std::string LArRTMParamExtractor::m_suffixRetrievedCaliPulse
private

Definition at line 76 of file LArRTMParamExtractor.h.

◆ m_suffixRetrievedDetCell

std::string LArRTMParamExtractor::m_suffixRetrievedDetCell
private

Definition at line 76 of file LArRTMParamExtractor.h.

◆ m_testmode

bool LArRTMParamExtractor::m_testmode
private

Definition at line 65 of file LArRTMParamExtractor.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:
LArWFParams::taur
double taur() const
Definition: LArWFParams.h:271
beamspotman.r
def r
Definition: beamspotman.py:676
LArRTMParamExtractor::m_extractTaur
bool m_extractTaur
Definition: LArRTMParamExtractor.h:71
LArRTMParamExtractor::m_defaultTaur
float m_defaultTaur
Definition: LArRTMParamExtractor.h:72
LArRTMParamExtractor::m_isSC
bool m_isSC
Definition: LArRTMParamExtractor.h:64
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
LArRTMParamExtractor::m_ignoreDACselection
bool m_ignoreDACselection
Definition: LArRTMParamExtractor.h:68
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
LArWFParams::setTcal
void setTcal(double tcal)
Definition: LArWFParams.h:226
LArDetCellParamsComplete::set
void set(const HWIdentifier &CellID, int gain, float omega0, float taur)
Definition: LArDetCellParamsComplete.cxx:12
LArWFParams::setFstep
void setFstep(double fstep)
Definition: LArWFParams.h:227
LArRTMParamExtractor::m_DAC
std::vector< int > m_DAC
Definition: LArRTMParamExtractor.h:69
LArCaliPulseParamsP::m_Fstep
float m_Fstep
Definition: LArCaliPulseParamsP.h:24
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
LArRTMParamExtractor::m_resOscillKeyBefore
std::string m_resOscillKeyBefore
Definition: LArRTMParamExtractor.h:66
ILArDetCellParams
Definition: ILArDetCellParams.h:13
LArConditionsContainerDB::iteratorT
Declaration of const iterator.
Definition: LArConditionsContainerDB.h:72
LArRTMParamExtractor::m_keyExtractedDetCell
std::string m_keyExtractedDetCell
Definition: LArRTMParamExtractor.h:80
LArRTMParamExtractor::m_omegaScanKey
std::string m_omegaScanKey
Definition: LArRTMParamExtractor.h:66
LArRTMParamExtractor::m_defaultFstep
float m_defaultFstep
Definition: LArRTMParamExtractor.h:72
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArRTMParamExtractor::m_suffixExtractedCaliPulse
std::string m_suffixExtractedCaliPulse
Definition: LArRTMParamExtractor.h:79
LArOnlineID_Base::slot
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
Definition: LArOnlineID_Base.cxx:1961
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
LArDetCellParamsP::m_Omega0
float m_Omega0
Definition: LArDetCellParamsP.h:16
LArCaliWave::getDAC
int getDAC() const
DAC value.
Definition: LArCaliWave.h:156
LArRTMParamExtractor::m_PosNeg
int m_PosNeg
Definition: LArRTMParamExtractor.h:87
LArWFParams
Definition: LArWFParams.h:20
LArRTMParamExtractor::m_larWFParamTool
ToolHandle< LArWFParamTool > m_larWFParamTool
Definition: LArRTMParamExtractor.h:61
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
HWIdentifier
Definition: HWIdentifier.h:13
CaloGain::LARNGAIN
@ LARNGAIN
Definition: CaloGain.h:19
ILArCaliPulseParams::Tcal
virtual const float & Tcal(const HWIdentifier &id, int gain) const =0
LArCaliPulseParamsP::m_Tcal
float m_Tcal
Definition: LArCaliPulseParamsP.h:22
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
LArCaliWaveContainer
Liquid Argon Cumulative Wave Container.
Definition: LArCaliWaveContainer.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
LArCaliWave::getIsPulsedInt
int getIsPulsedInt() const
isPulsed value
Definition: LArCaliWave.h:163
LArRTMParamExtractor::m_Slot
std::vector< int > m_Slot
Definition: LArRTMParamExtractor.h:89
ILArCaliPulseParams::Fstep
virtual const float & Fstep(const HWIdentifier &id, int gain) const =0
LArRTMParamExtractor::m_cablingKeySC
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeySC
Definition: LArRTMParamExtractor.h:59
LArWFParams::tcal
double tcal() const
Definition: LArWFParams.h:267
LArDetCellParamsP
Definition: LArDetCellParamsP.h:11
LArWFParams::fstep
double fstep() const
Definition: LArWFParams.h:268
LArRTMParamExtractor::m_extractFstep
bool m_extractFstep
Definition: LArRTMParamExtractor.h:71
LArRTMParamExtractor::m_dumpOmegaScan
bool m_dumpOmegaScan
Definition: LArRTMParamExtractor.h:65
python.CaloInfoD3PDObject.PosNeg
PosNeg
Definition: CaloInfoD3PDObject.py:15
LArCaliWave
Definition: LArCaliWave.h:44
LArRTMParamExtractor::m_recoverEmptyDB
bool m_recoverEmptyDB
Definition: LArRTMParamExtractor.h:74
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
LArDetCellParamsComplete::Omega0
virtual const float & Omega0(const HWIdentifier &CellID, int gain) const
Definition: LArDetCellParamsComplete.cxx:25
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
LArConditionsContainer::end
ConstConditionsMapIterator end(unsigned int gain) const
end of all channels for this gain
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArRTMParamExtractor::m_counter
std::atomic< unsigned > m_counter
Definition: LArRTMParamExtractor.h:98
ILArDetCellParams::Omega0
virtual const float & Omega0(const HWIdentifier &id, int gain) const =0
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
LArRTMParamExtractor::m_extractOmega0
bool m_extractOmega0
Definition: LArRTMParamExtractor.h:71
LArConditionsContainer::get
ConstReference get(const HWIdentifier id, unsigned int gain=0) const
get data with online identifier
LArWFParams::setTaur
void setTaur(double taur)
Definition: LArWFParams.h:230
LArOnlineID_Base::pos_neg
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
Definition: LArOnlineID_Base.cxx:1954
LArRTMParamExtractor::m_nThreads
int m_nThreads
Definition: LArRTMParamExtractor.h:97
LArRTMParamExtractor::m_suffixExtractedDetCell
std::string m_suffixExtractedDetCell
Definition: LArRTMParamExtractor.h:79
LArCaliWaveVec
Definition: LArCaliWave.h:91
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LArRTMParamExtractor::m_FT
std::vector< int > m_FT
Definition: LArRTMParamExtractor.h:86
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
LArWFParams::omega0
double omega0() const
Definition: LArWFParams.h:270
LArRTMParamExtractor::m_extractTcal
bool m_extractTcal
Definition: LArRTMParamExtractor.h:71
LArRTMParamExtractor::m_defaultTcal
float m_defaultTcal
Definition: LArRTMParamExtractor.h:72
LArCaliPulseParamsComplete
This class implements the ILArCaliPulseParams interface.
Definition: LArCaliPulseParamsComplete.h:27
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
LArRTMParamExtractor::m_keylist
std::vector< std::string > m_keylist
Definition: LArRTMParamExtractor.h:63
LArOnlineID_Base
Helper for the Liquid Argon Calorimeter cell identifiers.
Definition: LArOnlineID_Base.h:105
LArRTMParamExtractor::m_Cline
int m_Cline
Definition: LArRTMParamExtractor.h:92
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArRTMParamExtractor::m_resOscillKeyAfter
std::string m_resOscillKeyAfter
Definition: LArRTMParamExtractor.h:66
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LArOnlineID
Definition: LArOnlineID.h:20
LArRTMParamExtractor::m_defaultOmega0
float m_defaultOmega0
Definition: LArRTMParamExtractor.h:72
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition: CaloGain.h:18
LArOnline_SuperCellID
Definition: LArOnline_SuperCellID.h:20
LArRTMParamExtractor::m_keyRetrievedDetCell
std::string m_keyRetrievedDetCell
Definition: LArRTMParamExtractor.h:77
LArCaliPulseParamsComplete::set
void set(const HWIdentifier &CellID, int gain, float tcal, float fstep)
Definition: LArCaliPulseParamsComplete.cxx:14
ILArDetCellParams::Taur
virtual const float & Taur(const HWIdentifier &id, int gain) const =0
LArNewCalib_Delay_OFC_Cali.FT
FT
Definition: LArNewCalib_Delay_OFC_Cali.py:120
LArWFParamTool::DefaultNotSet
@ DefaultNotSet
Definition: LArWFParamTool.h:36
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
LArOnlineID_Base::feedthrough
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
Definition: LArOnlineID_Base.cxx:1948
a
TList * a
Definition: liststreamerinfos.cxx:10
h
LArRTMParamExtractor::m_keyExtractedCaliPulse
std::string m_keyExtractedCaliPulse
Definition: LArRTMParamExtractor.h:80
LArWFParams::setOmega0
void setOmega0(double omega0)
Definition: LArWFParams.h:229
LArWFParamTool::DoExtract
@ DoExtract
Definition: LArWFParamTool.h:35
LArConditionsContainer::initialize
virtual StatusCode initialize()
Initialization done after creation or read back - derived classes may augment the functionality.
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LArRTMParamExtractor::m_testmode
bool m_testmode
Definition: LArRTMParamExtractor.h:65
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LArConditionsContainer::begin
ConstConditionsMapIterator begin(unsigned int gain) const
get iterator for all channels for a gain
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
LArRTMParamExtractor::m_keyRetrievedCaliPulse
std::string m_keyRetrievedCaliPulse
Definition: LArRTMParamExtractor.h:77
LArCaliPulseParamsComplete::Tcal
virtual const float & Tcal(const HWIdentifier &CellID, int gain) const
Definition: LArCaliPulseParamsComplete.cxx:50
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
LArRTMParamExtractor::m_suffixRetrievedDetCell
std::string m_suffixRetrievedDetCell
Definition: LArRTMParamExtractor.h:76
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
LArDetCellParamsP::m_Taur
float m_Taur
Definition: LArDetCellParamsP.h:18
PowhegControl_ttFCNC_NLO.params
params
Definition: PowhegControl_ttFCNC_NLO.py:226
LArRTMParamExtractor::m_groupingType
std::string m_groupingType
Definition: LArRTMParamExtractor.h:83
LArRTMParamExtractor::m_dumpResOscill
bool m_dumpResOscill
Definition: LArRTMParamExtractor.h:65
LArRTMParamExtractor::m_suffixRetrievedCaliPulse
std::string m_suffixRetrievedCaliPulse
Definition: LArRTMParamExtractor.h:76
LArOnlineID_Base::channel_name
std::string channel_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.
Definition: LArOnlineID_Base.cxx:218
LArRTMParamExtractor::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArRTMParamExtractor.h:58
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
LArCaliPulseParamsP
Definition: LArCaliPulseParamsP.h:12
LArRTMParamExtractor::m_Calibselection
bool m_Calibselection
Definition: LArRTMParamExtractor.h:91
ILArCaliPulseParams
Definition: ILArCaliPulseParams.h:14
fitman.k
k
Definition: fitman.py:528
LArDetCellParamsComplete
This class implements the ILArDetCellParams interface.
Definition: LArDetCellParamsComplete.h:24
DiTauMassTools::TauTypes::ll
@ ll
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:49
ServiceHandle< ICondSvc >
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37