9 #ifndef RecoEgamma_EgammaTools_EGammaPCAHelper_h 10 #define RecoEgamma_EgammaTools_EGammaPCAHelper_h 24 #include "Math/Transform3D.h" 25 #include <unordered_map> 27 #include "TPrincipal.h" 46 void setHitMap(
const std::unordered_map<DetId, const unsigned int> *hitMap);
70 inline const TVectorD &
sigmas()
const {
return *
pca_->GetSigmas(); }
91 const std::unordered_map<DetId, const unsigned int> *
hitMap_;
104 std::unique_ptr<TPrincipal>
pca_;
108 std::vector<const HGCRecHit *>
hits_;
void computeShowerWidth(float radius, bool withHalo=true)
const TVectorD & sigmas() const
std::vector< const HGCRecHit * > hits_
void printHits(float radius) const
math::XYZPoint barycenter_
void computePCA(float radius, bool withHalo=true)
LongDeps energyPerLayer(float radius, bool withHalo=true)
std::unique_ptr< TPrincipal > pca_
void setdEdXWeights(const std::vector< double > &dEdX)
const math::XYZPoint & barycenter() const
const TVectorD & eigenValues() const
void storeRecHits(const reco::CaloCluster &theCluster)
std::vector< Spot > theSpots_
const std::unordered_map< DetId, const unsigned int > * hitMap_
ROOT::Math::Transform3D Transform3D
const std::unordered_map< DetId, const unsigned int > * getHitMap()
const math::XYZVector & axis() const
bool checkIteration() const
void setRecHitTools(const hgcal::RecHitTools *recHitTools)
float clusterDepthCompatibility(const LongDeps &, float &measuredDepth, float &expectedDepth, float &expectedSigma)
float findZFirstLayer(const LongDeps &) const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
XYZPointD XYZPoint
point in space with cartesian internal representation
void setHitMap(const std::unordered_map< DetId, const unsigned int > *hitMap)
to set once per event
std::vector< double > invThicknessCorrection_
void pcaInitialComputation()
std::vector< double > dEdXWeights_
const reco::CaloCluster * theCluster_
const TPrincipal & pcaResult()
ROOT::Math::Transform3D::Point Point
void setRecHits(edm::Handle< HGCRecHitCollection > recHitHandleEE, edm::Handle< HGCRecHitCollection > recHitHandleFH, edm::Handle< HGCRecHitCollection > recHitHandleBH)
const hgcal::RecHitTools * recHitTools_