ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
TrigT1CaloTools
src
L1NonlinearLutDatabaseOverrideTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include "
L1NonlinearLutDatabaseOverrideTool.h
"
5
6
#include "
TrigT1CaloCalibConditions/L1CaloPprChanDefaultsContainer.h
"
7
#include "
TrigT1CaloCalibConditions/L1CaloPprChanCalibContainer.h
"
8
#include "
TrigT1CaloCalibConditions/L1CaloDisabledTowersContainer.h
"
9
#include "
TrigT1CaloCalibConditions/L1CaloPpmDeadChannelsContainer.h
"
10
11
namespace
LVL1
{
12
13
L1NonlinearLutDatabaseOverrideTool::L1NonlinearLutDatabaseOverrideTool
(
14
const
std::string& t,
15
const
std::string& n,
16
const
IInterface* p )
17
:
AthAlgTool
(t,n,p)
18
{
19
declareInterface<IL1DatabaseOverrideTool>(
this
);
20
declareProperty
(
"JepOffset"
,
m_offset
);
21
declareProperty
(
"JepSlope"
,
m_slope
);
22
declareProperty
(
"JepAmplitude"
,
m_amplitude
);
23
declareProperty
(
"JepExponent"
,
m_exponent
);
24
declareProperty
(
"JepNoiseFraction"
,
m_noiseFraction
);
25
declareProperty
(
"JepStrategy"
,
m_strategy
);
26
}
27
28
L1NonlinearLutDatabaseOverrideTool::~L1NonlinearLutDatabaseOverrideTool
()
29
{
30
}
31
32
// this tool only modifies ChanCalib, the rest is a straight-copy of the input
33
StatusCode
L1NonlinearLutDatabaseOverrideTool::modifyChanCalib
(
L1CaloPprChanCalibContainer
& c)
34
{
35
for
(
auto
& chan : c) {
36
// database fields are unsigned shorts, values requrired are floating point
37
// store the actual value multiplied by 1000 and undo the transfromation on usage
38
chan.setLutJepPar1(
static_cast<
unsigned
short
>
(1000. *
m_offset
));
39
chan.setLutJepPar2(
static_cast<
unsigned
short
>
(1000. *
m_amplitude
));
40
chan.setLutJepPar3(
static_cast<
unsigned
short
>
(1000. *
m_exponent
));
41
chan.setLutJepPar4(
static_cast<
unsigned
short
>
(1000. *
m_noiseFraction
));
42
chan.setLutJepScale(
static_cast<
unsigned
short
>
(1000. *
m_slope
));
43
chan.setLutJepStrategy(
m_strategy
);
44
}
45
return
StatusCode::SUCCESS;
46
}
47
StatusCode
L1NonlinearLutDatabaseOverrideTool::modifyDisabledTowers
(
L1CaloDisabledTowersContainer
&)
48
{
49
return
StatusCode::SUCCESS;
50
}
51
StatusCode
L1NonlinearLutDatabaseOverrideTool::modifyDeadChannels
(
L1CaloPpmDeadChannelsContainer
&)
52
{
53
return
StatusCode::SUCCESS;
54
}
55
56
StatusCode
L1NonlinearLutDatabaseOverrideTool::modifyChanDefaults
(
L1CaloPprChanDefaultsContainer
&)
57
{
58
return
StatusCode::SUCCESS;
59
}
60
61
}
// end of namespace LVL1
L1CaloDisabledTowersContainer.h
L1CaloPpmDeadChannelsContainer.h
L1CaloPprChanCalibContainer.h
L1CaloPprChanDefaultsContainer.h
L1NonlinearLutDatabaseOverrideTool.h
Modifies the PprChanCalib database folders to use the nonlinear LUT.
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition
AthCommonDataStore.h:145
L1CaloDisabledTowersContainer
Definition
L1CaloDisabledTowersContainer.h:27
L1CaloPpmDeadChannelsContainer
Definition
L1CaloPpmDeadChannelsContainer.h:27
L1CaloPprChanCalibContainer
Definition
L1CaloPprChanCalibContainer.h:27
L1CaloPprChanDefaultsContainer
Definition
L1CaloPprChanDefaultsContainer.h:27
LVL1::L1NonlinearLutDatabaseOverrideTool::modifyChanCalib
StatusCode modifyChanCalib(L1CaloPprChanCalibContainer &)
Definition
L1NonlinearLutDatabaseOverrideTool.cxx:33
LVL1::L1NonlinearLutDatabaseOverrideTool::m_exponent
double m_exponent
Definition
L1NonlinearLutDatabaseOverrideTool.h:39
LVL1::L1NonlinearLutDatabaseOverrideTool::m_offset
double m_offset
Definition
L1NonlinearLutDatabaseOverrideTool.h:36
LVL1::L1NonlinearLutDatabaseOverrideTool::m_amplitude
double m_amplitude
Definition
L1NonlinearLutDatabaseOverrideTool.h:38
LVL1::L1NonlinearLutDatabaseOverrideTool::L1NonlinearLutDatabaseOverrideTool
L1NonlinearLutDatabaseOverrideTool(const std::string &, const std::string &, const IInterface *)
Definition
L1NonlinearLutDatabaseOverrideTool.cxx:13
LVL1::L1NonlinearLutDatabaseOverrideTool::modifyChanDefaults
StatusCode modifyChanDefaults(L1CaloPprChanDefaultsContainer &)
Definition
L1NonlinearLutDatabaseOverrideTool.cxx:56
LVL1::L1NonlinearLutDatabaseOverrideTool::m_noiseFraction
double m_noiseFraction
Definition
L1NonlinearLutDatabaseOverrideTool.h:40
LVL1::L1NonlinearLutDatabaseOverrideTool::modifyDisabledTowers
StatusCode modifyDisabledTowers(L1CaloDisabledTowersContainer &)
Definition
L1NonlinearLutDatabaseOverrideTool.cxx:47
LVL1::L1NonlinearLutDatabaseOverrideTool::~L1NonlinearLutDatabaseOverrideTool
virtual ~L1NonlinearLutDatabaseOverrideTool()
default destructor
Definition
L1NonlinearLutDatabaseOverrideTool.cxx:28
LVL1::L1NonlinearLutDatabaseOverrideTool::m_slope
double m_slope
Definition
L1NonlinearLutDatabaseOverrideTool.h:37
LVL1::L1NonlinearLutDatabaseOverrideTool::m_strategy
unsigned short m_strategy
Definition
L1NonlinearLutDatabaseOverrideTool.h:41
LVL1::L1NonlinearLutDatabaseOverrideTool::modifyDeadChannels
StatusCode modifyDeadChannels(L1CaloPpmDeadChannelsContainer &)
Definition
L1NonlinearLutDatabaseOverrideTool.cxx:51
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
Generated on
for ATLAS Offline Software by
1.17.0