ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMultiTrkState< CONTAINER > Class Template Reference

State class for TrigMultiTrkComboHypo algorithm. More...

#include <TrigMultiTrkComboHypo.h>

Inheritance diagram for TrigMultiTrkState< CONTAINER >:
Collaboration diagram for TrigMultiTrkState< CONTAINER >:

Classes

struct  LEPTON

Public Member Functions

 TrigMultiTrkState ()=delete
 TrigMultiTrkState (const EventContext &context, const TrigCompositeUtils::DecisionContainer &previousDecisions, TrigCompositeUtils::DecisionContainer &decisions, xAOD::TrigBphysContainer *trigBphysCollection=nullptr, const InDet::BeamSpotData *beamSpotData=nullptr)
virtual ~TrigMultiTrkState ()=default
std::vector< LEPTON > & leptons ()
virtual std::vector< ElementLink< TrigCompositeUtils::DecisionContainer > > & getDecisionLinks (size_t i) override final
virtual TrigCompositeUtils::DecisionIDContainergetDecisionIDs (size_t i) override final
virtual void addTrigBphysObject (xAOD::TrigBphys *trigBphysObject, const std::vector< size_t > &legIndices) override final
virtual bool checkMultiplicity (const std::vector< int > &legMultiplicity, const std::vector< HLT::Identifier > &legDecisionIDs) const override final
void setEventAccepted (bool flag=true)
int isEventAccepted () const
std::vector< std::vector< size_t > > & trigBphysLegIndices ()
std::vector< size_t > & getTrigBphysLegIndices (size_t idx)
std::vector< ElementLink< xAOD::TrackParticleContainer > > & tracks ()
const EventContext & context () const
const TrigCompositeUtils::DecisionContainerpreviousDecisions () const
TrigCompositeUtils::DecisionContainerdecisions ()
xAOD::TrigBphysContainertrigBphysCollection ()
void setTrigBphysCollection (xAOD::TrigBphysContainer *trigBphysCollection)
Amg::Vector3D beamSpotPosition () const
const xAOD::VertexbeamSpot () const

Private Attributes

std::vector< LEPTONm_leptons
int m_isEventAccepted
std::vector< std::vector< size_t > > m_trigBphysLegIndices
std::vector< ElementLink< xAOD::TrackParticleContainer > > m_tracks
const EventContext * m_context
const TrigCompositeUtils::DecisionContainerm_previousDecisions
TrigCompositeUtils::DecisionContainerm_decisions
xAOD::TrigBphysContainerm_trigBphysCollection
const InDet::BeamSpotDatam_beamSpotData
xAOD::Vertex m_beamSpotVertex

Detailed Description

template<typename CONTAINER>
class TrigMultiTrkState< CONTAINER >

State class for TrigMultiTrkComboHypo algorithm.

Definition at line 89 of file TrigMultiTrkComboHypo.h.

Constructor & Destructor Documentation

◆ TrigMultiTrkState() [1/2]

template<typename CONTAINER>
TrigMultiTrkState< CONTAINER >::TrigMultiTrkState ( )
delete

◆ TrigMultiTrkState() [2/2]

template<typename CONTAINER>
TrigMultiTrkState< CONTAINER >::TrigMultiTrkState ( const EventContext & context,
const TrigCompositeUtils::DecisionContainer & previousDecisions,
TrigCompositeUtils::DecisionContainer & decisions,
xAOD::TrigBphysContainer * trigBphysCollection = nullptr,
const InDet::BeamSpotData * beamSpotData = nullptr )
inline

Definition at line 92 of file TrigMultiTrkComboHypo.h.

TrigCompositeUtils::DecisionContainer & decisions()
const TrigCompositeUtils::DecisionContainer & previousDecisions() const
xAOD::TrigBphysContainer & trigBphysCollection()
const EventContext & context() const
TrigMultiTrkStateBase()=delete
State class for TrigMultiTrkComboHypo algorithm.

◆ ~TrigMultiTrkState()

template<typename CONTAINER>
virtual TrigMultiTrkState< CONTAINER >::~TrigMultiTrkState ( )
virtualdefault

Member Function Documentation

◆ addTrigBphysObject()

template<typename CONTAINER>
virtual void TrigMultiTrkState< CONTAINER >::addTrigBphysObject ( xAOD::TrigBphys * trigBphysObject,
const std::vector< size_t > & legIndices )
inlinefinaloverridevirtual

Implements TrigMultiTrkStateBase.

Definition at line 113 of file TrigMultiTrkComboHypo.h.

113 {
115 trigBphysLegIndices().push_back(legIndices);
116 }
value_type push_back(value_type pElem)
Add an element to the end of the collection.
std::vector< std::vector< size_t > > & trigBphysLegIndices()

◆ beamSpot()

const xAOD::Vertex & ITrigBphysState::beamSpot ( ) const
inlineinherited

Definition at line 48 of file ITrigBphysState.h.

48{ return m_beamSpotVertex; }
xAOD::Vertex m_beamSpotVertex

◆ beamSpotPosition()

Amg::Vector3D ITrigBphysState::beamSpotPosition ( ) const
inlineinherited

Definition at line 47 of file ITrigBphysState.h.

47{ return (m_beamSpotData ? m_beamSpotData->beamPos() : Amg::Vector3D::Zero(3)); }
const InDet::BeamSpotData * m_beamSpotData

◆ checkMultiplicity()

template<typename CONTAINER>
virtual bool TrigMultiTrkState< CONTAINER >::checkMultiplicity ( const std::vector< int > & legMultiplicity,
const std::vector< HLT::Identifier > & legDecisionIDs ) const
inlinefinaloverridevirtual

Implements TrigMultiTrkStateBase.

Definition at line 117 of file TrigMultiTrkComboHypo.h.

117 {
118 if (legMultiplicity.size() == 1) return true;
119 int N = std::accumulate(legMultiplicity.begin(), legMultiplicity.end(), 0);
120 int n = 0;
121 for (size_t i = 0; i < m_leptons.size(); ++i) {
122 for (size_t j = 0; j < legMultiplicity.size(); ++j) {
123 if (TrigCompositeUtils::passed(legDecisionIDs.at(j).numeric(), m_leptons.at(i).decisionIDs)) {
124 n++;
125 break;
126 }
127 }
128 }
129 return (n >= N);
130 }
std::vector< LEPTON > m_leptons

◆ context()

const EventContext & ITrigBphysState::context ( ) const
inlineinherited

Definition at line 42 of file ITrigBphysState.h.

42{ return *m_context; }
const EventContext * m_context

◆ decisions()

TrigCompositeUtils::DecisionContainer & ITrigBphysState::decisions ( )
inlineinherited

Definition at line 44 of file ITrigBphysState.h.

44{ return *m_decisions; }
TrigCompositeUtils::DecisionContainer * m_decisions

◆ getDecisionIDs()

template<typename CONTAINER>
virtual TrigCompositeUtils::DecisionIDContainer & TrigMultiTrkState< CONTAINER >::getDecisionIDs ( size_t i)
inlinefinaloverridevirtual

Implements TrigMultiTrkStateBase.

Definition at line 110 of file TrigMultiTrkComboHypo.h.

110 {
111 return m_leptons.at(i).decisionIDs;
112 }

◆ getDecisionLinks()

template<typename CONTAINER>
virtual std::vector< ElementLink< TrigCompositeUtils::DecisionContainer > > & TrigMultiTrkState< CONTAINER >::getDecisionLinks ( size_t i)
inlinefinaloverridevirtual

Implements TrigMultiTrkStateBase.

Definition at line 107 of file TrigMultiTrkComboHypo.h.

107 {
108 return m_leptons.at(i).decisionLinks;
109 }

◆ getTrigBphysLegIndices()

std::vector< size_t > & TrigMultiTrkStateBase::getTrigBphysLegIndices ( size_t idx)
inlineinherited

Definition at line 78 of file TrigMultiTrkComboHypo.h.

◆ isEventAccepted()

int TrigMultiTrkStateBase::isEventAccepted ( ) const
inlineinherited

Definition at line 76 of file TrigMultiTrkComboHypo.h.

◆ leptons()

template<typename CONTAINER>
std::vector< LEPTON > & TrigMultiTrkState< CONTAINER >::leptons ( )
inline

Definition at line 106 of file TrigMultiTrkComboHypo.h.

106{ return m_leptons; }

◆ previousDecisions()

const TrigCompositeUtils::DecisionContainer & ITrigBphysState::previousDecisions ( ) const
inlineinherited

Definition at line 43 of file ITrigBphysState.h.

43{ return *m_previousDecisions; }
const TrigCompositeUtils::DecisionContainer * m_previousDecisions

◆ setEventAccepted()

void TrigMultiTrkStateBase::setEventAccepted ( bool flag = true)
inlineinherited

Definition at line 75 of file TrigMultiTrkComboHypo.h.

75{ m_isEventAccepted = (flag ? 1 : 0); }
bool flag
Definition master.py:29

◆ setTrigBphysCollection()

void ITrigBphysState::setTrigBphysCollection ( xAOD::TrigBphysContainer * trigBphysCollection)
inlineinherited

Definition at line 46 of file ITrigBphysState.h.

xAOD::TrigBphysContainer * m_trigBphysCollection

◆ tracks()

std::vector< ElementLink< xAOD::TrackParticleContainer > > & TrigMultiTrkStateBase::tracks ( )
inlineinherited

Definition at line 79 of file TrigMultiTrkComboHypo.h.

79{ return m_tracks; }
std::vector< ElementLink< xAOD::TrackParticleContainer > > m_tracks

◆ trigBphysCollection()

xAOD::TrigBphysContainer & ITrigBphysState::trigBphysCollection ( )
inlineinherited

Definition at line 45 of file ITrigBphysState.h.

45{ return *m_trigBphysCollection; }

◆ trigBphysLegIndices()

std::vector< std::vector< size_t > > & TrigMultiTrkStateBase::trigBphysLegIndices ( )
inlineinherited

Definition at line 77 of file TrigMultiTrkComboHypo.h.

77{ return m_trigBphysLegIndices; }

Member Data Documentation

◆ m_beamSpotData

const InDet::BeamSpotData* ITrigBphysState::m_beamSpotData
privateinherited

Definition at line 55 of file ITrigBphysState.h.

◆ m_beamSpotVertex

xAOD::Vertex ITrigBphysState::m_beamSpotVertex
privateinherited

Definition at line 56 of file ITrigBphysState.h.

◆ m_context

const EventContext* ITrigBphysState::m_context
privateinherited

Definition at line 51 of file ITrigBphysState.h.

◆ m_decisions

TrigCompositeUtils::DecisionContainer* ITrigBphysState::m_decisions
privateinherited

Definition at line 53 of file ITrigBphysState.h.

◆ m_isEventAccepted

int TrigMultiTrkStateBase::m_isEventAccepted
privateinherited

Definition at line 82 of file TrigMultiTrkComboHypo.h.

◆ m_leptons

template<typename CONTAINER>
std::vector<LEPTON> TrigMultiTrkState< CONTAINER >::m_leptons
private

Definition at line 133 of file TrigMultiTrkComboHypo.h.

◆ m_previousDecisions

const TrigCompositeUtils::DecisionContainer* ITrigBphysState::m_previousDecisions
privateinherited

Definition at line 52 of file ITrigBphysState.h.

◆ m_tracks

std::vector<ElementLink<xAOD::TrackParticleContainer> > TrigMultiTrkStateBase::m_tracks
privateinherited

Definition at line 84 of file TrigMultiTrkComboHypo.h.

◆ m_trigBphysCollection

xAOD::TrigBphysContainer* ITrigBphysState::m_trigBphysCollection
privateinherited

Definition at line 54 of file ITrigBphysState.h.

◆ m_trigBphysLegIndices

std::vector<std::vector<size_t> > TrigMultiTrkStateBase::m_trigBphysLegIndices
privateinherited

Definition at line 83 of file TrigMultiTrkComboHypo.h.


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