10 const SG::AuxElement::ConstAccessor<ElementLink<xAOD::JGTowerContainer>> accSeedTower(
"seedJGTower");
11 const SG::AuxElement::Decorator<ElementLink<xAOD::JGTowerContainer>> decSeedTower(
"seedJGTower");
12 const SG::AuxElement::ConstAccessor<std::vector<ElementLink<xAOD::JGTowerContainer>>> accTowers(
"JGTowers");
13 const SG::AuxElement::Decorator<std::vector<ElementLink<xAOD::JGTowerContainer>>> decTowers(
"JGTowers");
27 if (!container() && !hasStore())
63 double PT = (
pt() > 0) ? 1000. *
static_cast<double>(
pt()) : 0.01;
75 return accSeedTower(*
this);
81 return link.isValid() ? *link :
nullptr;
86 return accTowers(*
this);
91 const std::vector<ElementLink<JGTowerContainer>> &links =
towerLinks();
92 return idx >= links.size() ? nullptr : *links[idx];
97 decSeedTower(*
this) = link;
103 decTowers(*
this) = links;
Scalar eta() const
pseudorapidity method
#define AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, NAME)
Macro creating a getter function with a type conversion.
#define AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, NAME, SETTER)
Macro creating a setter function with a type conversion.
#define AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of primitive auxiliary properties.
ElementLink implementation for ROOT usage.
const JGTower * getTower(std::size_t idx) const
Get a link by number.
const std::vector< ElementLink< JGTowerContainer > > & towerLinks() const
Element links to the towers making up this gBlock (including the seed).
const ElementLink< JGTowerContainer > & seedTowerLink() const
The element link to the seed tower of this gBlock.
virtual Type::ObjectType type() const final
The type of the object as a simple enumeration, remains pure virtual in e/gamma.
virtual double m() const final
The invariant mass of the particle.
virtual double e() const final
The total energy of the particle.
void setTowerLinks(const std::vector< ElementLink< JGTowerContainer > > &links)
set the tower links
virtual ~GBlock_v1() override
Default destructor.
virtual FourMom_t p4() const final
The full 4-momentum of the particle as a TLoretzVector.
virtual double rapidity() const final
The true rapidity (y) of the particle.
virtual double eta() const final
The pseudorapidity ( ) of the particle.
virtual double pt() const final
The transverse momentum of the particle.
void setSeedTowerLink(const ElementLink< JGTowerContainer > &link)
Set the seed link.
virtual double phi() const final
The azimuthal angle ( ) of the particle.
GBlock_v1 & operator=(const GBlock_v1 &other)
Assignment operator.
const JGTower * seedTower() const
The seed tower for this gBlock.
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
GBlock_v1()=default
Default constructor.
IParticle & operator=(const IParticle &)=default
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
JGTower_v1 JGTower
Define the latest version of the JGTower class.