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.
bool isValid() const
Test to see if the link can be dereferenced.
void makePrivateStore()
Create a new (empty) private store for this object.
SG::ConstAccessor< T, ALLOC > ConstAccessor
SG::Decorator< T, ALLOC > Decorator
bool hasStore() const
Return true if this object has an associated store.
const SG::AuxVectorData * container() const
Return the container holding this element.
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.