ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCalibTools
src
LArADC2MeV2Ntuple.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
LArCalibTools/LArADC2MeV2Ntuple.h
"
6
7
StatusCode
LArADC2MeV2Ntuple::initialize
() {
8
m_ntTitle
=
"ADC2MeV"
;
9
m_ntName
=
"ADC2MeV"
;
10
m_ntpath
=std::string(
"/NTUPLES/FILE1/"
)+
m_ntName
;
11
12
ATH_CHECK
(
m_adc2MeVKey
.initialize());
13
return
LArCond2NtupleBase::initialize
();
14
}
15
16
17
18
StatusCode
LArADC2MeV2Ntuple::stop
() {
19
20
NTuple::Array<float> coeffs;
21
NTuple::Item<unsigned long> coeffIndex;
22
NTuple::Item<unsigned long> gain;
23
SG::ReadCondHandle<LArADC2MeV>
adc2MeVHdl{
m_adc2MeVKey
};
24
const
LArADC2MeV
* adc2MEV{*adc2MeVHdl};
25
26
ATH_CHECK
(
m_nt
->addItem(
"Xi"
,coeffIndex,0,3));
27
ATH_CHECK
(
m_nt
->addItem(
"X"
,coeffIndex,coeffs));
28
ATH_CHECK
(
m_nt
->addItem(
"gain"
,gain,0,3));
29
for
(
long
igain=
CaloGain::LARHIGHGAIN
; igain<
m_NGains
; igain++) {
30
for
(
const
HWIdentifier
hwid:
m_onlineId
->channel_range()) {
31
auto
adc2mevCoeff=adc2MEV->
ADC2MEV
(hwid,igain);
32
if
(adc2mevCoeff.size()>0) {
33
fillFromIdentifier
(hwid);
34
gain=igain;
35
for
(coeffIndex=0;coeffIndex<adc2mevCoeff.size();coeffIndex++) {
36
coeffs[coeffIndex]=adc2mevCoeff[coeffIndex];
37
}
38
ATH_CHECK
(
ntupleSvc
()->writeRecord(
m_nt
));
39
}
//end if have ADC2MeV values for this cell and gain
40
}
//end loop over cells
41
}
//end loop over gians
42
43
ATH_MSG_INFO
(
"LArADC2MeV2Ntuple has finished."
);
44
return
StatusCode::SUCCESS;
45
46
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
LArADC2MeV2Ntuple.h
ntupleSvc
INTupleSvc * ntupleSvc()
Definition
ServiceAccessor.h:14
HWIdentifier
Definition
HWIdentifier.h:13
LArADC2MeV2Ntuple::stop
virtual StatusCode stop()
Definition
LArADC2MeV2Ntuple.cxx:18
LArADC2MeV2Ntuple::m_ntName
std::string m_ntName
Definition
LArADC2MeV2Ntuple.h:28
LArADC2MeV2Ntuple::initialize
StatusCode initialize()
Definition
LArADC2MeV2Ntuple.cxx:7
LArADC2MeV2Ntuple::m_adc2MeVKey
SG::ReadCondHandleKey< LArADC2MeV > m_adc2MeVKey
Definition
LArADC2MeV2Ntuple.h:27
LArADC2MeV
Definition
LArADC2MeV.h:21
LArADC2MeV::ADC2MEV
const LArVectorProxy ADC2MEV(const HWIdentifier &id, int gain) const
Definition
LArADC2MeV.h:32
LArCond2NtupleBase::initialize
StatusCode initialize()
Definition
LArCond2NtupleBase.cxx:33
LArCond2NtupleBase::m_ntTitle
std::string m_ntTitle
Definition
LArCond2NtupleBase.h:68
LArCond2NtupleBase::m_NGains
Gaudi::Property< int > m_NGains
Definition
LArCond2NtupleBase.h:64
LArCond2NtupleBase::m_nt
NTuple::Tuple * m_nt
Definition
LArCond2NtupleBase.h:71
LArCond2NtupleBase::m_onlineId
const LArOnlineID_Base * m_onlineId
Definition
LArCond2NtupleBase.h:88
LArCond2NtupleBase::m_ntpath
std::string m_ntpath
Definition
LArCond2NtupleBase.h:68
LArCond2NtupleBase::fillFromIdentifier
bool fillFromIdentifier(const HWIdentifier &id)
Definition
LArCond2NtupleBase.cxx:290
SG::ReadCondHandle
Definition
ReadCondHandle.h:40
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition
CaloGain.h:18
Generated on
for ATLAS Offline Software by
1.17.0