Go to the documentation of this file.
9 #ifndef RecoEgamma_EgammaTools_EGammaPCAHelper_h
10 #define RecoEgamma_EgammaTools_EGammaPCAHelper_h
24 #include "Math/Transform3D.h"
27 #include "TPrincipal.h"
47 void setHitMap(std::map<DetId, const HGCRecHit *> *hitMap);
73 inline const TVectorD &
sigmas()
const {
return *
pca_->GetSigmas(); }
95 std::map<DetId, const HGCRecHit *> *
hitMap_;
108 std::unique_ptr<TPrincipal>
pca_;
float clusterDepthCompatibility(const LongDeps &, float &measuredDepth, float &expectedDepth, float &expectedSigma)
math::XYZPoint barycenter_
void fillHitMap(const HGCRecHitCollection &HGCEERecHits, const HGCRecHitCollection &HGCFHRecHits, const HGCRecHitCollection &HGCBHRecHits)
to compute from inside - once per event
const TVectorD & sigmas() const
const reco::CaloCluster * theCluster_
void printHits(float radius) const
void setRecHitTools(const hgcal::RecHitTools *recHitTools)
void pcaInitialComputation()
std::map< DetId, const HGCRecHit * > * getHitMap()
std::vector< double > dEdXWeights_
const TPrincipal & pcaResult()
const TVectorD & eigenValues() const
void setdEdXWeights(const std::vector< double > &dEdX)
const hgcal::RecHitTools * recHitTools_
std::map< DetId, const HGCRecHit * > * hitMap_
bool checkIteration() const
void storeRecHits(const reco::CaloCluster &theCluster)
XYZPointD XYZPoint
point in space with cartesian internal representation
const math::XYZVector & axis() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
float findZFirstLayer(const LongDeps &) const
ROOT::Math::Transform3D::Point Point
ROOT::Math::Transform3D Transform3D
void computeShowerWidth(float radius, bool withHalo=true)
void computePCA(float radius, bool withHalo=true)
void setHitMap(std::map< DetId, const HGCRecHit * > *hitMap)
to set from outside - once per event
std::vector< double > invThicknessCorrection_
std::vector< Spot > theSpots_
LongDeps energyPerLayer(float radius, bool withHalo=true)
const math::XYZPoint & barycenter() const
std::unique_ptr< TPrincipal > pca_