ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCalibTools
src
LArNoise2Ntuple.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/LArNoise2Ntuple.h
"
6
#include "
LArRawConditions/LArNoiseComplete.h
"
7
#include "
LArRawConditions/LArNoiseMC.h
"
8
#include "
CaloIdentifier/CaloGain.h
"
9
10
11
LArNoise2Ntuple::LArNoise2Ntuple
(
const
std::string& name, ISvcLocator* pSvcLocator):
12
LArCond2NtupleBase
(name, pSvcLocator) {
13
declareProperty
(
"ContainerKey"
,
m_contKey
);
14
15
m_ntTitle
=
"Noise"
;
16
m_ntpath
=
"/NTUPLES/FILE1/NOISE"
;
17
18
}
19
20
LArNoise2Ntuple::~LArNoise2Ntuple
()
21
=
default
;
22
23
StatusCode
LArNoise2Ntuple::stop
() {
24
const
ILArNoise
* larNoise =
nullptr
;
25
StatusCode
sc
;
26
sc
=
m_detStore
->retrieve(larNoise,
m_contKey
);
27
if
(
sc
!=StatusCode::SUCCESS) {
28
ATH_MSG_ERROR
(
"Unable to retrieve ILArNoise with key "
29
<<
m_contKey
<<
" from DetectorStore"
);
30
return
StatusCode::FAILURE;
31
}
32
33
NTuple::Item<long> cellIndex,gain;
34
NTuple::Item<float> noise;
35
36
sc
=
m_nt
->addItem(
"icell"
,cellIndex,0,2000);
37
if
(
sc
!=StatusCode::SUCCESS)
38
{
ATH_MSG_ERROR
(
"addItem 'Cell Index' failed"
);
39
return
StatusCode::FAILURE;
40
}
41
42
sc
=
m_nt
->addItem(
"gain"
,gain,0,3);
43
if
(
sc
!=StatusCode::SUCCESS)
44
{
ATH_MSG_ERROR
(
"addItem 'gain' failed"
);
45
return
StatusCode::FAILURE;
46
}
47
48
49
sc
=
m_nt
->addItem(
"noise"
,noise);
50
if
(
sc
!=StatusCode::SUCCESS)
51
{
ATH_MSG_ERROR
(
"addItem 'noise' failed"
);
52
return
StatusCode::FAILURE;
53
}
54
55
SG::ReadCondHandle<LArOnOffIdMapping>
cablingHdl{
m_cablingKey
};
56
const
LArOnOffIdMapping
* cabling=*cablingHdl;
57
if
(!cabling) {
58
ATH_MSG_WARNING
(
"Do not have cabling object LArOnOffIdMapping"
);
59
return
StatusCode::FAILURE;
60
}
61
62
unsigned
cellCounter=0;
63
for
(
long
igain=
CaloGain::LARHIGHGAIN
; igain<
m_NGains
.value(); igain++) {
64
for
(
const
HWIdentifier
hwid:
m_onlineId
->channel_range()) {
65
if
( cabling->isOnlineConnected(hwid)) {
66
fillFromIdentifier
(hwid);
67
cellIndex = cellCounter;
68
gain=igain;
69
noise = larNoise->
noise
(hwid,igain);
70
sc
=
ntupleSvc
()->writeRecord(
m_nt
);
71
if
(
sc
!=StatusCode::SUCCESS) {
72
ATH_MSG_ERROR
(
"writeRecord failed"
);
73
return
StatusCode::FAILURE;
74
}
75
}
//end if isConnected
76
cellCounter++;
77
}
//end loop over online ID
78
}
// ovr gains
79
80
ATH_MSG_INFO
(
"LArNoise2Ntuple has finished."
);
81
return
StatusCode::SUCCESS;
82
}
// end finalize-method.
83
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition
AthMsgStreamMacros.h:32
CaloGain.h
LArNoise2Ntuple.h
LArNoiseComplete.h
LArNoiseMC.h
sc
static Double_t sc
Definition
LArPhysWaveHECTool.cxx:37
ntupleSvc
INTupleSvc * ntupleSvc()
Definition
ServiceAccessor.h:14
AthCommonAlgorithm< Gaudi::Algorithm >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition
AthCommonDataStore.h:145
HWIdentifier
Definition
HWIdentifier.h:13
ILArNoise
Definition
ILArNoise.h:12
ILArNoise::noise
virtual const float & noise(const HWIdentifier &id, int gain) const =0
LArCond2NtupleBase::m_detStore
StoreGateSvc * m_detStore
Definition
LArCond2NtupleBase.h:84
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_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition
LArCond2NtupleBase.h:92
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
LArCond2NtupleBase::LArCond2NtupleBase
LArCond2NtupleBase(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArCond2NtupleBase.cxx:15
LArNoise2Ntuple::stop
virtual StatusCode stop()
Definition
LArNoise2Ntuple.cxx:23
LArNoise2Ntuple::LArNoise2Ntuple
LArNoise2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArNoise2Ntuple.cxx:11
LArNoise2Ntuple::m_contKey
std::string m_contKey
Definition
LArNoise2Ntuple.h:22
LArNoise2Ntuple::~LArNoise2Ntuple
~LArNoise2Ntuple()
LArOnOffIdMapping
Definition
LArOnOffIdMapping.h:20
SG::ReadCondHandle
Definition
ReadCondHandle.h:40
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition
CaloGain.h:18
Generated on
for ATLAS Offline Software by
1.17.0