Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
LArShapeDumper Class Reference

#include <LArShapeDumper.h>

Inheritance diagram for LArShapeDumper:
Collaboration diagram for LArShapeDumper:

Public Member Functions

 LArShapeDumper (const std::string &name, ISvcLocator *pSvcLocator)
 
 ~LArShapeDumper ()
 
virtual StatusCode initialize () override
 
virtual StatusCode start () override
 
virtual StatusCode execute () override
 
virtual StatusCode stop () override
 
virtual StatusCode finalize () override
 
int makeEvent (LArSamples::EventData *&eventData, int run, int event, int lumiBlock, int bunchXing) 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 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

std::string m_fileName
 
int m_prescale
 
unsigned m_count
 
unsigned m_maxChannels
 
unsigned m_nWrongBunchGroup
 
unsigned m_nPrescaledAway
 
unsigned m_nLArError
 
unsigned m_nNoDigits
 
unsigned m_nNoDigitsSC
 
std::string m_caloType
 
double m_energyCut
 
double m_noiseSignifCut
 
double m_energyCutSC
 
int m_minADCMax
 
int m_minADCMaxSC
 
std::string m_gainSpec
 
bool m_dumpDisc
 
std::vector< std::string > m_triggerNames
 
ToolHandle< ILArShapeDumperToolm_dumperTool {this,"LArShapeDumperTool","LArShapeDumperTool"}
 
ToolHandle< ILArShapeDumperToolm_dumperToolSC {this,"LArShapeDumperToolSC","LArShapeDumperToolSC"}
 
LArBadChannelMask m_bcMask
 
Gaudi::Property< std::vector< std::string > > m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to patch"}
 
LArBadChannelMask m_bcMaskSC
 
Gaudi::Property< std::vector< std::string > > m_problemsToMaskSC {this,"ProblemsToMaskSC",{}, "Bad-Channel categories to mask"}
 
SG::ReadHandleKey< LArDigitContainerm_digitsKey {this, "DigitsKey", "FREE", "key for LArDigitContainer"}
 
SG::ReadHandleKey< LArRawChannelContainerm_channelsKey {this, "ChannelsKey", "LArRawChannels", "key for LArRawChannels"}
 
SG::ReadHandleKey< LArDigitContainerm_digitsKeySC {this, "DigitsKeySC", "SC_ADC_BAS", "key for LArDigitContainer for SC"}
 
SG::ReadHandleKey< LArRawSCContainerm_rawscKey {this, "RawSCKey", "SC_ET_ID", "key for LArRawSCContainer"}
 
SG::ReadCondHandleKey< LArADC2MeVm_adc2mevKey {this,"ADC2MeVKey","LArADC2MeV","SG Key of ADC2MeV conditions object"}
 
PublicToolHandle< Trig::TrigDecisionToolm_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
 
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
 
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKeySC {this,"CablingKeySC","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object for SC"}
 
SG::ReadCondHandleKey< LArBadChannelContm_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
 
SG::ReadCondHandleKey< LArBadChannelContm_BCKeySC {this, "BadChanKeySC", "LArBadChannelSC", "SG bad channels key"}
 
SG::ReadCondHandleKey< CaloNoisem_noiseCDOKey {this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"}
 
SG::ReadCondHandleKey< BunchCrossingCondDatam_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"}
 
SG::ReadCondHandleKey< ILArPedestalm_pedestalKey {this,"PedestalKey","LArPedestal","SG Key of LArPedestal object"}
 
SG::ReadCondHandleKey< ILArPedestalm_pedestalKeySC {this,"PedestalKeySC","LArPedestalSC","SG Key of LArPedestal object"}
 
SG::ReadCondHandleKey< ILArAutoCorrm_acorrKey {this,"AutocorrKey","LArAutoCorr","SG Key of LArAutoCorr object"}
 
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
 
SG::ReadCondHandleKey< CaloSuperCellDetDescrManagerm_caloSuperCellMgrKey
 
const LArOnlineIDm_onlineHelper
 
const LArOnline_SuperCellIDm_onlineHelperSC
 
bool m_doStream
 
bool m_doTrigger
 
bool m_doOFCIter
 
bool m_doAllEvents
 
bool m_doRoIs
 
bool m_doAllLvl1
 
bool m_dumpChannelInfos
 
bool m_doEM
 
bool m_doHEC
 
bool m_doFCAL
 
bool m_doSC
 
bool m_gains [CaloGain::LARNGAIN] {}
 
bool m_onlyEmptyBC
 
LArSamples::DataStorem_samples
 
std::unique_ptr< LArSamples::RunDatam_runData
 
std::vector< const Trig::ChainGroup * > m_triggerGroups
 
TRandom m_random
 
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

Author
Nicol.nosp@m.as.B.nosp@m.erger.nosp@m.@cer.nosp@m.n.ch

Definition at line 66 of file LArShapeDumper.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

◆ LArShapeDumper()

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

Definition at line 42 of file LArShapeDumper.cxx.

42  :
43  AthAlgorithm(name, pSvcLocator),
44  m_count(0),
47  m_nLArError(0),
48  m_nNoDigits(0),
49  m_nNoDigitsSC(0),
50  m_onlineHelper(nullptr),
51  m_onlineHelperSC(nullptr),
52  m_doEM(false),
53  m_doHEC(false),
54  m_doFCAL(false),
55  m_doSC(false),
56  m_samples(nullptr)
57 {
58  declareProperty("FileName", m_fileName = "samples.root");
59  declareProperty("MaxChannels", m_maxChannels = 200000);
60  declareProperty("Prescale", m_prescale = 1);
61  declareProperty("CaloType", m_caloType = "EMHECFCALSC");
62  declareProperty("EnergyCut", m_energyCut = -1);
63  declareProperty("EnergyCutSC", m_energyCutSC = -1);
64  declareProperty("NoiseSignifCut", m_noiseSignifCut = 3);
65  declareProperty("MinADCMax", m_minADCMax = -1);
66  declareProperty("MinADCMaxSC", m_minADCMaxSC = -1);
67  declareProperty("Gains", m_gainSpec = "HIGH,MEDIUM,LOW");
68  declareProperty("DumpDisconnected", m_dumpDisc = false);
69  declareProperty("DoStream", m_doStream = false);
70  declareProperty("DoTrigger", m_doTrigger = true);
71  declareProperty("DoOFCIter", m_doOFCIter = true);
72  declareProperty("DoAllEvents", m_doAllEvents = true);
73  declareProperty("DumpChannelInfos", m_dumpChannelInfos = false);
74  declareProperty("DoRoIs", m_doRoIs = true);
75  declareProperty("TriggerNames", m_triggerNames);
76  declareProperty("DoAllLvl1", m_doAllLvl1 = true);
77  declareProperty("onlyEmptyBC",m_onlyEmptyBC=false);
78 }

◆ ~LArShapeDumper()

LArShapeDumper::~LArShapeDumper ( )

Definition at line 81 of file LArShapeDumper.cxx.

82 {
83 }

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 LArShapeDumper::execute ( )
overridevirtual

Definition at line 215 of file LArShapeDumper.cxx.

216 {
217  m_count++;
218  const EventContext& ctx = Gaudi::Hive::currentContext();
219  if ((m_prescale > 1 && m_random.Rndm() > 1.0/m_prescale) || m_prescale <= 0) {
220  ATH_MSG_VERBOSE ( "======== prescaling event "<< m_count << " ========" );
222  return StatusCode::SUCCESS;
223  }
224 
225  ATH_MSG_VERBOSE ( "======== executing event "<< m_count << " ========" );
226 
227  const xAOD::EventInfo* eventInfo = nullptr;
228  ATH_CHECK( evtStore()->retrieve(eventInfo) );
229 
230  int event = eventInfo->eventNumber();
231  int run = eventInfo->runNumber();
232  int lumiBlock = eventInfo->lumiBlock();
233  int bunchId = eventInfo->bcid();
234 
235 
237  ATH_MSG_DEBUG("Ignoring Event b/c of LAr ERROR");
238  m_nLArError++;
239  return StatusCode::SUCCESS;
240  }
241 
242 
244  const BunchCrossingCondData* bunchCrossing=*bccd;
245  if (!bunchCrossing) {
246  ATH_MSG_ERROR("Failed to retrieve Bunch Crossing obj");
247  return StatusCode::FAILURE;
248  }
249 
251  ATH_CHECK(caloMgrHandle.isValid());
252  const CaloDetDescrManager* caloMgr = *caloMgrHandle;
253 
254  if (m_onlyEmptyBC) {
255  if (!bccd->isFilled(bunchId)) {
256  ATH_MSG_DEBUG("Ignoring Event with bunch crossing type ");
258  return StatusCode::SUCCESS;
259  }
260  }
261 
262 
263  EventData* eventData = nullptr;
264  int eventIndex = -1;
265  if (m_doAllEvents) {
266  eventIndex = makeEvent(eventData, run, event, lumiBlock, bunchId);
267  if (eventIndex < 0) return StatusCode::FAILURE;
268  }
269 
271  if(!hdlDigit.isValid()) {
272  ATH_MSG_WARNING( "Unable to retrieve LArDigitContainer with key " << m_digitsKey << " from DetectorStore. " );
273  return StatusCode::SUCCESS;
274  } else
275  ATH_MSG_DEBUG( "Got LArDigitContainer with key " << m_digitsKey.key() );
276  const LArDigitContainer* larDigitContainer = &(*hdlDigit);
277 
278  if (larDigitContainer->empty()) {
279  ATH_MSG_WARNING ( "LArDigitContainer with key=" << m_digitsKey.key() << " is empty!" );
280  m_nNoDigits++;
281  return StatusCode::SUCCESS;
282  }
283 
285  if(!hdlRaw.isValid()) {
286  ATH_MSG_WARNING( "Unable to retrieve LArRawChannelsContainer with key " << m_channelsKey.key() << " from DetectorStore. " );
287  return StatusCode::SUCCESS;
288  } else
289  ATH_MSG_DEBUG( "Got LArRawChannelsContainer with key " << m_channelsKey.key() );
290  const LArRawChannelContainer* rawChannelContainer = &(*hdlRaw);;
291 
292  if (rawChannelContainer->empty()) {
293  ATH_MSG_WARNING ( "LArRawChannelContainer with key=" << m_channelsKey << " is empty!" );
294  m_nNoDigits++;
295  return StatusCode::SUCCESS;
296  }
297 
298 
299 
301  const LArOnOffIdMapping* cabling=*cablingHdl;
302  if(!cabling) {
303  ATH_MSG_ERROR( "Do not have cabling object LArOnOffIdMapping" );
304  return StatusCode::FAILURE;
305  }
306 
308  const LArADC2MeV* adc2MeV=*adc2mevHdl;
309  if(!adc2MeV) {
310  ATH_MSG_ERROR( "Failed to retreive ADC2MeV cond obj" );
311  return StatusCode::FAILURE;
312  }
313 
315  const ILArPedestal* pedestals=*pedHdl;
316  if (!pedestals) {
317  ATH_MSG_ERROR("Failed to retrieve pedestal cond obj");
318  return StatusCode::FAILURE;
319  }
320 
321  const ILArAutoCorr* aCorr=nullptr;
322  if(m_dumperTool->doShape()) {
324  aCorr=*acorrHdl;
325  if (!aCorr) {
326  ATH_MSG_ERROR("Failed to retrieve AutoCorr cond obj");
327  return StatusCode::FAILURE;
328  }
329  }
330 
332  const LArBadChannelCont *bcCont {*readHandle};
333  if(!bcCont) {
334  ATH_MSG_ERROR( "Do not have Bad chan container " << m_BCKey.key() );
335  return StatusCode::FAILURE;
336  }
337 
338  const LArOFIterResultsContainer* ofIterResult = nullptr;
339  if (m_doOFCIter) {
340  if (evtStore()->contains<LArOFIterResultsContainer> ("LArOFIterResult")) {
341  ATH_CHECK( evtStore()->retrieve(ofIterResult, "LArOFIterResult") );
342  } else {
343  ATH_MSG_WARNING("Do not have LArOFIterResult in this event");
344  }
345  }
346 
347  const LArFebErrorSummary* larFebErrorSummary = nullptr;
348  ATH_CHECK( evtStore()->retrieve(larFebErrorSummary, "LArFebErrorSummary") );
349  const std::map<unsigned int,uint16_t>& febErrorMap = larFebErrorSummary->get_all_febs();
350  std::map<unsigned int, const LArRawChannel*> channelsToKeep;
351 
352  for (LArRawChannelContainer::const_iterator channel = rawChannelContainer->begin();
353  channel != rawChannelContainer->end(); ++channel)
354  {
355  if (m_energyCut > 0 && TMath::Abs(channel->energy()) < m_energyCut) continue;
356  if (m_bcMask.cellShouldBeMasked(bcCont,channel->channelID())) continue;
357 
358  IdentifierHash hash = m_onlineHelper->channel_Hash(channel->channelID());
359 
360  if (!hash.is_valid()) {
361  ATH_MSG_FATAL ( "Found a LArRawChannel whose HWIdentifier (" << channel->channelID()
362  << ") does not correspond to a valid hash -- returning StatusCode::FAILURE." );
363  return StatusCode::FAILURE;
364  }
365  channelsToKeep[hash] = &*channel;
366  if (m_dumpChannelInfos) {
368  CellInfo* info = nullptr;
369  if (!histCont) {
370  HWIdentifier channelID = channel->hardwareID();
371  const Identifier id = cabling->cnvToIdentifier(channelID);
372  const CaloDetDescrElement* caloDetElement = caloMgr->get_element(id);
373  info = m_dumperTool->makeCellInfo(channelID, id, caloDetElement);
374  if (!info) continue;
376  }
377  }
378  }
379 
380  std::map<HWIdentifier, LArOFIterResultsContainer::const_iterator> ofcResultPosition;
381  if (m_doOFCIter && ofIterResult) {
382  for (LArOFIterResultsContainer::const_iterator ofResult = ofIterResult->begin();
383  ofResult != ofIterResult->end(); ++ofResult)
384  ofcResultPosition[ofResult->getChannelID()] = ofResult;
385 
386  ATH_MSG_DEBUG ( "njpbSizes : " << larDigitContainer->size()
387  << " " << (ofIterResult ? ofIterResult->size() : 0) << " "
388  << rawChannelContainer->size() << " " << channelsToKeep.size() );
389  }
391  const CaloNoise* noiseCDO=*noiseHdl;
392 
393  for (LArDigitContainer::const_iterator digit = larDigitContainer->begin();
394  digit != larDigitContainer->end(); ++digit)
395  {
396  //Check Energy selection
397  IdentifierHash hash = m_onlineHelper->channel_Hash((*digit)->channelID());
398 
399  std::map<unsigned int, const LArRawChannel*>::const_iterator findChannel = channelsToKeep.find(hash);
400  if (findChannel == channelsToKeep.end()) continue;
401  const LArRawChannel* rawChannel = findChannel->second;
402 
403  //Check detector part
404  HWIdentifier channelID = (*digit)->hardwareID();
405  if ((m_onlineHelper->isEMBchannel(channelID) || m_onlineHelper->isEMECchannel(channelID)) && !m_doEM) continue;
406  if (m_onlineHelper->isHECchannel(channelID) && !m_doHEC) continue;
407  if (m_onlineHelper->isFCALchannel(channelID) && !m_doFCAL) continue;
408 
409  //Check gain
410  CaloGain::CaloGain gain=(*digit)->gain();
411  if (gain >= CaloGain::LARNGAIN || m_gains[gain] == false) continue;
412 
413  //Check if connected
414  const bool connected = cabling->isOnlineConnected(channelID);
415  if (!connected && !m_dumpDisc) continue;
416 
417  // Check ADCMax selection
418  float pedestal = pedestals->pedestal(channelID, gain);
419  float pedestalRMS = pedestals->pedestalRMS(channelID, gain);
420  if (m_minADCMax > 0 || m_noiseSignifCut > 0) {
421  const std::vector<short>& samples = (*digit)->samples();
422  double maxValue = -1;
423  for (short sample : samples)
424  if (sample - pedestal > maxValue) maxValue = sample - pedestal;
425  if (m_minADCMax > 0 && fabs(maxValue) < m_minADCMax) continue;
426  if (m_noiseSignifCut > 0 && fabs(maxValue) < pedestalRMS*m_noiseSignifCut) continue;
427  }
428 
429  const Identifier id = cabling->cnvToIdentifier(channelID);
430  const CaloDetDescrElement* caloDetElement = nullptr;
431 
433  CellInfo* info = nullptr;
434  if (!histCont) {
435  if (!caloDetElement) caloDetElement = caloMgr->get_element(id);
436  info = m_dumperTool->makeCellInfo(channelID, id, caloDetElement);
437  if (!info) continue;
438  histCont = m_samples->makeNewHistory(hash, info);
439  }
440  else
441  info = histCont->cell_info();
442 
443  float noise = -1;
444  unsigned int status = 0xFFFFFFFF;
445  if (connected) {
446  if (!caloDetElement) caloDetElement = caloMgr->get_element(id);
447  noise = noiseCDO->getNoise(id,gain);
448  status = bcCont->status(channelID).packedData();
449  HWIdentifier febId = m_onlineHelper->feb_Id(m_onlineHelper->feedthrough_Id(channelID), m_onlineHelper->slot(channelID));
450  std::map<unsigned int,uint16_t>::const_iterator findError = febErrorMap.find(febId.get_identifier32().get_compact());
451  if (findError != febErrorMap.end()) {
452  unsigned int febErrWord = findError->second;
453  status = status & (febErrWord >> 17);
454  }
455  }
456 
457  //std::vector<float> autoCorr;
459  if (m_dumperTool->doShape()) {
460  const LArAutoCorrComplete* autoCorrObj = dynamic_cast<const LArAutoCorrComplete*>(aCorr);
461  if (!autoCorrObj)
462  ATH_MSG_WARNING ( "AutoCorr object is not of type LArAutoCorrComplete!" );
463  else
464  autoCorr = autoCorrObj->autoCorr(channelID, gain);
465  }
466 
467  if (!info->shape((*digit)->gain())) // this happens if doAllShapes is off
468  info->setShape((*digit)->gain(), m_dumperTool->retrieveShape(channelID, gain));
469 
470  if (!eventData) {
471  eventIndex = makeEvent(eventData, run, event, lumiBlock, bunchId); // this happens if doAllEvents is off
472  if (eventIndex < 0) return StatusCode::FAILURE;
473  }
474 
475  DataContainer* data =
476  new DataContainer((*digit)->gain(), (*digit)->samples(),
477  rawChannel->energy(),
478  rawChannel->time()/double(1000),
479  rawChannel->quality(),
480  eventIndex,
481  autoCorr,
482  noise, pedestal, pedestalRMS, status);
483 
484  // std::map<HWIdentifier, LArOFIterResultsContainer::const_iterator>::const_iterator findResult = ofcResultPosition.find(channelID);
485 // if (findResult != ofcResultPosition.end()) {
486 // LArOFIterResultsContainer::const_iterator ofResult = findResult->second;
487 // if (ofResult->getValid() && ofResult->getConverged())
488 // data->setADCMax(ofResult->getAmplitude());
489 // }
490 // else
491 // msg() << MSG::INFO << "OFResult for channel 0x" << MSG::hex << channelID << MSG::dec
492 // << " not found. (size was " << ofcResultPosition.size() << ")" << endmsg;
493 
494 
495  const auto ramp=adc2MeV->ADC2MEV(channelID,gain); //dudu
496  data->setADCMax(rawChannel->energy()/ramp[1]); //pow(ADCPeak,i); //dudu
497 
498 
499  histCont->add(data);
500  }
501 
502  if(m_doSC) {
503  std::map<unsigned int, const LArRawSC*> scToKeep;
504 
506  if(!hdlSC.isValid()) {
507  ATH_MSG_WARNING( "Unable to retrieve LArRawSCContainer with key " << m_rawscKey << " from EventStore. " );
508  return StatusCode::SUCCESS;
509  } else
510  ATH_MSG_DEBUG( "Got LArRawSCContainer with key " << m_rawscKey.key() );
511  const LArRawSCContainer* etcontainer = &(*hdlSC);
512 
513  if (etcontainer->empty()) {
514  ATH_MSG_WARNING ( "LArRawSCContainer with key=" << m_rawscKey.key() << " is empty!" );
515  return StatusCode::SUCCESS;
516  }
517 
519  const LArOnOffIdMapping* cablingSC=*cablingHdl;
520  if(!cablingSC) {
521  ATH_MSG_ERROR( "Do not have cabling object LArOnOffIdMapping" );
522  return StatusCode::FAILURE;
523  }
524 
526  ATH_CHECK(caloMgrHandle.isValid());
527  const CaloSuperCellDetDescrManager* caloMgrSC = *caloMgrHandle;
528 
530  const ILArPedestal* pedestalsSC=*pedHdl;
531  if (!pedestals) {
532  ATH_MSG_ERROR("Failed to retrieve pedestal cond obj for SC");
533  return StatusCode::FAILURE;
534  }
535 
536  std::map<unsigned int, std::pair<float,float> > channelsToKeepSC;
537 
538  for (const LArRawSC* rawSC : *hdlSC) {
539 
540  const std::vector<unsigned short>& bcids = rawSC->bcids();
541  const std::vector<int>& energies = rawSC->energies();
542  const std::vector<int>& tauenergies = rawSC->tauEnergies();
543  const std::vector<bool>& satur = rawSC->satur();
544 
545  // Look for bcid:
546  float scEne = 0;
547  float scTim = -99999999.;
548 
549  const size_t nBCIDs = bcids.size();
550  size_t i = 0;
551  for (i = 0; i < nBCIDs && bcids[i] != bunchId; i++)
552  ;
553  if(i==nBCIDs) continue;
554  if (satur[i]) continue;
555 
556  scEne = energies[i];
557  if (m_energyCutSC > 0 && TMath::Abs(scEne) < m_energyCut) continue;
558  if (m_bcMaskSC.cellShouldBeMasked(bcCont,rawSC->hardwareID())) continue;
559 
560  IdentifierHash hash = m_onlineHelperSC->channel_Hash(rawSC->hardwareID());
561 
562  if (!hash.is_valid()) {
563  ATH_MSG_FATAL ( "Found a LArRawSC whose HWIdentifier (" << rawSC->hardwareID()
564  << ") does not correspond to a valid hash -- returning StatusCode::FAILURE." );
565  return StatusCode::FAILURE;
566  }
567 
568  if(tauenergies.size() && scEne != 0) scTim = tauenergies[i] / scEne;
569  channelsToKeepSC[hash] = std::make_pair(scEne, scTim);
570 
571  if (m_dumpChannelInfos) {
573  CellInfo* info = nullptr;
574  if (!histCont) {
575  HWIdentifier channelID = rawSC->hardwareID();
576  const Identifier id = cablingSC->cnvToIdentifier(channelID);
577  const CaloDetDescrElement* caloDetElement = caloMgrSC->get_element(id);
578  info = m_dumperToolSC->makeCellInfo(channelID, id, caloDetElement);
579  if (!info) continue;
581  }
582  }
583  }
584 
585 
587  if(!hdlSCDigit.isValid()) {
588  ATH_MSG_WARNING( "Unable to retrieve LArDigitContainer with key " << m_digitsKeySC << " from DetectorStore. " );
589  return StatusCode::SUCCESS;
590  } else
591  ATH_MSG_DEBUG( "Got LArDigitContainer with key " << m_digitsKeySC.key() );
592  const LArDigitContainer* larSCDigitContainer = &(*hdlSCDigit);
593 
594  if (larSCDigitContainer->empty()) {
595  ATH_MSG_WARNING ( "LArDigitContainer with key=" << m_digitsKeySC.key() << " is empty!" );
596  m_nNoDigitsSC++;
597  return StatusCode::SUCCESS;
598  }
599 
600  for (LArDigitContainer::const_iterator digit = larSCDigitContainer->begin();
601  digit != larSCDigitContainer->end(); ++digit)
602  {
603  //Check Energy selection
604  IdentifierHash hash = m_onlineHelperSC->channel_Hash((*digit)->channelID());
605 
606  std::map<unsigned int, std::pair<float,float> >::const_iterator findChannel = channelsToKeepSC.find(hash);
607  if (findChannel == channelsToKeepSC.end()) continue;
608 
609  // Check ADCMax selection
610  float pedestal = pedestalsSC->pedestal((*digit)->channelID(), 0);
611  if (m_minADCMaxSC > 0 ) {
612  const std::vector<short>& samples = (*digit)->samples();
613  double maxValue = -1;
614  for (short sample : samples)
615  if (sample - pedestal > maxValue) maxValue = sample - pedestal;
616  if (fabs(maxValue) < m_minADCMax) continue;
617  }
618 
619  const Identifier id = cablingSC->cnvToIdentifier((*digit)->channelID());
620  const CaloDetDescrElement* caloDetElement = nullptr;
621 
623  CellInfo* info = nullptr;
624  if (!histCont) {
625  if (!caloDetElement) caloDetElement = caloMgrSC->get_element(id);
626  info = m_dumperToolSC->makeCellInfo((*digit)->channelID(), id, caloDetElement);
627  if (!info) continue;
628  histCont = m_samples->makeNewHistorySC(hash, info);
629  }
630  else
631  info = histCont->cell_info();
632 
633  if (!eventData) {
634  eventIndex = makeEvent(eventData, run, event, lumiBlock, bunchId); // this happens if doAllEvents is off
635  if (eventIndex < 0) return StatusCode::FAILURE;
636  }
637 
638  DataContainer* data =
639  new DataContainer((*digit)->gain(), (*digit)->samples(),
640  findChannel->second.first,
641  findChannel->second.second/double(1000),
642  -1,
643  eventIndex,
644  LArVectorProxy(),
645  -1, pedestal);
646 
647 
648  histCont->add(data);
649  }
650 
651  } //m_doSC
652 
653  return StatusCode::SUCCESS;
654 }

◆ 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 LArShapeDumper::finalize ( )
overridevirtual

Definition at line 664 of file LArShapeDumper.cxx.

665 {
666  ATH_MSG_DEBUG ("in finalize() ");
667 
668  if (m_prescale>1) ATH_MSG_INFO("Prescale dropped " << m_nPrescaledAway << "/" << m_count << " events");
669  if (m_onlyEmptyBC) ATH_MSG_INFO("Dropped " << m_nWrongBunchGroup << "/" << m_count << " events b/c of wrong bunch group");
670  ATH_MSG_INFO("Dropped " << m_nLArError << "/" << m_count << " Events b/c of LAr Veto (Noise burst or corruption)");
671 
672 
673  int n = 0;
674  for (unsigned int i = 0; i < m_samples->nChannels(); i++)
675  if (m_samples->historyContainer(i)) {
676  if (m_samples->historyContainer(i)->cellInfo() == nullptr)
677  ATH_MSG_INFO ( "Cell with no cellInfo at index " << i << " !!" );
678  //else if (m_samples->historyContainer(i)->cellInfo()->shape() == 0)
679  //msg() << MSG::INFO << "Cell with no ShapeInfo at index " << i << " !!" << endmsg;
680  //msg() << MSG::INFO << "Non-zero cell at index " << i << " " << m_samples->shape(i)->size() << endmsg;
681  n++;
682  }
683 
684  //for (unsigned int i = 0; i < m_samples->nEvents(); i++) {
685  // msg() << MSG::INFO << "Event " << i << " = "
686  // << m_samples->eventData(i)->run() << " " << m_samples->eventData(i)->event()
687  // << "trigger = " << m_samples->eventData(i)->triggers() << ", nRoIs = " << m_samples->eventData(i)->nRoIs() << endmsg;
688  // }
689  ATH_MSG_INFO ( "Non-zero cells = " << n << ", footprint = " << m_samples->footprint() );
690  ATH_MSG_INFO ( "Writing..." );
691 
692  if (!m_doStream) {
693  m_samples->writeTrees(m_fileName.c_str());
694 /* TFile* f = TFile::Open(m_fileName.c_str(), "RECREATE");
695  msg() << MSG::INFO << "Writing (2)..." << endmsg;
696  f->WriteObjectAny(m_samples, "Container", "LArSamples");
697  msg() << MSG::INFO << "Closing..." << endmsg;
698  f->Close();
699  msg() << MSG::INFO << "Deleting..." << endmsg;
700  delete m_samples;*/
701  msg() << MSG::INFO << "Done!" << endmsg;
702  }
703 
704  return StatusCode::SUCCESS;
705 }

◆ initialize()

StatusCode LArShapeDumper::initialize ( )
overridevirtual

Get bad-channel mask (only if jO IgnoreBadChannels is true)

Definition at line 86 of file LArShapeDumper.cxx.

87 {
88  ATH_MSG_DEBUG ("in initialize()");
89 
90  m_samples = new DataStore();
91 
92  std::transform(m_caloType.begin(), m_caloType.end(), m_caloType.begin(), toupper);
93  m_doEM = (m_caloType.find("EM") != std::string::npos);
94  m_doHEC = (m_caloType.find("HEC") != std::string::npos);
95  m_doFCAL = (m_caloType.find("FCAL") != std::string::npos);
96  m_doSC = (m_caloType.find("SC") != std::string::npos);
97 
99  ATH_CHECK( m_BCKey.initialize() );
100  ATH_CHECK( m_BCKeySC.initialize(m_doSC) );
105 
108 
113 
114  ATH_CHECK( detStore()->retrieve(m_onlineHelper, "LArOnlineID") );
117  if(m_doSC) ATH_CHECK( detStore()->retrieve(m_onlineHelperSC, "LArOnline_SuperCellID") );
118 
122 
123 
124  if (m_doTrigger) {
125  CHECK( m_trigDec.retrieve() );
126  }
127 
128  ATH_CHECK( m_dumperTool.retrieve() );
129 
131 
132  std::transform(m_gainSpec.begin(), m_gainSpec.end(), m_gainSpec.begin(), toupper);
133  m_gains[CaloGain::LARHIGHGAIN] = (m_gainSpec.find("HIGH") != std::string::npos);
134  m_gains[CaloGain::LARMEDIUMGAIN] = (m_gainSpec.find("MEDIUM") != std::string::npos);
135  m_gains[CaloGain::LARLOWGAIN] = (m_gainSpec.find("LOW") != std::string::npos);
136 
137  //if (m_onlyEmptyBC)
138  //ATH_CHECK(m_bcidTool.retrieve());
139 
140  return StatusCode::SUCCESS;
141 }

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

◆ makeEvent()

int LArShapeDumper::makeEvent ( LArSamples::EventData *&  eventData,
int  run,
int  event,
int  lumiBlock,
int  bunchXing 
) const

Definition at line 708 of file LArShapeDumper.cxx.

711 {
712  std::vector<unsigned int> triggerWords;
713  if (m_doTrigger) {
714  const ROIB::RoIBResult* l1Result = nullptr;
715  if (evtStore()->retrieve(l1Result).isFailure() || !l1Result) {
716  ATH_MSG_FATAL ( "Could not retrieve RoIBResult!" );
717  return -1;
718  }
719  const std::vector<ROIB::CTPRoI> tav = l1Result->cTPResult().TAV();
720  for (const ROIB::CTPRoI& word : tav)
721  triggerWords.push_back(word.roIWord());
722 
723  for (const std::pair<const TString, unsigned int>& p : m_runData->triggerConfig()) {
724  while (triggerWords.size() <= p.second/32) triggerWords.push_back(0);
725  if (m_trigDec->isPassed(p.first.Data())) {
726  triggerWords[p.second/32] |= (0x1 << (p.second % 32));
727  //msg() << MSG::INFO << "Trigger line " << p.first.Data() << " passed" << endmsg;
728  }
729  }
730  //msg() << MSG::INFO << "Trigger words : ";
731  //for (unsigned int i = 0; i < triggerWords.size(); i++) msg() << MSG::INFO << triggerWords[i] << " ";
732  //msg() << MSG::INFO << endmsg;
733  }
734 
735  eventData = new EventData(event, 0, lumiBlock, bunchXing);
736  if (m_runData->run() == 0) m_runData->setRun(run);
737  eventData->setRunData(m_runData.get());
738  eventData->setTriggerData(triggerWords);
739  if (m_doRoIs) {
740  //msg() << MSG::INFO << "Filling RoI list" << endmsg;
741  for (const Trig::ChainGroup* group : m_triggerGroups) {
742  std::vector<Trig::Feature<TrigRoiDescriptor> > roIs = group->features().get<TrigRoiDescriptor>();
743  for (const Trig::Feature<TrigRoiDescriptor>& roI : roIs) {
744  //msg() << MSG::INFO << "Found an roi for chain ";
745  //for (unsigned int i = 0; i < group->getListOfTriggers().size(); i++) cout << group->getListOfTriggers()[i] << " ";
746  //cout << "@ " << roI.cptr()->eta() << ", " << roI.cptr()->phi() << ", TE = "
747  // << roI.te()->getId() << " " << Trig::getTEName(*roI.te()) << " with label " << roI.label() << endmsg;
748  eventData->addRoI(roI.cptr()->eta(), roI.cptr()->phi(), group->getListOfTriggers()[0].c_str(), roI.label().c_str());
749  //msg() << MSG::INFO << "nRoIs so far = " << eventData->nRoIs() << endmsg;
750  }
751  }
752  }
753  return m_samples->addEvent(eventData);
754 }

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

◆ start()

StatusCode LArShapeDumper::start ( )
overridevirtual

Definition at line 144 of file LArShapeDumper.cxx.

145 {
146  m_runData = std::make_unique<RunData>(0);
147 
148  if (m_doTrigger) {
149  std::vector<std::regex> regexs;
150  regexs.reserve(m_triggerNames.size());
151 for (const std::string& name : m_triggerNames) {
152  regexs.push_back(std::regex(name));
153  }
154 
155  std::vector<std::string> chains = m_trigDec->getListOfTriggers();
156  std::vector<std::string> myChains;
157  std::cmatch match;
158 
159  for (const std::string& chain : chains) {
160  ATH_MSG_INFO ( "Configured chain : " << chain );
161  for (const std::regex& regex : regexs) {
162  if (std::regex_match(chain.c_str(), match, regex)) myChains.push_back(chain);
163  }
164  }
165  for (const std::string& group : m_trigDec->getListOfGroups())
166  ATH_MSG_INFO ( "Configured group : " << group );
167  const Trig::ChainGroup* calibStreamGroup = m_trigDec->getChainGroup("Calibration");
168  if (calibStreamGroup) {
169  std::vector<std::string> chains = calibStreamGroup->getListOfTriggers();
170  ATH_MSG_INFO ( "Chains for Calibration group:" );
171  for (const std::string& chain : chains)
172  ATH_MSG_INFO ( "Calib chain : " << chain );
173  }
174 
175  unsigned int idx = 0;
176 
177  if (m_doAllLvl1) {
178  const Trig::ChainGroup* group = m_trigDec->getChainGroup("L1_.*");
179  for (const std::string& l1Item : group->getListOfTriggers()) {
180  const TrigConf::TriggerItem* confItem = m_trigDec->ExperimentalAndExpertMethods().getItemConfigurationDetails(l1Item);
181  if (!confItem) {
182  ATH_MSG_WARNING ( "LVL1 item " << l1Item << ", obtained from TrigConfig, cannot be retrieved!" );
183  continue;
184  }
185  int pos = confItem->ctpId();
186  if (pos < 0 || pos >= 256) {
187  ATH_MSG_WARNING ( "LVL1 item " << l1Item << "has out-of-range ctpId " << pos );
188  continue;
189  }
190  m_runData->addBit(l1Item.c_str(), pos);
191  ATH_MSG_INFO ( "Adding LVL1 trigger bit for " << l1Item << " at position " << pos );
192  }
193  idx = 256;
194  }
195 
196  for (const std::string& name : myChains) {
197  if (m_trigDec->getListOfTriggers(name).empty()) {
198  ATH_MSG_WARNING ( "Requested trigger name " << name << " is not configured in this run" );
199  continue;
200  }
201  const Trig::ChainGroup* group = m_trigDec->getChainGroup(name);
202  if (!group) {
203  ATH_MSG_WARNING ( "Could not retrieve chain group for trigger " << name );
204  continue;
205  }
206  m_runData->addBit(name.c_str(), idx++);
207  m_triggerGroups.push_back(group);
208  ATH_MSG_INFO ( "Adding trigger bit for " << name << " at position " << idx-1 );
209  }
210  }
211  return StatusCode::SUCCESS;
212 }

◆ stop()

StatusCode LArShapeDumper::stop ( )
overridevirtual

Definition at line 657 of file LArShapeDumper.cxx.

658 {
659  m_samples->addRun(m_runData.release());
660  return StatusCode::SUCCESS;
661 }

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

SG::ReadCondHandleKey<ILArAutoCorr> LArShapeDumper::m_acorrKey {this,"AutocorrKey","LArAutoCorr","SG Key of LArAutoCorr object"}
private

Definition at line 137 of file LArShapeDumper.h.

◆ m_adc2mevKey

SG::ReadCondHandleKey<LArADC2MeV> LArShapeDumper::m_adc2mevKey {this,"ADC2MeVKey","LArADC2MeV","SG Key of ADC2MeV conditions object"}
private

Definition at line 119 of file LArShapeDumper.h.

◆ m_bcDataKey

SG::ReadCondHandleKey<BunchCrossingCondData> LArShapeDumper::m_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"}
private

Definition at line 131 of file LArShapeDumper.h.

◆ m_BCKey

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

Definition at line 126 of file LArShapeDumper.h.

◆ m_BCKeySC

SG::ReadCondHandleKey<LArBadChannelCont> LArShapeDumper::m_BCKeySC {this, "BadChanKeySC", "LArBadChannelSC", "SG bad channels key"}
private

Definition at line 127 of file LArShapeDumper.h.

◆ m_bcMask

LArBadChannelMask LArShapeDumper::m_bcMask
private

Definition at line 107 of file LArShapeDumper.h.

◆ m_bcMaskSC

LArBadChannelMask LArShapeDumper::m_bcMaskSC
private

Definition at line 109 of file LArShapeDumper.h.

◆ m_cablingKey

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

Definition at line 123 of file LArShapeDumper.h.

◆ m_cablingKeySC

SG::ReadCondHandleKey<LArOnOffIdMapping> LArShapeDumper::m_cablingKeySC {this,"CablingKeySC","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object for SC"}
private

Definition at line 124 of file LArShapeDumper.h.

◆ m_caloMgrKey

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

Definition at line 138 of file LArShapeDumper.h.

◆ m_caloSuperCellMgrKey

SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> LArShapeDumper::m_caloSuperCellMgrKey
private
Initial value:
{this,
"CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager",
"SG key of the resulting CaloSuperCellDetDescrManager" }

Definition at line 142 of file LArShapeDumper.h.

◆ m_caloType

std::string LArShapeDumper::m_caloType
private

Definition at line 96 of file LArShapeDumper.h.

◆ m_channelsKey

SG::ReadHandleKey<LArRawChannelContainer> LArShapeDumper::m_channelsKey {this, "ChannelsKey", "LArRawChannels", "key for LArRawChannels"}
private

Definition at line 113 of file LArShapeDumper.h.

◆ m_count

unsigned LArShapeDumper::m_count
private

Definition at line 87 of file LArShapeDumper.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_digitsKey

SG::ReadHandleKey<LArDigitContainer> LArShapeDumper::m_digitsKey {this, "DigitsKey", "FREE", "key for LArDigitContainer"}
private

Definition at line 112 of file LArShapeDumper.h.

◆ m_digitsKeySC

SG::ReadHandleKey<LArDigitContainer> LArShapeDumper::m_digitsKeySC {this, "DigitsKeySC", "SC_ADC_BAS", "key for LArDigitContainer for SC"}
private

Definition at line 115 of file LArShapeDumper.h.

◆ m_doAllEvents

bool LArShapeDumper::m_doAllEvents
private

Definition at line 151 of file LArShapeDumper.h.

◆ m_doAllLvl1

bool LArShapeDumper::m_doAllLvl1
private

Definition at line 151 of file LArShapeDumper.h.

◆ m_doEM

bool LArShapeDumper::m_doEM
private

Definition at line 152 of file LArShapeDumper.h.

◆ m_doFCAL

bool LArShapeDumper::m_doFCAL
private

Definition at line 152 of file LArShapeDumper.h.

◆ m_doHEC

bool LArShapeDumper::m_doHEC
private

Definition at line 152 of file LArShapeDumper.h.

◆ m_doOFCIter

bool LArShapeDumper::m_doOFCIter
private

Definition at line 150 of file LArShapeDumper.h.

◆ m_doRoIs

bool LArShapeDumper::m_doRoIs
private

Definition at line 151 of file LArShapeDumper.h.

◆ m_doSC

bool LArShapeDumper::m_doSC
private

Definition at line 152 of file LArShapeDumper.h.

◆ m_doStream

bool LArShapeDumper::m_doStream
private

Definition at line 150 of file LArShapeDumper.h.

◆ m_doTrigger

bool LArShapeDumper::m_doTrigger
private

Definition at line 150 of file LArShapeDumper.h.

◆ m_dumpChannelInfos

bool LArShapeDumper::m_dumpChannelInfos
private

Definition at line 151 of file LArShapeDumper.h.

◆ m_dumpDisc

bool LArShapeDumper::m_dumpDisc
private

Definition at line 101 of file LArShapeDumper.h.

◆ m_dumperTool

ToolHandle<ILArShapeDumperTool> LArShapeDumper::m_dumperTool {this,"LArShapeDumperTool","LArShapeDumperTool"}
private

Definition at line 104 of file LArShapeDumper.h.

◆ m_dumperToolSC

ToolHandle<ILArShapeDumperTool> LArShapeDumper::m_dumperToolSC {this,"LArShapeDumperToolSC","LArShapeDumperToolSC"}
private

Definition at line 105 of file LArShapeDumper.h.

◆ m_energyCut

double LArShapeDumper::m_energyCut
private

Definition at line 97 of file LArShapeDumper.h.

◆ m_energyCutSC

double LArShapeDumper::m_energyCutSC
private

Definition at line 98 of file LArShapeDumper.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_fileName

std::string LArShapeDumper::m_fileName
private

Definition at line 84 of file LArShapeDumper.h.

◆ m_gains

bool LArShapeDumper::m_gains[CaloGain::LARNGAIN] {}
private

Definition at line 153 of file LArShapeDumper.h.

◆ m_gainSpec

std::string LArShapeDumper::m_gainSpec
private

Definition at line 100 of file LArShapeDumper.h.

◆ m_maxChannels

unsigned LArShapeDumper::m_maxChannels
private

Definition at line 88 of file LArShapeDumper.h.

◆ m_minADCMax

int LArShapeDumper::m_minADCMax
private

Definition at line 99 of file LArShapeDumper.h.

◆ m_minADCMaxSC

int LArShapeDumper::m_minADCMaxSC
private

Definition at line 99 of file LArShapeDumper.h.

◆ m_nLArError

unsigned LArShapeDumper::m_nLArError
private

Definition at line 91 of file LArShapeDumper.h.

◆ m_nNoDigits

unsigned LArShapeDumper::m_nNoDigits
private

Definition at line 92 of file LArShapeDumper.h.

◆ m_nNoDigitsSC

unsigned LArShapeDumper::m_nNoDigitsSC
private

Definition at line 93 of file LArShapeDumper.h.

◆ m_noiseCDOKey

SG::ReadCondHandleKey<CaloNoise> LArShapeDumper::m_noiseCDOKey {this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"}
private

Definition at line 129 of file LArShapeDumper.h.

◆ m_noiseSignifCut

double LArShapeDumper::m_noiseSignifCut
private

Definition at line 97 of file LArShapeDumper.h.

◆ m_nPrescaledAway

unsigned LArShapeDumper::m_nPrescaledAway
private

Definition at line 90 of file LArShapeDumper.h.

◆ m_nWrongBunchGroup

unsigned LArShapeDumper::m_nWrongBunchGroup
private

Definition at line 89 of file LArShapeDumper.h.

◆ m_onlineHelper

const LArOnlineID* LArShapeDumper::m_onlineHelper
private

Definition at line 145 of file LArShapeDumper.h.

◆ m_onlineHelperSC

const LArOnline_SuperCellID* LArShapeDumper::m_onlineHelperSC
private

Definition at line 146 of file LArShapeDumper.h.

◆ m_onlyEmptyBC

bool LArShapeDumper::m_onlyEmptyBC
private

Definition at line 155 of file LArShapeDumper.h.

◆ m_pedestalKey

SG::ReadCondHandleKey<ILArPedestal> LArShapeDumper::m_pedestalKey {this,"PedestalKey","LArPedestal","SG Key of LArPedestal object"}
private

Definition at line 134 of file LArShapeDumper.h.

◆ m_pedestalKeySC

SG::ReadCondHandleKey<ILArPedestal> LArShapeDumper::m_pedestalKeySC {this,"PedestalKeySC","LArPedestalSC","SG Key of LArPedestal object"}
private

Definition at line 135 of file LArShapeDumper.h.

◆ m_prescale

int LArShapeDumper::m_prescale
private

Definition at line 86 of file LArShapeDumper.h.

◆ m_problemsToMask

Gaudi::Property<std::vector<std::string> > LArShapeDumper::m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to patch"}
private

Definition at line 108 of file LArShapeDumper.h.

◆ m_problemsToMaskSC

Gaudi::Property<std::vector<std::string> > LArShapeDumper::m_problemsToMaskSC {this,"ProblemsToMaskSC",{}, "Bad-Channel categories to mask"}
private

Definition at line 110 of file LArShapeDumper.h.

◆ m_random

TRandom LArShapeDumper::m_random
private

Definition at line 160 of file LArShapeDumper.h.

◆ m_rawscKey

SG::ReadHandleKey<LArRawSCContainer> LArShapeDumper::m_rawscKey {this, "RawSCKey", "SC_ET_ID", "key for LArRawSCContainer"}
private

Definition at line 116 of file LArShapeDumper.h.

◆ m_runData

std::unique_ptr<LArSamples::RunData> LArShapeDumper::m_runData
private

Definition at line 158 of file LArShapeDumper.h.

◆ m_samples

LArSamples::DataStore* LArShapeDumper::m_samples
private

Definition at line 157 of file LArShapeDumper.h.

◆ m_trigDec

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

Definition at line 121 of file LArShapeDumper.h.

◆ m_triggerGroups

std::vector<const Trig::ChainGroup*> LArShapeDumper::m_triggerGroups
private

Definition at line 159 of file LArShapeDumper.h.

◆ m_triggerNames

std::vector<std::string> LArShapeDumper::m_triggerNames
private

Definition at line 102 of file LArShapeDumper.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:
grepfile.info
info
Definition: grepfile.py:38
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
LArShapeDumper::m_dumperTool
ToolHandle< ILArShapeDumperTool > m_dumperTool
Definition: LArShapeDumper.h:104
ROIB::CTPRoI
ROIB::CTPRoI contains a RoI delivered by the CTP.
Definition: CTPRoI.h:28
LArRawSC
Liquid Argon SuperCell raw data.
Definition: LArRawSC.h:19
ILArPedestal::pedestal
virtual float pedestal(const HWIdentifier &id, int gain) const =0
LArShapeDumper::m_gains
bool m_gains[CaloGain::LARNGAIN]
Definition: LArShapeDumper.h:153
LArShapeDumper::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Definition: LArShapeDumper.h:129
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
LArADC2MeV::ADC2MEV
const LArVectorProxy ADC2MEV(const HWIdentifier &id, int gain) const
Definition: LArADC2MeV.h:32
Trig::Feature
Definition: Feature.h:112
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
TrigConf::TriggerItem::ctpId
int ctpId() const
Definition: TriggerItem.h:34
LArOnlineID_Base::channel_Hash
IdentifierHash channel_Hash(HWIdentifier channelId) const
Create channel_hash from channel_Id.
Definition: LArOnlineID_Base.cxx:1632
LArFebErrorSummary::get_all_febs
const std::map< unsigned int, uint16_t > & get_all_febs() const
get all febs with error
Definition: LArFebErrorSummary.cxx:47
BunchCrossingCondData
Definition: BunchCrossingCondData.h:23
maxValue
#define maxValue(current, test)
Definition: CompoundLayerMaterialCreator.h:22
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
LArShapeDumper::m_doOFCIter
bool m_doOFCIter
Definition: LArShapeDumper.h:150
LArSamples::EventData::setRunData
void setRunData(const RunData *runData)
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:75
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ROIB::RoIBResult
Class holding the LVL1 RoIB result build by the RoIBuilder.
Definition: RoIBResult.h:47
LArShapeDumper::m_gainSpec
std::string m_gainSpec
Definition: LArShapeDumper.h:100
LArShapeDumper::m_bcMaskSC
LArBadChannelMask m_bcMaskSC
Definition: LArShapeDumper.h:109
LArSamples::DataStore::historyContainer
const HistoryContainer * historyContainer(unsigned int i) const
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/DataStore.h:42
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
LArRawSCContainer
Container class for LArRawSC.
Definition: LArRawSCContainer.h:17
ILArPedestal
Definition: ILArPedestal.h:12
LArBadXCont
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
Definition: LArBadChannelCont.h:28
LArShapeDumper::m_bcMask
LArBadChannelMask m_bcMask
Definition: LArShapeDumper.h:107
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArSamples::DataStore::addEvent
unsigned int addEvent(EventData *eventData)
Definition: LArCalorimeter/LArCafJobs/src/DataStore.cxx:72
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:1957
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
LArBadChannelMask::buildBitMask
StatusCode buildBitMask(const std::vector< std::string > &problemsToMask, MsgStream &msg)
Definition: LArBadChannelMask.cxx:10
LArRawChannel::quality
uint16_t quality() const
Definition: LArRawChannel.h:174
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
LArShapeDumper::m_nNoDigits
unsigned m_nNoDigits
Definition: LArShapeDumper.h:92
LArSamples::EventData::addRoI
void addRoI(float eta, float phi, const char *name="", const char *label="")
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:73
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
checkRpcDigits.digit
digit
Definition: checkRpcDigits.py:186
LArShapeDumper::m_BCKeySC
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKeySC
Definition: LArShapeDumper.h:127
LArShapeDumper::m_triggerNames
std::vector< std::string > m_triggerNames
Definition: LArShapeDumper.h:102
CaloNoise::getNoise
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
Definition: CaloNoise.h:34
LArShapeDumper::m_nLArError
unsigned m_nLArError
Definition: LArShapeDumper.h:91
LArBadChannelMask::cellShouldBeMasked
bool cellShouldBeMasked(const LArBadChannelCont *bcCont, const HWIdentifier &hardwareId) const
Definition: LArBadChannelMask.h:42
CaloGain::LARNGAIN
@ LARNGAIN
Definition: CaloGain.h:19
LArShapeDumper::m_nPrescaledAway
unsigned m_nPrescaledAway
Definition: LArShapeDumper.h:90
xAOD::EventInfo_v1::LAr
@ LAr
The LAr calorimeter.
Definition: EventInfo_v1.h:335
LArShapeDumper::m_channelsKey
SG::ReadHandleKey< LArRawChannelContainer > m_channelsKey
Definition: LArShapeDumper.h:113
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
LArShapeDumper::m_count
unsigned m_count
Definition: LArShapeDumper.h:87
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
xAOD::EventInfo_v1::Error
@ Error
The sub-detector issued an error.
Definition: EventInfo_v1.h:349
CaloSuperCellDetDescrManager
Definition: CaloDetDescrManager.h:490
LArShapeDumper::m_cablingKeySC
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeySC
Definition: LArShapeDumper.h:124
ILArAutoCorr
This class defines the interface for accessing AutoCorrelation parameters for each channel @stereotyp...
Definition: ILArAutoCorr.h:29
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
PrepareReferenceFile.regex
regex
Definition: PrepareReferenceFile.py:43
LArShapeDumper::m_caloType
std::string m_caloType
Definition: LArShapeDumper.h:96
LArShapeDumper::m_problemsToMaskSC
Gaudi::Property< std::vector< std::string > > m_problemsToMaskSC
Definition: LArShapeDumper.h:110
LArShapeDumper::m_doAllEvents
bool m_doAllEvents
Definition: LArShapeDumper.h:151
LArOnlineID_Base::isFCALchannel
bool isFCALchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1653
LArSamples::DataStore::footprint
double footprint() const
Definition: LArCalorimeter/LArCafJobs/src/DataStore.cxx:133
LArAutoCorrComplete
This class implements the ILArAutoCorr interface.
Definition: LArAutoCorrComplete.h:26
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
LArSamples::DataStore::hist_cont
HistoryContainer *& hist_cont(unsigned int i)
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/DataStore.h:72
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
LArOnlineID::isEMECchannel
bool isEMECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:763
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
LArShapeDumper::m_problemsToMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Definition: LArShapeDumper.h:108
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:116
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
lumiFormat.i
int i
Definition: lumiFormat.py:85
LArRawChannel
Liquid Argon ROD output object base class.
Definition: LArRawChannel.h:40
LArShapeDumper::m_fileName
std::string m_fileName
Definition: LArShapeDumper.h:84
beamspotman.n
n
Definition: beamspotman.py:731
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
LArOFIterResultsContainer
Definition: LArOFIterResultsContainer.h:14
LArShapeDumper::m_adc2mevKey
SG::ReadCondHandleKey< LArADC2MeV > m_adc2mevKey
Definition: LArShapeDumper.h:119
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
LArSamples::DataStore::nChannels
unsigned int nChannels() const
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/DataStore.h:56
LArShapeDumper::m_rawscKey
SG::ReadHandleKey< LArRawSCContainer > m_rawscKey
Definition: LArShapeDumper.h:116
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
ITk::EventData
InDet::SiSpacePointsSeedMakerEventData EventData
Definition: ITkSiSpacePointsSeedMaker.h:63
LArSamples::EventData::setTriggerData
void setTriggerData(const std::vector< unsigned int > &words)
Definition: EventData.cxx:75
run
Definition: run.py:1
LArShapeDumper::m_onlineHelperSC
const LArOnline_SuperCellID * m_onlineHelperSC
Definition: LArShapeDumper.h:146
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
LArShapeDumper::m_minADCMaxSC
int m_minADCMaxSC
Definition: LArShapeDumper.h:99
LArShapeDumper::m_minADCMax
int m_minADCMax
Definition: LArShapeDumper.h:99
LArShapeDumper::m_maxChannels
unsigned m_maxChannels
Definition: LArShapeDumper.h:88
LArSamples::HistoryContainer::cell_info
CellInfo * cell_info() const
Definition: HistoryContainer.h:57
LArOnlineID_Base::feb_Id
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
Definition: LArOnlineID_Base.cxx:1479
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
CaloNoise
Definition: CaloNoise.h:16
Trig::ChainGroup
Definition: ChainGroup.h:51
LArShapeDumper::m_doSC
bool m_doSC
Definition: LArShapeDumper.h:152
LArShapeDumper::m_digitsKey
SG::ReadHandleKey< LArDigitContainer > m_digitsKey
Definition: LArShapeDumper.h:112
LArShapeDumper::m_energyCut
double m_energyCut
Definition: LArShapeDumper.h:97
LArSamples::DataStore::makeNewHistorySC
HistoryContainer * makeNewHistorySC(const IdentifierHash &hash, CellInfo *info)
Definition: LArCalorimeter/LArCafJobs/src/DataStore.cxx:48
ROIB::RoIBResult::cTPResult
const CTPResult & cTPResult() const
Gets the CTP part of the L1 RDO.
Definition: RoIBResult.cxx:60
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
LArShapeDumper::m_doHEC
bool m_doHEC
Definition: LArShapeDumper.h:152
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArShapeDumper::m_dumperToolSC
ToolHandle< ILArShapeDumperTool > m_dumperToolSC
Definition: LArShapeDumper.h:105
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
RunTileCalibRec.rawChannelContainer
rawChannelContainer
Definition: RunTileCalibRec.py:320
LArShapeDumper::m_nNoDigitsSC
unsigned m_nNoDigitsSC
Definition: LArShapeDumper.h:93
LArSamples::DataStore
storage of the time histories of all the cells
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/DataStore.h:32
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition: CaloGain.h:18
LArSamples::CellInfo
Definition: CellInfo.h:31
LArOnlineID_Base::isEMBchannel
bool isEMBchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1648
columnar::ContainerId::eventInfo
@ eventInfo
LArShapeDumper::m_pedestalKey
SG::ReadCondHandleKey< ILArPedestal > m_pedestalKey
Definition: LArShapeDumper.h:134
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
LArShapeDumper::m_digitsKeySC
SG::ReadHandleKey< LArDigitContainer > m_digitsKeySC
Definition: LArShapeDumper.h:115
ROIB::CTPResult::TAV
const std::vector< CTPRoI > TAV() const
get trigger result after veto
LArSamples::HistoryContainer::cellInfo
const CellInfo * cellInfo() const
Definition: HistoryContainer.h:43
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.
LArShapeDumper::m_pedestalKeySC
SG::ReadCondHandleKey< ILArPedestal > m_pedestalKeySC
Definition: LArShapeDumper.h:135
LArADC2MeV
Definition: LArADC2MeV.h:21
CaloGain::LARMEDIUMGAIN
@ LARMEDIUMGAIN
Definition: CaloGain.h:18
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
LArShapeDumper::m_bcDataKey
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
Definition: LArShapeDumper.h:131
LArShapeDumper::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArShapeDumper.h:138
LArShapeDumper::m_doRoIs
bool m_doRoIs
Definition: LArShapeDumper.h:151
LArSamples::DataContainer
Definition: DataContainer.h:25
a
TList * a
Definition: liststreamerinfos.cxx:10
CaloLCW_tf.group
group
Definition: CaloLCW_tf.py:28
h
LArSamples::DataStore::addRun
unsigned int addRun(RunData *eventData)
Definition: LArCalorimeter/LArCafJobs/src/DataStore.cxx:79
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
LArShapeDumper::m_runData
std::unique_ptr< LArSamples::RunData > m_runData
Definition: LArShapeDumper.h:158
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
LArShapeDumper::m_samples
LArSamples::DataStore * m_samples
Definition: LArShapeDumper.h:157
LArSamples::HistoryContainer
Definition: HistoryContainer.h:29
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LArShapeDumper::m_doStream
bool m_doStream
Definition: LArShapeDumper.h:150
LArFebErrorSummary
Holds information from the FEB Error Summary.
Definition: LArFebErrorSummary.h:23
LArSamples::HistoryContainer::add
void add(const DataContainer *data)
append data (takes ownership)
Definition: HistoryContainer.h:46
LArShapeDumper::m_dumpChannelInfos
bool m_dumpChannelInfos
Definition: LArShapeDumper.h:151
LArShapeDumper::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArShapeDumper.h:123
LArShapeDumper::m_doFCAL
bool m_doFCAL
Definition: LArShapeDumper.h:152
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LArShapeDumper::m_random
TRandom m_random
Definition: LArShapeDumper.h:160
LArShapeDumper::m_BCKey
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
Definition: LArShapeDumper.h:126
LArRawChannel::time
int time() const
Definition: LArRawChannel.h:170
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
LArShapeDumper::m_prescale
int m_prescale
Definition: LArShapeDumper.h:86
LArShapeDumper::m_energyCutSC
double m_energyCutSC
Definition: LArShapeDumper.h:98
LArRawChannel::energy
int energy() const
Definition: LArRawChannel.h:166
LArShapeDumper::m_triggerGroups
std::vector< const Trig::ChainGroup * > m_triggerGroups
Definition: LArShapeDumper.h:159
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
merge.status
status
Definition: merge.py:17
LArShapeDumper::m_onlyEmptyBC
bool m_onlyEmptyBC
Definition: LArShapeDumper.h:155
LArShapeDumper::m_doTrigger
bool m_doTrigger
Definition: LArShapeDumper.h:150
LArShapeDumper::m_nWrongBunchGroup
unsigned m_nWrongBunchGroup
Definition: LArShapeDumper.h:89
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
LArShapeDumper::m_caloSuperCellMgrKey
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Definition: LArShapeDumper.h:142
LArOnlineID::isHECchannel
bool isHECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:723
LArSamples::DataStore::hist_cont_sc
HistoryContainer *& hist_cont_sc(unsigned int i)
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/DataStore.h:73
LArShapeDumper::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: LArShapeDumper.h:145
Trig::ChainGroup::getListOfTriggers
std::vector< std::string > getListOfTriggers() const
Definition: ChainGroup.cxx:467
CaloGain::LARLOWGAIN
@ LARLOWGAIN
Definition: CaloGain.h:18
LArShapeDumper::m_trigDec
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: LArShapeDumper.h:121
xAOD::lumiBlock
setTeId lumiBlock
Definition: L2StandAloneMuon_v1.cxx:327
ILArPedestal::pedestalRMS
virtual float pedestalRMS(const HWIdentifier &id, int gain) const =0
access to RMS of Pedestal index by Identifier, and gain setting
LArShapeDumper::m_doEM
bool m_doEM
Definition: LArShapeDumper.h:152
LArShapeDumper::m_dumpDisc
bool m_dumpDisc
Definition: LArShapeDumper.h:101
LArShapeDumper::m_acorrKey
SG::ReadCondHandleKey< ILArAutoCorr > m_acorrKey
Definition: LArShapeDumper.h:137
LArSamples::EventData
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:29
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
LArShapeDumper::makeEvent
int makeEvent(LArSamples::EventData *&eventData, int run, int event, int lumiBlock, int bunchXing) const
Definition: LArShapeDumper.cxx:708
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
LArShapeDumper::m_doAllLvl1
bool m_doAllLvl1
Definition: LArShapeDumper.h:151
DataVector::empty
bool empty() const noexcept
Returns true if the collection is empty.
LArSamples::DataStore::writeTrees
bool writeTrees(const char *fileName)
Definition: LArCalorimeter/LArCafJobs/src/DataStore.cxx:152
LArAutoCorrComplete::autoCorr
virtual AutoCorrRef_t autoCorr(const HWIdentifier &CellID, int gain) const
Definition: LArAutoCorrComplete.cxx:29
WriteCellNoiseToCool.noise
noise
Definition: WriteCellNoiseToCool.py:380
TrigConf::TriggerItem
Definition: TriggerItem.h:25
match
bool match(std::string s1, std::string s2)
match the individual directories of two strings
Definition: hcg.cxx:356
LArShapeDumper::m_noiseSignifCut
double m_noiseSignifCut
Definition: LArShapeDumper.h:97
LArOnlineID_Base::feedthrough_Id
HWIdentifier feedthrough_Id(int barrel_ec, int pos_neg, int feedthrough) const
Create a feedthrough identifier from fields.
Definition: LArOnlineID_Base.cxx:1400
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
LArVectorProxy
Proxy for accessing a range of float values like a vector.
Definition: LArVectorProxy.h:38
LArRawChannelContainer
Container for LArRawChannel (IDC using LArRawChannelCollection)
Definition: LArRawChannelContainer.h:26
ServiceHandle< ICondSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14
LArSamples::DataStore::makeNewHistory
HistoryContainer * makeNewHistory(const IdentifierHash &hash, CellInfo *info)
append data (takes ownership of everything)
Definition: LArCalorimeter/LArCafJobs/src/DataStore.cxx:40
EventInfoCnvParams::eventIndex
thread_local event_number_t eventIndex
Definition: IEvtIdModifierSvc.h:34