ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TrigJetHypoToolConfig_fastreduction Class Reference

#include <TrigJetHypoToolConfig_fastreduction.h>

Inheritance diagram for TrigJetHypoToolConfig_fastreduction:
Collaboration diagram for TrigJetHypoToolConfig_fastreduction:

Public Member Functions

 TrigJetHypoToolConfig_fastreduction (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~TrigJetHypoToolConfig_fastreduction ()
 
virtual StatusCode initialize () override
 
virtual std::unique_ptr< IJetsMatchergetMatcher () const override
 
virtual std::size_t requiresNJets () const override
 
virtual StatusCode checkVals () const override
 

Private Member Functions

ConditionPtrs getRepeatedConditions () const
 
std::vector< FilterPtrgetFilters () const
 

Private Attributes

ToolHandleArray< ITrigJetRepeatedConditionConfigm_conditionMakers
 
ToolHandleArray< ITrigHypoJetVectorFilterConfigm_filterMakers
 
Gaudi::Property< std::vector< int > > m_filterMakerInds
 
Gaudi::Property< std::vector< std::size_t > > m_treeVec
 
Gaudi::Property< std::vector< int > > m_leafNodes
 

Detailed Description

Definition at line 29 of file TrigJetHypoToolConfig_fastreduction.h.

Constructor & Destructor Documentation

◆ TrigJetHypoToolConfig_fastreduction()

TrigJetHypoToolConfig_fastreduction::TrigJetHypoToolConfig_fastreduction ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 21 of file TrigJetHypoToolConfig_fastreduction.cxx.

23  :
24  base_class(type, name, parent){
25 
26 }

◆ ~TrigJetHypoToolConfig_fastreduction()

TrigJetHypoToolConfig_fastreduction::~TrigJetHypoToolConfig_fastreduction ( )
virtual

Definition at line 29 of file TrigJetHypoToolConfig_fastreduction.cxx.

29  {
30 }

Member Function Documentation

◆ checkVals()

StatusCode TrigJetHypoToolConfig_fastreduction::checkVals ( ) const
overridevirtual

Definition at line 141 of file TrigJetHypoToolConfig_fastreduction.cxx.

141  {
142  return StatusCode::SUCCESS;
143 }

◆ getFilters()

std::vector< FilterPtr > TrigJetHypoToolConfig_fastreduction::getFilters ( ) const
private

Definition at line 101 of file TrigJetHypoToolConfig_fastreduction.cxx.

101  {
102 
103  auto filters = std::vector<FilterPtr>();
104  filters.reserve(m_filterMakers.size());
105 
106  for(const auto& filterMaker : m_filterMakers) {
107  filters.push_back(filterMaker->getHypoJetVectorFilter());
108  }
109 
110  return filters;
111 }

◆ getMatcher()

std::unique_ptr< IJetsMatcher > TrigJetHypoToolConfig_fastreduction::getMatcher ( ) const
overridevirtual

Definition at line 122 of file TrigJetHypoToolConfig_fastreduction.cxx.

122  {
123 
124  auto matcher = std::unique_ptr<IJetsMatcher>(nullptr);
125 
126  auto repeatedConds = getRepeatedConditions();
127 
128  if(repeatedConds.empty()){return matcher;}
129 
130  auto conditions = std::move(repeatedConds);
131  auto filters = getFilters();
132 
133  auto fpm = new FastReductionMatcher(conditions,
134  filters,
136  Tree(m_treeVec));
137  matcher.reset(fpm);
138  return matcher;
139 }

◆ getRepeatedConditions()

ConditionPtrs TrigJetHypoToolConfig_fastreduction::getRepeatedConditions ( ) const
private

Definition at line 62 of file TrigJetHypoToolConfig_fastreduction.cxx.

62  {
63 
64  ConditionPtrs conditions;
65 
66  // collect the Conditions objects from the various sources
67 
68  for(const auto& cm : m_conditionMakers){
69  conditions.push_back(cm->getRepeatedCondition());
70  }
71 
72  return conditions;
73 }

◆ initialize()

StatusCode TrigJetHypoToolConfig_fastreduction::initialize ( )
overridevirtual

Definition at line 32 of file TrigJetHypoToolConfig_fastreduction.cxx.

32  {
33  ATH_MSG_DEBUG("initialising " << name());
34 
35  if(m_conditionMakers.size() != m_treeVec.size()){
36  ATH_MSG_ERROR("No. of conditions mismatch with tree vector size");
37  return StatusCode::FAILURE;
38  }
39 
40  if(m_conditionMakers.size() < 2){ // first node is root, need more
41  ATH_MSG_ERROR("No. of conditions " +
43  " require at least 2" );
44  return StatusCode::FAILURE;
45  }
46 
47  if(m_filterMakerInds.size() != m_conditionMakers.size()){
48  // need an index for each condition
49  ATH_MSG_ERROR("No. of conditions " +
51  " no. of filter inds " +
53  " must be equal" );
54  return StatusCode::FAILURE;
55  }
56 
57  return StatusCode::SUCCESS;
58 }

◆ requiresNJets()

std::size_t TrigJetHypoToolConfig_fastreduction::requiresNJets ( ) const
overridevirtual

Definition at line 116 of file TrigJetHypoToolConfig_fastreduction.cxx.

116  {
117  return 0;
118 }

Member Data Documentation

◆ m_conditionMakers

ToolHandleArray<ITrigJetRepeatedConditionConfig> TrigJetHypoToolConfig_fastreduction::m_conditionMakers
private
Initial value:
{
this, "conditionMakers", {}, "hypo tree Condition builder AlgTools"}

Definition at line 53 of file TrigJetHypoToolConfig_fastreduction.h.

◆ m_filterMakerInds

Gaudi::Property<std::vector<int> > TrigJetHypoToolConfig_fastreduction::m_filterMakerInds
private
Initial value:
{
this, "filterMakerInds", {}, "Indicies into m_filterMakers"
}

Definition at line 63 of file TrigJetHypoToolConfig_fastreduction.h.

◆ m_filterMakers

ToolHandleArray<ITrigHypoJetVectorFilterConfig> TrigJetHypoToolConfig_fastreduction::m_filterMakers
private
Initial value:
{
this, "filterMakers", {}, "AlgTools that construct Condition filters"
}

Definition at line 56 of file TrigJetHypoToolConfig_fastreduction.h.

◆ m_leafNodes

Gaudi::Property<std::vector<int> > TrigJetHypoToolConfig_fastreduction::m_leafNodes
private
Initial value:
{
this, "leafVector", {}, "node ids for leaf nodes"}

Definition at line 70 of file TrigJetHypoToolConfig_fastreduction.h.

◆ m_treeVec

Gaudi::Property<std::vector<std::size_t> > TrigJetHypoToolConfig_fastreduction::m_treeVec
private
Initial value:
{
this, "treeVector", {}, "integer sequence representation of jet hypo tree"}

Definition at line 67 of file TrigJetHypoToolConfig_fastreduction.h.


The documentation for this class was generated from the following files:
TrigJetHypoToolConfig_fastreduction::getRepeatedConditions
ConditionPtrs getRepeatedConditions() const
Definition: TrigJetHypoToolConfig_fastreduction.cxx:62
TrigJetHypoToolConfig_fastreduction::m_treeVec
Gaudi::Property< std::vector< std::size_t > > m_treeVec
Definition: TrigJetHypoToolConfig_fastreduction.h:67
Tree
Definition: Tree.h:18
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
TrigJetHypoToolConfig_fastreduction::m_filterMakerInds
Gaudi::Property< std::vector< int > > m_filterMakerInds
Definition: TrigJetHypoToolConfig_fastreduction.h:63
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
FastReductionMatcher
Definition: FastReductionMatcher.h:23
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigJetHypoToolConfig_fastreduction::m_filterMakers
ToolHandleArray< ITrigHypoJetVectorFilterConfig > m_filterMakers
Definition: TrigJetHypoToolConfig_fastreduction.h:56
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
TrigJetHypoToolConfig_fastreduction::getFilters
std::vector< FilterPtr > getFilters() const
Definition: TrigJetHypoToolConfig_fastreduction.cxx:101
ConditionPtrs
std::vector< ConditionPtr > ConditionPtrs
Definition: RepeatedConditionsDefs.h:20
TrigJetHypoToolConfig_fastreduction::m_conditionMakers
ToolHandleArray< ITrigJetRepeatedConditionConfig > m_conditionMakers
Definition: TrigJetHypoToolConfig_fastreduction.h:53
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78