Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
LArMinBias2Ntuple.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 
8 
9 LArMinBias2Ntuple::LArMinBias2Ntuple(const std::string& name, ISvcLocator* pSvcLocator):
10  LArCond2NtupleBase(name, pSvcLocator),
11  m_isPileup(false) {
12 
13  declareProperty("NtupleTitle",m_ntTitle="MinBias");
14  declareProperty("NtupleName",m_ntpath="/NTUPLES/FILE1/MINBIAS");
15 
16 }
17 
19 = default;
20 
22  m_isPileup = m_contKey.key().empty() && (m_contKeyAv.key().find("Pileup") != std::string::npos);
26 }
27 
29 
30  const ILArMinBias* LArMinBias = nullptr;
31  const ILArMinBiasAverage* LArMinBiasAv = nullptr;
32 
33  if(!m_isPileup) {
35  if (!LArMinBias) {
37  LArMinBias=*mbHandle;
38  }
39  }
40 
42  if(!LArMinBiasAv) {
44  LArMinBiasAv=*mbaHandle;
45  }
46 
47  NTuple::Item<float> minbias;
48  NTuple::Item<float> minbias_av;
49 
51  const LArOnOffIdMapping* cabling=*cablingHdl;
52  if(!cabling) {
53  ATH_MSG_WARNING( "Do not have cabling object LArOnOffIdMapping" );
54  return StatusCode::FAILURE;
55  }
56 
57  if(!m_isPileup) ATH_CHECK( m_nt->addItem("MinBias",minbias) );
58  ATH_CHECK( m_nt->addItem("MinBiasAv",minbias_av) );
59 
60  unsigned cellCounter=0;
61  for (const HWIdentifier hwid: m_onlineId->channel_range()) {
62  if ( cabling->isOnlineConnected(hwid)) {
63  fillFromIdentifier(hwid);
64  if(!m_isPileup) minbias = LArMinBias->minBiasRMS(hwid);
65  minbias_av = LArMinBiasAv->minBiasAverage(hwid);
66  ATH_CHECK( ntupleSvc()->writeRecord(m_nt) );
67  }//end if isConnected
68  cellCounter++;
69  }//end loop over online ID
70 
71  ATH_MSG_INFO( "LArMinBias2Ntuple has finished, " << cellCounter << " cells written." );
72  return StatusCode::SUCCESS;
73 }// end finalize-method.
74 
LArMinBias2Ntuple::m_contKeyAv
SG::ReadCondHandleKey< ILArMinBiasAverage > m_contKeyAv
Definition: LArMinBias2Ntuple.h:26
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArMinBias2Ntuple.h
LArMinBias2Ntuple::initialize
virtual StatusCode initialize()
Definition: LArMinBias2Ntuple.cxx:21
ILArMinBiasAverage
Definition: ILArMinBiasAverage.h:13
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
LArCond2NtupleBase::initialize
StatusCode initialize()
Definition: LArCond2NtupleBase.cxx:33
LArCond2NtupleBase
Definition: LArCond2NtupleBase.h:32
LArMinBias2Ntuple::stop
virtual StatusCode stop()
Definition: LArMinBias2Ntuple.cxx:28
LArMinBias2Ntuple::m_isPileup
bool m_isPileup
Definition: LArMinBias2Ntuple.h:27
LArOnlineID_Base::channel_range
id_range channel_range() const
Definition: LArOnlineID_Base.cxx:1932
ILArMinBiasAverage::minBiasAverage
virtual const float & minBiasAverage(const HWIdentifier &id) const =0
access to average of E in minimum bias events index by Identifier
LArMinBias2Ntuple::~LArMinBias2Ntuple
~LArMinBias2Ntuple()
LArCond2NtupleBase::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArCond2NtupleBase.h:89
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArCond2NtupleBase::m_ntpath
std::string m_ntpath
Definition: LArCond2NtupleBase.h:65
LArCond2NtupleBase::m_nt
NTuple::Tuple * m_nt
Definition: LArCond2NtupleBase.h:68
LArMinBias2Ntuple::m_contKey
SG::ReadCondHandleKey< ILArMinBias > m_contKey
Definition: LArMinBias2Ntuple.h:25
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LArMinBias2Ntuple::LArMinBias2Ntuple
LArMinBias2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArMinBias2Ntuple.cxx:9
ILArMinBias
Definition: ILArMinBias.h:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
LArCond2NtupleBase::m_ntTitle
std::string m_ntTitle
Definition: LArCond2NtupleBase.h:65
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LArCond2NtupleBase::m_onlineId
const LArOnlineID_Base * m_onlineId
Definition: LArCond2NtupleBase.h:85
StoreGateSvc::tryConstRetrieve
const T * tryConstRetrieve() const
LArCond2NtupleBase::fillFromIdentifier
bool fillFromIdentifier(const HWIdentifier &id)
Definition: LArCond2NtupleBase.cxx:288
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
ILArMinBias::minBiasRMS
virtual const float & minBiasRMS(const HWIdentifier &id) const =0
access to RMS of E in minimum bias events index by Identifier
LArCond2NtupleBase::m_detStore
StoreGateSvc * m_detStore
Definition: LArCond2NtupleBase.h:81
CaloGain.h
ntupleSvc
INTupleSvc * ntupleSvc()
Definition: ServiceAccessor.h:14
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20