ATLAS Offline Software
Loading...
Searching...
No Matches
L1NonlinearLutDatabaseOverrideTool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
5
10
11namespace LVL1 {
12
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
31
32// this tool only modifies ChanCalib, the rest is a straight-copy of the input
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}
55
60
61} // end of namespace LVL1
Modifies the PprChanCalib database folders to use the nonlinear LUT.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
StatusCode modifyChanCalib(L1CaloPprChanCalibContainer &)
L1NonlinearLutDatabaseOverrideTool(const std::string &, const std::string &, const IInterface *)
StatusCode modifyChanDefaults(L1CaloPprChanDefaultsContainer &)
StatusCode modifyDisabledTowers(L1CaloDisabledTowersContainer &)
StatusCode modifyDeadChannels(L1CaloPpmDeadChannelsContainer &)
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...