ATLAS Offline Software
NeutralParticle_v1.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef XAODTRACKING_VERSIONS_NEUTRALPARTICLE_V1_H
8 #define XAODTRACKING_VERSIONS_NEUTRALPARTICLE_V1_H
9 
10 #include "CxxUtils/CachedValue.h"
11 
12 // Athena includes
13 #include "AthLinks/ElementLink.h"
15 
16 // xAOD include(s):
17 #include "xAODBase/IParticle.h"
20 
21 #include <bitset>
22 #include <stdint.h>
23 
24 #ifndef XAOD_ANALYSIS
26 #endif // not XAOD_ANALYSIS
27 
28 // ROOT include(s):
29 #include "Math/Vector4D.h"
30 
31 //Already include the DataVector specialization for this type
33 
34 namespace xAOD {
39 
40  class NeutralParticle_v1 : public IParticle {
41 
42  public:
43 
52 
56  virtual double pt() const;
58  virtual double eta() const;
60  virtual double phi() const;
62  virtual double m() const;
64  virtual double e() const;
66  virtual double rapidity() const;
67 
70 
72  virtual FourMom_t p4() const;
73 
75  typedef ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > GenVecFourMom_t;
76 
78  GenVecFourMom_t genvecP4() const;
79 
81  virtual Type::ObjectType type() const;
83 
92 
94  float d0() const;
96  float z0() const;
98  float phi0() const;
100  float theta() const;
102  float oneOverP() const;
106  const DefiningParameters_t definingParameters() const;
108  const ParametersCovMatrix_t definingParametersCovMatrix() const;
110  const std::vector<float>& definingParametersCovMatrixVec() const;
111 
113  void setDefiningParameters(float d0, float z0, float phi0, float theta, float qOverP);
115  void setDefiningParametersCovMatrix(const ParametersCovMatrix_t& cov);
117  void setDefiningParametersCovMatrixVec(const std::vector<float>& cov);
118 
120  float vx() const;
122  float vy() const;
124  float vz() const;
126  void setParametersOrigin(float x, float y, float z);
127 
128 #ifndef XAOD_ANALYSIS
129  const Trk::NeutralPerigee& perigeeParameters() const;
135 #endif // not XAOD_ANALYSIS
136 
138  void resetCache();
139 
140  private:
141 #if ( ! defined(XAOD_ANALYSIS) ) && ( ! defined(__CLING__) )
145 #endif // not XAOD_ANALYSIS and not __CLING__
146 
147  }; // class NeutralParticle_v1
148 
149 } // namespace xAOD
150 
151 // Finish declaration of IParticle as a base class of NeutralParticle_v1
153 
154 
155 #endif // XAODTRACKING_VERSIONS_NEUTRALPARTICLE_V1_H
VertexContainerFwd.h
xAOD::NeutralParticle_v1::setParametersOrigin
void setParametersOrigin(float x, float y, float z)
Set the origin for the parameters.
Definition: NeutralParticle_v1.cxx:176
IParticle.h
xAOD::NeutralParticle_v1::FourMom_t
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
Definition: NeutralParticle_v1.h:69
xAOD::NeutralParticle_v1::definingParameters
const DefiningParameters_t definingParameters() const
Returns a SVector of the Perigee track parameters.
Definition: NeutralParticle_v1.cxx:103
xAOD::NeutralParticle_v1::definingParametersCovMatrix
const ParametersCovMatrix_t definingParametersCovMatrix() const
Returns the 5x5 symmetric matrix containing the defining parameters covariance matrix.
Definition: NeutralParticle_v1.cxx:148
xAOD::NeutralParticle_v1::perigeeParameters
const Trk::NeutralPerigee & perigeeParameters() const
Returns the Trk::NeutralPerigee track parameters.
Definition: NeutralParticle_v1.cxx:188
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
xAOD::NeutralParticle_v1::definingParametersCovMatrixVec
const std::vector< float > & definingParametersCovMatrixVec() const
Returns the vector of the covariance values - 15 elements.
Definition: NeutralParticle_v1.cxx:162
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
ParticleTest.tp
tp
Definition: ParticleTest.py:25
xAOD::NeutralParticle_v1::NeutralParticle_v1
NeutralParticle_v1()
Default constructor.
Definition: NeutralParticle_v1.cxx:19
xAOD::NeutralParticle_v1::m
virtual double m() const
The invariant mass of the particle..
Definition: NeutralParticle_v1.cxx:53
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
NeutralParameters.h
xAOD::NeutralParticle_v1::z0
float z0() const
Returns the parameter.
xAOD::NeutralParticle_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
Definition: NeutralParticle_v1.cxx:42
InDetAccessor::qOverP
@ qOverP
perigee
Definition: InDetAccessor.h:35
xAOD::NeutralParticle_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: NeutralParticle_v1.cxx:46
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
xAOD::NeutralParticle_v1::e
virtual double e() const
The total energy of the particle.
x
#define x
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:68
xAOD::NeutralParticle_v1::phi0
float phi0() const
Returns the parameter, which has range to .
xAOD::NeutralParticle_v1::setDefiningParametersCovMatrix
void setDefiningParametersCovMatrix(const ParametersCovMatrix_t &cov)
Set the defining parameters covariance matrix.
Definition: NeutralParticle_v1.cxx:133
xAOD::NeutralParticle_v1::d0
float d0() const
Returns the parameter.
xAOD::NeutralParticle_v1::setDefiningParameters
void setDefiningParameters(float d0, float z0, float phi0, float theta, float qOverP)
Set the defining parameters.
Definition: NeutralParticle_v1.cxx:109
xAOD::NeutralParticle_v1::~NeutralParticle_v1
~NeutralParticle_v1()
Destructor.
Definition: NeutralParticle_v1.cxx:39
xAOD::NeutralParticle_v1::setDefiningParametersCovMatrixVec
void setDefiningParametersCovMatrixVec(const std::vector< float > &cov)
Set the defining parameters covariance matrix using a length 15 vector.
Definition: NeutralParticle_v1.cxx:167
z
#define z
xAOD::NeutralParticle_v1::vy
float vy() const
The y origin for the parameters.
xAOD::NeutralParticle_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: NeutralParticle_v1.cxx:76
xAOD::NeutralParticle_v1::rapidity
virtual double rapidity() const
The true rapidity (y) of the particle.
Definition: NeutralParticle_v1.cxx:60
CxxUtils::CachedValue
Cached value with atomic update.
Definition: CachedValue.h:55
xAOD::NeutralParticle_v1::resetCache
void resetCache()
Reset the internal cache of the object.
Definition: NeutralParticle_v1.cxx:215
xAOD::NeutralParticle_v1::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : GenVector form.
Definition: NeutralParticle_v1.cxx:64
xAOD::NeutralParticle_v1::theta
float theta() const
Returns the parameter, which has range 0 to .
xAOD::NeutralParticle_v1::vz
float vz() const
The z origin for the parameters.
xAOD::NeutralParticle_v1::oneOverP
float oneOverP() const
Returns the parameter.
xAOD::NeutralParticle_v1::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double > > GenVecFourMom_t
Base 4 Momentum type for TrackParticle.
Definition: NeutralParticle_v1.h:75
CachedValue.h
Cached value with atomic update.
xAOD::NeutralParticle_v1::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
Definition: NeutralParticle_v1.cxx:92
DATAVECTOR_BASE_FIN
DATAVECTOR_BASE_FIN(xAOD::NeutralParticle_v1, xAOD::IParticle)
xAOD::NeutralParticle_v1::vx
float vx() const
The x origin for the parameters.
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
NeutralParticleContainerFwd.h
y
#define y
xAOD::NeutralParticle_v1::operator=
NeutralParticle_v1 & operator=(const NeutralParticle_v1 &tp)
Assignment operator. This can involve creating and copying an Auxilary store, and so should be used s...
Definition: NeutralParticle_v1.cxx:28
xAOD::NeutralParticle_v1::m_perigeeParameters
CxxUtils::CachedValue< Trk::NeutralPerigee > m_perigeeParameters
Cached NeutralPerigee, built from this object.
Definition: NeutralParticle_v1.h:144
xAOD::NeutralParticle_v1
Class describing a NeutralParticle.
Definition: NeutralParticle_v1.h:40
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition: ObjectType.h:32
TrackingPrimitives.h
xAOD::NeutralParticle_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.