1 #ifndef ParticleFlowReco_PFRecHit_h
2 #define ParticleFlowReco_PFRecHit_h
13 #include "Math/GenVector/PositionVector3D.h"
39 typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<Double32_t> >
REPPoint;
52 const std::vector< math::XYZPoint >& cornersxyz);
57 double posx,
double posy,
double posz,
58 double axisx,
double axisy,
double axisz);
93 void setNWCorner(
double posx,
double posy,
double posz );
94 void setSWCorner(
double posx,
double posy,
double posz );
95 void setSECorner(
double posx,
double posy,
double posz );
96 void setNECorner(
double posx,
double posy,
double posz );
178 void size(
double& deta,
double& dphi)
const;
247 void setCorner(
unsigned i,
double posx,
double posy,
double posz );
void setSECorner(double posx, double posy, double posz)
void add4Neighbour(unsigned index)
std::vector< unsigned > neighbours4_
indices to existing neighbours (1 common side)
REPPoint posrep_
rechit cell centre: rho, eta, phi (transient)
ROOT::Math::PositionVector3D< ROOT::Math::CylindricalEta3D< Double32_t > > REPPoint
std::vector< REPPoint > REPPointVector
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
friend std::ostream & operator<<(std::ostream &out, const reco::PFRecHit &hit)
void add8Neighbour(unsigned index)
double energyUp_
For HF hits : hit energy in the other layer (EM for HAD, and HAD for EM)
void setNECorner(double posx, double posy, double posz)
double pt2() const
rechit momentum transverse to the beam, squared.
unsigned detId_
C cell detid - should be detid or index in collection ?
unsigned detId() const
rechit detId
double rescale() const
rescaling factor (obsolete)
PFLayer::Layer layer_
rechit layer
bool operator<=(const PFRecHit &rhs) const
comparison <= operator
bool operator<(const PFRecHit &rhs) const
comparison < operator
static const unsigned nNeighbours_
number of neighbours
double energy_
rechit energy
double energyUp() const
For HF hits: rechit energy (and neighbour's) in the other HF layer.
PFLayer::Layer layer() const
rechit layer
virtual ~PFRecHit()
destructor
void setSWCorner(double posx, double posy, double posz)
const std::vector< math::XYZPoint > & getCornersXYZ() const
rechit corners
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
const std::vector< unsigned > & neighbours8() const
math::XYZVector axisxyz_
rechit cell axisxyz
void setEnergyUp(double eUp)
std::vector< unsigned > neighboursIds4_
detids of existing neighbours (1 common side)
const math::XYZVector & getAxisXYZ() const
rechit cell axis x, y, z
void size(double &deta, double &dphi) const
std::vector< unsigned > neighbours8_
indices to existing neighbours (1 common side or diagonal)
void setRescale(double factor)
void setNWCorner(double posx, double posy, double posz)
search for pointers to neighbours, using neighbours' DetId.
REPPointVector cornersrep_
const math::XYZPoint & position() const
is seed ?
void calculatePositionREP()
calculates rho eta phi position once and for all
const REPPointVector & getCornersREP() const
rechit corners
const std::vector< unsigned > & neighboursIds8() const
double rescale_
Internal rescaling factor of the energy (1. = default, 0 = killed channels, x = rescaled) ...
bool operator>=(const PFRecHit &rhs) const
comparison >= operator
math::XYZPoint position_
is this a seed ? (-1:unknown, 0:no, 1 yes) (transient)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
bool operator>(const PFRecHit &rhs) const
comparison > operator
bool isNeighbour4(unsigned id) const
XYZPointD XYZPoint
point in space with cartesian internal representation
std::vector< unsigned > neighboursIds8_
detids of existing neighbours (1 common side or diagonal)
double energy() const
rechit energy
bool isNeighbour8(unsigned id) const
const std::vector< unsigned > & neighboursIds4() const
static const unsigned nCorners_
number of corners
double time() const
timing for cleaned hits
const std::vector< unsigned > & neighbours4() const
void setCorner(unsigned i, double posx, double posy, double posz)
set position of one of the corners
PFRecHit()
default constructor. Sets energy and position to zero
const REPPoint & positionREP() const
rechit cell centre rho, eta, phi. call calculatePositionREP before !