1 #ifndef RecoEcal_EgammaCoreTools_EcalClusterTools_h
2 #define RecoEcal_EgammaCoreTools_EcalClusterTools_h
165 static Cluster2ndMoments cluster2ndMoments(
const std::vector<std::pair<const EcalRecHit*, float> >& RH_ptrs_fracs,
double phiCorrectionFactor=0.8,
double w0=4.7,
bool useLogWeights=
true);
180 static float matrixEnergy(
const reco::BasicCluster &cluster,
const EcalRecHitCollection *recHits,
const CaloTopology* topology,
DetId id,
int ixMin,
int ixMax,
int iyMin,
int iyMax,
const std::vector<int>& flagsexcl,
const std::vector<int>& severitiesexcl,
const EcalSeverityLevelAlgo *sevLv );
181 static float getFraction(
const std::vector< std::pair<DetId, float> > &v_id,
DetId id);
195 static std::vector<float>
roundnessSelectedBarrelRecHits(
const std::vector<std::pair<const EcalRecHit*,float> >&rhVector,
int weightedPositionMethod = 0);
216 static double f00(
double r) {
return 1; }
217 static double f11(
double r) {
return r; }
218 static double f20(
double r) {
return 2.0*r*r-1.0; }
219 static double f22(
double r) {
return r*
r; }
220 static double f31(
double r) {
return 3.0*r*r*r - 2.0*
r; }
221 static double f33(
double r) {
return r*r*
r; }
222 static double f40(
double r) {
return 6.0*r*r*r*r-6.0*r*r+1.0; }
223 static double f42(
double r) {
return 4.0*r*r*r*r-3.0*r*
r; }
224 static double f44(
double r) {
return r*r*r*
r; }
225 static double f51(
double r) {
return 10.0*
pow(r,5)-12.0*
pow(r,3)+3.0*
r; }
226 static double f53(
double r) {
return 5.0*
pow(r,5) - 4.0*
pow(r,3); }
227 static double f55(
double r) {
return pow(r,5); }
235 for (
int i = 2;
i <=
n; ++
i) res *=
i;
249 static int deltaIEta(
int seed_ieta,
int rh_ieta);
250 static int deltaIPhi(
int seed_iphi,
int rh_iphi);
251 static std::vector<int>
getSeedPosition(
const std::vector<std::pair<const EcalRecHit*,float> >&RH_ptrs);
252 static float getSumEnergy(
const std::vector<std::pair<const EcalRecHit*,float> >&RH_ptrs_fracs);
253 static float computeWeight(
float eRH,
float energyTotal,
int weightedPositionMethod);
XYZVectorD XYZVector
spatial vector with cartesian internal representation
ESHandle< TrackerGeometry > geometry
Power< A, B >::type pow(const A &a, const B &b)