ATLAS Offline Software
TrackCaloCluster_v1.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 /*
3  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4 */
5 // $Id: TrackCaloCluster_v1.h $
6 #ifndef XAODPFLOW_VERSIONS_TRACKCALOCLUSTER_V1_H
7 #define XAODPFLOW_VERSIONS_TRACKCALOCLUSTER_V1_H
8 
9 // Core include(s):
11 #include "AthLinks/ElementLink.h"
12 
13 // xAOD include(s):
14 #include "xAODBase/IParticle.h"
17 
18 namespace xAOD {
25  class TrackCaloCluster_v1 : public IParticle {
26 
27  public:
28 
30  enum Taste { Charged = 0, Neutral, Combined };
31 
32  // Default Constructor
34  // Destuctor
36 
40  virtual double pt() const;
42  virtual double eta() const;
44  virtual double phi() const;
46  virtual double m() const;
48  virtual double e() const;
50  virtual double rapidity() const;
52  virtual int taste() const;
53 
56 
58  virtual FourMom_t p4() const;
59 
61  typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > GenVecFourMom_t;
62 
64  GenVecFourMom_t genvecP4() const;
65 
67  virtual Type::ObjectType type() const;
69 
75  void setParameters(float pt, float eta, float phi, float m, TrackCaloCluster_v1::Taste taste,
79 
89  const std::vector< ElementLink<xAOD::CaloClusterContainer> > & caloClusterLinks() const;
93 
94  };
95 
96 }
97 
98 #endif // XAODPFLOW_VERSIONS_TRACKCALOCLUSTER_V1_H
xAOD::TrackCaloCluster_v1::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type (GenVector version)
Definition: TrackCaloCluster_v1.h:61
xAOD::TrackCaloCluster_v1::Charged
@ Charged
Definition: TrackCaloCluster_v1.h:30
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
IParticle.h
xAOD::TrackCaloCluster_v1
Class describing a TrackCaloCluster.
Definition: TrackCaloCluster_v1.h:25
xAOD::TrackCaloCluster_v1::setCaloClusterLinks
void setCaloClusterLinks(const std::vector< ElementLink< xAOD::CaloClusterContainer > > &caloClusterLinks)
Set the links to the CaloClusters.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::TrackCaloCluster_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: TrackCaloCluster_v1.cxx:36
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
xAOD::TrackCaloCluster_v1::trackParticle
const xAOD::TrackParticle * trackParticle() const
Returns a pointer (which can be NULL) to the xAOD::TrackParticle associated with this TrackCaloCluste...
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:68
xAOD::TrackCaloCluster_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
xAOD::TrackCaloCluster_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
xAOD::TrackCaloCluster_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle (has range to .)
xAOD::TrackCaloCluster_v1::Combined
@ Combined
Definition: TrackCaloCluster_v1.h:30
xAOD::TrackCaloCluster_v1::setTrackParticleLink
void setTrackParticleLink(const ElementLink< xAOD::TrackParticleContainer > &particle)
Set the link to the TrackParticle.
xAOD::TrackCaloCluster_v1::Neutral
@ Neutral
Definition: TrackCaloCluster_v1.h:30
xAOD::TrackCaloCluster_v1::m
virtual double m() const
The invariant mass of the particle..
xAOD::TrackCaloCluster_v1::e
virtual double e() const
The total energy of the particle.
Definition: TrackCaloCluster_v1.cxx:22
xAOD::TrackCaloCluster_v1::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : GenVector version.
Definition: TrackCaloCluster_v1.cxx:42
xAOD::TrackCaloCluster_v1::caloClusterLinks
const std::vector< ElementLink< xAOD::CaloClusterContainer > > & caloClusterLinks() const
Returns a vector to the links (which can be invalid) to the xAOD::CaloClusters associated with this T...
xAOD::TrackCaloCluster_v1::taste
virtual int taste() const
The taste of the particle.
xAOD::TrackCaloCluster_v1::trackParticleLink
const ElementLink< xAOD::TrackParticleContainer > & trackParticleLink() const
xAOD::TrackCaloCluster_v1::rapidity
virtual double rapidity() const
The true rapidity (y) of the particle.
Definition: TrackCaloCluster_v1.cxx:26
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
xAOD::TrackCaloCluster_v1::Taste
Taste
Type of TrackCaloCluster - Charged - Neutral - Combined.
Definition: TrackCaloCluster_v1.h:30
xAOD::TrackCaloCluster_v1::~TrackCaloCluster_v1
~TrackCaloCluster_v1()
Definition: TrackCaloCluster_v1.cxx:20
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
CaloClusterContainer.h
xAOD::TrackCaloCluster_v1::TrackCaloCluster_v1
TrackCaloCluster_v1()
Definition: TrackCaloCluster_v1.cxx:18
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition: ObjectType.h:32
xAOD::TrackCaloCluster_v1::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
Definition: TrackCaloCluster_v1.cxx:46
xAOD::TrackCaloCluster_v1::setParameters
void setParameters(float pt, float eta, float phi, float m, TrackCaloCluster_v1::Taste taste, const ElementLink< xAOD::TrackParticleContainer > &particle, const std::vector< ElementLink< xAOD::CaloClusterContainer > > &clusters)
TrackParticleContainer.h
xAOD::TrackCaloCluster_v1::FourMom_t
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
Definition: TrackCaloCluster_v1.h:55