ATLAS Offline Software
Loading...
Searching...
No Matches
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}
ToolHandleArray< ITrigHypoJetVectorFilterConfig > m_filterMakers

◆ 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(std::move(conditions),
134 std::move(filters),
136 Tree(m_treeVec));
137 matcher.reset(fpm);
138 return matcher;
139}
Gaudi::Property< std::vector< int > > m_filterMakerInds
Gaudi::Property< std::vector< std::size_t > > m_treeVec

◆ 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}
std::vector< ConditionPtr > ConditionPtrs
ToolHandleArray< ITrigJetRepeatedConditionConfig > m_conditionMakers

◆ 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 " +
42 std::to_string( m_conditionMakers.size()) +
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 " +
50 std::to_string( m_conditionMakers.size()) +
51 " no. of filter inds " +
52 std::to_string( m_filterMakerInds.size()) +
53 " must be equal" );
54 return StatusCode::FAILURE;
55 }
56
57 return StatusCode::SUCCESS;
58}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)

◆ 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 47 of file TrigJetHypoToolConfig_fastreduction.h.

47 {
48 this, "conditionMakers", {}, "hypo tree Condition builder AlgTools"};

◆ m_filterMakerInds

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

Definition at line 57 of file TrigJetHypoToolConfig_fastreduction.h.

57 {
58 this, "filterMakerInds", {}, "Indicies into m_filterMakers"
59 };

◆ m_filterMakers

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

Definition at line 50 of file TrigJetHypoToolConfig_fastreduction.h.

50 {
51 this, "filterMakers", {}, "AlgTools that construct Condition filters"
52 };

◆ m_leafNodes

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

Definition at line 64 of file TrigJetHypoToolConfig_fastreduction.h.

64 {
65 this, "leafVector", {}, "node ids for leaf nodes"};

◆ 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 61 of file TrigJetHypoToolConfig_fastreduction.h.

61 {
62 this, "treeVector", {}, "integer sequence representation of jet hypo tree"};

The documentation for this class was generated from the following files: