1 #ifndef DataFormats_ParticleFlowReco_PFCluster_h 2 #define DataFormats_ParticleFlowReco_PFCluster_h 7 #include "Math/GenVector/PositionVector3D.h" 18 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 50 typedef std::vector<std::pair<CaloClusterPtr::key_type,edm::Ptr<PFCluster> > >
EEtoPSAssociation;
54 typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<double> >
REPPoint;
60 double x,
double y,
double z );
108 bool isHadron =
false);
122 double ap,
double bp ) {
156 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 157 template<
typename pruner>
190 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) PFLayer::Layer layer() const
cluster layer, see PFLayer.h in this directory
void setLayer(PFLayer::Layer layer)
set layer
math::XYZPoint position_
cluster centroid position
double energy_
cluster energy
static std::atomic< double > depthCorAp_
void setColor(int color)
set cluster color (for the PFRootEventManager display)
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
friend std::ostream & operator<<(std::ostream &out, const CaloCluster &cluster)
print me
static void setDepthCorParameters(int mode, double a, double b, double ap, double bp)
std::vector< reco::PFRecHitFraction > rechits_
vector of rechit fractions (transient)
PFLayer::Layer layer_
transient layer
Sin< T >::type sin(const T &t)
void pruneUsing(pruner prune)
void setTime(float time, float timeError=0)
Fraction of a PFRecHit (rechits can be shared between several PFCluster's)
double pt() const
transverse momentum, massless approximation
PFCluster & operator=(const PFCluster &)
std::vector< std::pair< DetId, float > > hitsAndFractions_
static std::atomic< double > depthCorB_
double z() const
z coordinate of cluster centroid
void calculatePositionREP()
computes posrep_ once and for all
const REPPoint & positionREP() const
cluster position: rho, eta, phi
std::vector< std::pair< CaloClusterPtr::key_type, edm::Ptr< PFCluster > > > EEtoPSAssociation
static const math::XYZPoint dummyVtx_
layer definition for PFRecHit and PFCluster
double x() const
x coordinate of cluster centroid
void reset()
resets clusters parameters
double energy() const
cluster energy
void resetHitsAndFractions()
reset only hits and fractions
static double getDepthCorrection(double energy, bool isBelowPS=false, bool isHadron=false)
void setTimeError(float timeError)
REPPoint posrep_
cluster position: rho, eta, phi (transient)
XYZPointD XYZPoint
point in space with cartesian internal representation
static std::atomic< int > depthCorMode_
double theta() const
angle
void addRecHitFraction(const reco::PFRecHitFraction &frac)
add a given fraction of the rechit
static std::atomic< double > depthCorBp_
math::XYZPoint const & vertex() const
dummy vertex access
int color_
color (transient)
float time_
Michalis :Add timing and depth information.
void setDepth(double depth)
static std::atomic< double > depthCorA_
double charge() const
dummy charge
ROOT::Math::PositionVector3D< ROOT::Math::CylindricalEta3D< double > > REPPoint
const std::vector< reco::PFRecHitFraction > & recHitFractions() const
vector of rechit fractions
double y() const
y coordinate of cluster centroid
double depth() const
cluster depth