Go to the documentation of this file. 1 #ifndef RecoEgamma_EgammaTools_HGCalShowerShapeHelper_h
2 #define RecoEgamma_EgammaTools_HGCalShowerShapeHelper_h
15 #include <CLHEP/Vector/LorentzVector.h>
16 #include <Math/Point3D.h>
17 #include <Math/Point3Dfwd.h>
91 void initPerObject(
const std::vector<std::pair<DetId, float> > &hitsAndFracs,
101 const double getRvar(
double cylinderR,
double energyNorm,
bool useFractions =
true,
bool useCellSize =
true);
104 const ShowerWidths
getPCAWidths(
double cylinderR,
bool useFractions =
false);
void setFilteredHitsAndFractions(const std::vector< std::pair< DetId, float > > &hitsAndFracs)
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
void initPerEvent(const edm::EventSetup &iSetup, const std::vector< reco::PFRecHit > &recHits)
ROOT::Math::XYZVector centroid_
void setPFRecHitPtrMap(const std::vector< reco::PFRecHit > &recHits)
void initPerObject(const std::vector< std::pair< DetId, float > > &hitsAndFracs, double minHitE=0, double minHitET=0, int minLayer=1, int maxLayer=-1, DetId::Detector subDet=DetId::HGCalEE)
std::vector< double > hitEnergies_
std::vector< std::pair< DetId, float > > hitsAndFracs_
std::unordered_map< uint32_t, const reco::PFRecHit * > pfRecHitPtrMap_
hgcal::RecHitTools recHitTools_
HGCalShowerShapeHelper(edm::ConsumesCollector &&sumes)
std::vector< ROOT::Math::XYZVector > layerCentroids_
const double getRvar(double cylinderR, double energyNorm, bool useFractions=true, bool useCellSize=true)
std::vector< double > layerEnergies_
const ShowerWidths getPCAWidths(double cylinderR, bool useFractions=false)
static const double kHDWaferCellSize_
std::vector< double > hitEnergiesWithFracs_
Transform3DPJ::Vector XYZVector
const double getCellSize(DetId detId)
static const double kLDWaferCellSize_