ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigBphysHypo
src
ITrigBphysState.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIG_ITrigBphysState_H
6
#define TRIG_ITrigBphysState_H
7
8
#include "
xAODTrigger/TrigCompositeContainer.h
"
9
#include "
xAODTrigBphys/TrigBphysContainer.h
"
10
#include "
BeamSpotConditionsData/BeamSpotData.h
"
11
12
13
class
EventContext;
14
15
20
21
class
ITrigBphysState
{
22
public
:
23
ITrigBphysState
() =
delete
;
24
ITrigBphysState
(
const
EventContext&
context
,
25
const
TrigCompositeUtils::DecisionContainer
&
previousDecisions
,
26
TrigCompositeUtils::DecisionContainer
&
decisions
,
27
xAOD::TrigBphysContainer
*
trigBphysCollection
=
nullptr
,
28
const
InDet::BeamSpotData
* beamSpotData =
nullptr
)
29
:
m_context
(&
context
),
30
m_previousDecisions
(&
previousDecisions
),
31
m_decisions
(&
decisions
),
32
m_trigBphysCollection
(
trigBphysCollection
),
33
m_beamSpotData
(beamSpotData) {
34
m_beamSpotVertex
.makePrivateStore();
35
if
(
m_beamSpotData
) {
36
m_beamSpotVertex
.setPosition(
m_beamSpotData
->beamVtx().position());
37
m_beamSpotVertex
.setCovariancePosition(
m_beamSpotData
->beamVtx().covariancePosition());
38
}
39
}
40
virtual
~ITrigBphysState
() =
default
;
41
42
inline
const
EventContext&
context
()
const
{
return
*
m_context
; }
43
inline
const
TrigCompositeUtils::DecisionContainer
&
previousDecisions
()
const
{
return
*
m_previousDecisions
; }
44
inline
TrigCompositeUtils::DecisionContainer
&
decisions
() {
return
*
m_decisions
; }
45
inline
xAOD::TrigBphysContainer
&
trigBphysCollection
() {
return
*
m_trigBphysCollection
; }
46
void
setTrigBphysCollection
(
xAOD::TrigBphysContainer
*
trigBphysCollection
) {
m_trigBphysCollection
=
trigBphysCollection
; }
47
Amg::Vector3D
beamSpotPosition
()
const
{
return
(
m_beamSpotData
?
m_beamSpotData
->beamPos() : Amg::Vector3D::Zero(3)); }
48
const
xAOD::Vertex
&
beamSpot
()
const
{
return
m_beamSpotVertex
; }
49
50
51
52
private
:
53
const
EventContext*
m_context
;
54
const
TrigCompositeUtils::DecisionContainer
*
m_previousDecisions
;
55
TrigCompositeUtils::DecisionContainer
*
m_decisions
;
56
xAOD::TrigBphysContainer
*
m_trigBphysCollection
;
57
const
InDet::BeamSpotData
*
m_beamSpotData
;
58
xAOD::Vertex
m_beamSpotVertex
;
59
};
60
61
62
inline
ElementLink<xAOD::TrackParticleContainer>
linkTrack
(
const
xAOD::TrackParticle
* trk){
63
if
(!trk) {
return
{};}
64
return
ElementLink<xAOD::TrackParticleContainer>
{*
static_cast<
const
xAOD::TrackParticleContainer
*
>
(trk->container()),
65
trk->index()};
66
}
67
68
#endif
// TRIG_ITrigBphysState_H
BeamSpotData.h
linkTrack
ElementLink< xAOD::TrackParticleContainer > linkTrack(const xAOD::TrackParticle *trk)
Definition
ITrigBphysState.h:62
TrigBphysContainer.h
TrigCompositeContainer.h
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
ITrigBphysState::m_context
const EventContext * m_context
Definition
ITrigBphysState.h:53
ITrigBphysState::decisions
TrigCompositeUtils::DecisionContainer & decisions()
Definition
ITrigBphysState.h:44
ITrigBphysState::setTrigBphysCollection
void setTrigBphysCollection(xAOD::TrigBphysContainer *trigBphysCollection)
Definition
ITrigBphysState.h:46
ITrigBphysState::ITrigBphysState
ITrigBphysState()=delete
ITrigBphysState::~ITrigBphysState
virtual ~ITrigBphysState()=default
ITrigBphysState::m_previousDecisions
const TrigCompositeUtils::DecisionContainer * m_previousDecisions
Definition
ITrigBphysState.h:54
ITrigBphysState::previousDecisions
const TrigCompositeUtils::DecisionContainer & previousDecisions() const
Definition
ITrigBphysState.h:43
ITrigBphysState::beamSpot
const xAOD::Vertex & beamSpot() const
Definition
ITrigBphysState.h:48
ITrigBphysState::m_beamSpotData
const InDet::BeamSpotData * m_beamSpotData
Definition
ITrigBphysState.h:57
ITrigBphysState::m_trigBphysCollection
xAOD::TrigBphysContainer * m_trigBphysCollection
Definition
ITrigBphysState.h:56
ITrigBphysState::m_beamSpotVertex
xAOD::Vertex m_beamSpotVertex
Definition
ITrigBphysState.h:58
ITrigBphysState::trigBphysCollection
xAOD::TrigBphysContainer & trigBphysCollection()
Definition
ITrigBphysState.h:45
ITrigBphysState::beamSpotPosition
Amg::Vector3D beamSpotPosition() const
Definition
ITrigBphysState.h:47
ITrigBphysState::context
const EventContext & context() const
Definition
ITrigBphysState.h:42
ITrigBphysState::ITrigBphysState
ITrigBphysState(const EventContext &context, const TrigCompositeUtils::DecisionContainer &previousDecisions, TrigCompositeUtils::DecisionContainer &decisions, xAOD::TrigBphysContainer *trigBphysCollection=nullptr, const InDet::BeamSpotData *beamSpotData=nullptr)
Definition
ITrigBphysState.h:24
ITrigBphysState::m_decisions
TrigCompositeUtils::DecisionContainer * m_decisions
Definition
ITrigBphysState.h:55
InDet::BeamSpotData
Definition
BeamSpotData.h:21
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
TrigCompositeUtils::DecisionContainer
xAOD::TrigCompositeContainer DecisionContainer
Definition
TrigCompositeContainer.h:21
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
xAOD::TrackParticleContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticleContainer.h:14
xAOD::TrigBphysContainer
TrigBphysContainer_v1 TrigBphysContainer
Definition
TrigBphysContainer.h:12
Generated on
for ATLAS Offline Software by
1.17.0