ATLAS Offline Software
Loading...
Searching...
No Matches
AFPProton_v1.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2/*
3 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
4*/
5
14
15#ifndef XAODFORWARD_VERSIONS_AFPPROTON_V1_H
16#define XAODFORWARD_VERSIONS_AFPPROTON_V1_H
17
18// EDM include(s):
19#include "AthLinks/ElementLink.h"
20
21// IParticle include:
22#include "xAODBase/IParticle.h"
23
24// Local includes(s):
27
28namespace xAOD {
29
36 class AFPProton_v1 : public IParticle {
37
38 public:
41
44
47
49 virtual double pt() const;
51 virtual double eta() const;
53 virtual double phi() const;
55 virtual double m() const;
57 virtual double e() const;
59 virtual double rapidity() const;
60
63
65 virtual FourMom_t p4() const;
66
68 virtual Type::ObjectType type() const;
69
71
74
76 float px() const;
78 float py() const;
80 float pz() const;
81
83 void setPxPyPzE( float px, float py, float pz, float e );
85 void setPx( float px );
87 void setPy( float py );
89 void setPz( float pz );
91 void setE( float e );
92
94
96 float chi2() const;
98 void setChi2( float chi2 );
99
101 int side() const;
103 void setSide( int side );
104
106 int methodID() const;
109
112
114 const std::vector< AFPTrackLink_t >& afpTrackLinks() const;
116 void setAFPTrackLinks( const std::vector< AFPTrackLink_t >& newTracksVector );
118 void addAFPTrackLink( const AFPTrackLink_t& newTrack );
119
121 size_t nTracks() const;
123 const AFPTrack* track( size_t index ) const;
124
126
127 }; // class AFPProton_v1
128
129} // namespace xAOD
130
131// Declare the inheritance of the type to StoreGate and DataVector:
132#include "xAODCore/BaseInfo.h"
136
137#endif // XAODFORWARD_VERSIONS_AFPPROTON_V1_H
#define SG_BASE(D, B)
Declare that class D derives from class B.
An STL vector of pointers that by default owns its pointed-to elements.
#define DATAVECTOR_BASE(T, BASE)
Declare base class info to DataVector.
Definition DataVector.h:649
Class representing a proton reconstructed in AFP.
void setPxPyPzE(float px, float py, float pz, float e)
Set the 4-momentum.
virtual double pt() const
The transverse momentum ( ) of the particle.
float pz() const
Get the z-component of the momentum.
void setAFPTrackLinks(const std::vector< AFPTrackLink_t > &newTracksVector)
Set vector of links to tracks used for proton reconstruction.
void setE(float e)
Set the energy.
AFPProton_v1()
Default constructor.
void setPz(float pz)
Set the z-component of the momentum.
virtual double phi() const
The azimuthal angle ( ) of the particle (has range to .)
int side() const
Get the ATLAS side on which the proton was measured.
virtual double m() const
The invariant mass of the particle.
virtual double rapidity() const
The true rapidity (y) of the particle.
float chi2() const
Get the value of function.
void addAFPTrackLink(const AFPTrackLink_t &newTrack)
Add a link to a tracks used to reconstruct the proton.
void setPx(float px)
Set the x-component of the momentum.
void setMethodID(int methodID)
Set the ID of method used to reconstruct the proton.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
void setSide(int side)
Set the ATLAS side on which the proton was measured.
float py() const
Get the y-component of the momentum.
void setChi2(float chi2)
Set the value of function.
virtual double eta() const
The pseudorapidity ( ) of the particle.
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
virtual double e() const
The total energy of the particle.
const std::vector< AFPTrackLink_t > & afpTrackLinks() const
Get vector of links to tracks that were used to reconstruct the proton.
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
void setPy(float py)
Set the y-component of the momentum.
float px() const
Get the x-component of the momentum.
ElementLink< AFPTrackContainer > AFPTrackLink_t
Type of the track links.
size_t nTracks() const
Get the number of tracks that were used to reconstruct the proton.
int methodID() const
Get the ID of method used to reconstruct the proton.
Class providing the definition of the 4-vector interface.
IParticle()=default
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition index.py:1
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
AFPTrack_v2 AFPTrack
Definition AFPTrack.h:12