11 double ieta = fabs(sc.
eta())*(5/0.087);
13 double p1 = -3.03103e-6;
17 else newE = sc.
rawEnergy()/(1 + p1*(ieta - p0)*(ieta - p0));
25 std::vector<double> fBrem = ps.
getParameter<std::vector<double> >(
"fBremVec");
26 double bremFrLowThr = ps.
getParameter<
double>(
"brLinearLowThr");
27 double bremFrHighThr = ps.
getParameter<
double>(
"brLinearHighThr");
32 if(fabs(sc.
eta()) < 1.479)
39 if(bremFrac < bremFrLowThr) bremFrac = bremFrLowThr;
40 if(bremFrac < bremFrHighThr) bremFrac = bremFrHighThr;
50 double y = p0*threshold*threshold + p1*threshold +
p2;
51 double yprime = 2*p0*threshold +
p1;
54 double c = y - a*threshold*threshold - b*
threshold;
57 if( bremFrac < threshold )
58 fCorr = p0*bremFrac*bremFrac + p1*bremFrac +
p2;
60 fCorr = a*bremFrac*bremFrac + b*bremFrac +
c;
71 std::vector<double> fEtEtaParams = ps.
getParameter<std::vector<double> >(
"fEtEtaParamsVec");
77 double et = fBremSC.energy()/cosh(eta);
80 double p0 = fEtEtaParams[0] + fEtEtaParams[1]/(et + fEtEtaParams[ 2]) + fEtEtaParams[ 3]/(et*et);
81 double p1 = fEtEtaParams[4] + fEtEtaParams[5]/(et + fEtEtaParams[ 6]) + fEtEtaParams[ 7]/(et*et);
82 double p2 = fEtEtaParams[8] + fEtEtaParams[9]/(et + fEtEtaParams[10]) + fEtEtaParams[11]/(et*et);
86 p1 * atan(fEtEtaParams[12]*(fEtEtaParams[13]-fabs(eta))) + fEtEtaParams[14] * fabs(eta) +
87 p1 * fEtEtaParams[15] * fabs(eta) +
88 p2 * fEtEtaParams[16] * eta *
eta;
90 if ( fCorr < 0.5 ) fCorr = 0.5;
92 double newE = et/(fCorr*cosh(eta));
T getParameter(std::string const &) const
const math::XYZPoint & position() const
cluster centroid position
double phiWidth() const
obtain phi and eta width of the Super Cluster
void push_back(Ptr< T > const &iPtr)
reco::SuperCluster fEtEtaCorr(const reco::SuperCluster &sc, const edm::ParameterSet &ps)
reco::SuperCluster fEtaScCorr(const reco::SuperCluster &sc)
double eta() const
pseudorapidity of cluster centroid
reco::SuperCluster fBremScCorr(const reco::SuperCluster &sc, const edm::ParameterSet &ps)
double energy() const
cluster energy
double rawEnergy() const
raw uncorrected energy (sum of energies of component BasicClusters)
et
define resolution functions of each parameter
reco::SuperCluster fEAddScCorr(const reco::SuperCluster &sc, double Ecorr)
CaloCluster_iterator clustersBegin() const
fist iterator over BasicCluster constituents
const CaloClusterPtr & seed() const
seed BasicCluster
reco::CaloClusterPtrVector CaloClusterVectorCopier(const reco::SuperCluster &sc)
double preshowerEnergy() const
energy deposited in preshower
CaloCluster_iterator clustersEnd() const
last iterator over BasicCluster constituents