ATLAS Offline Software
TrigJetHypoToolConfig_maxmultfilter.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6  Configurer for a HypoJetVector MaxMultFilter
7 */
8 
10 #include "MaxMultFilter.h"
11 
12 #include "GaudiKernel/StatusCode.h"
13 #include <vector>
14 
15 
17  const std::string& name,
18  const IInterface* parent) :
19  base_class(type, name, parent){
20 
21 }
22 
23 
25  CHECK(checkVals());
26  return StatusCode::SUCCESS;
27 }
28 
31  /* create and return a MaxMultFilter with the configured range limits.*/
32 
33  FilterPtr fp = std::unique_ptr<IHypoJetVectorFilter>(nullptr);
34  auto a2d = ArgStrToDouble();
35  fp.reset(new MaxMultFilter(m_end, a2d(m_min), a2d(m_max)));
36 
37  return fp;
38 }
39 
41  auto a2d = ArgStrToDouble();
42 
43  auto min_val = a2d(m_min);
44  auto max_val = a2d(m_max);
45 
46  if (min_val > max_val){
47  ATH_MSG_ERROR(" min eta > max eta: " << min_val << max_val);
48  return StatusCode::FAILURE;
49  }
50 
51  if (m_end < 1u) {
52  ATH_MSG_ERROR("MaxMultFilter < 1: " << m_end);
53  return StatusCode::FAILURE;
54  }
55  return StatusCode::SUCCESS;
56 }
57 
58 
59 
TrigJetHypoToolConfig_maxmultfilter::m_end
Gaudi::Property< std::size_t > m_end
Definition: TrigJetHypoToolConfig_maxmultfilter.h:32
TrigJetHypoToolConfig_maxmultfilter::initialize
virtual StatusCode initialize() override
Definition: TrigJetHypoToolConfig_maxmultfilter.cxx:24
ArgStrToDouble
Definition: ArgStrToDouble.h:13
TrigJetHypoToolConfig_maxmultfilter::getHypoJetVectorFilter
virtual FilterPtr getHypoJetVectorFilter() const override
Definition: TrigJetHypoToolConfig_maxmultfilter.cxx:30
FilterPtr
std::unique_ptr< IHypoJetVectorFilter > FilterPtr
Definition: ITrigHypoJetVectorFilterConfig.h:10
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
TrigJetHypoToolConfig_maxmultfilter::m_max
Gaudi::Property< std::string > m_max
Definition: TrigJetHypoToolConfig_maxmultfilter.h:36
TrigJetHypoToolConfig_maxmultfilter.h
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
trigmenu_modify_prescale_json.fp
fp
Definition: trigmenu_modify_prescale_json.py:53
MaxMultFilter
Definition: MaxMultFilter.h:12
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigJetHypoToolConfig_maxmultfilter::m_min
Gaudi::Property< std::string > m_min
Definition: TrigJetHypoToolConfig_maxmultfilter.h:34
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigJetHypoToolConfig_maxmultfilter::checkVals
StatusCode checkVals() const
Definition: TrigJetHypoToolConfig_maxmultfilter.cxx:40
TrigJetHypoToolConfig_maxmultfilter::TrigJetHypoToolConfig_maxmultfilter
TrigJetHypoToolConfig_maxmultfilter(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigJetHypoToolConfig_maxmultfilter.cxx:16
MaxMultFilter.h