9 if ( algorithm != 0 )
return energy;
11 float ieta = fabs(eta)*(5/0.087);
15 float correctedEnergy =
energy;
16 if ( ieta < p0 ) correctedEnergy =
energy;
17 else correctedEnergy = energy/(1.0 + p1*(ieta-p0)*(ieta-p0));
19 return correctedEnergy;
37 if ( algorithm == 0 ) offset = 0;
38 else if ( algorithm == 1 ) offset = 20;
45 if ( brem == 0 )
return e;
49 if ( brem < bremLowThr ) brem = bremLowThr;
50 if ( brem > bremHighThr ) brem = bremHighThr;
61 float y = p0*threshold*threshold + p1*threshold +
p2;
62 float yprime = 2*p0*threshold +
p1;
65 float c = y - a*threshold*threshold - b*
threshold;
68 if ( brem < threshold )
69 fCorr = p0*brem*brem + p1*brem +
p2;
71 fCorr = a*brem*brem + b*brem +
c;
90 if ( algorithm == 0 ) offset = 0;
91 else if ( algorithm == 1 ) offset = 20;
92 else if ( algorithm == 10 ) offset = 28;
93 else if ( algorithm == 11 ) offset = 39;
100 if ( algorithm == 0 || algorithm == 10 ) {
106 }
else if ( algorithm == 1 || algorithm == 11 ) {
112 fCorr = p0 + p1*fabs(eta) + p2*eta*eta + p3/fabs(eta);
116 if ( fCorr < 0.5 ) fCorr = 0.5;
117 if ( fCorr > 1.5 ) fCorr = 1.5;
138 float eta = fabs(superCluster.
eta());
142 if ( mode <= 3 || mode == 10 ) {
149 energy = superCluster.
energy();
151 float correctedEnergy =
fEta(energy, eta, algorithm);
154 return correctedEnergy -
energy;
158 correctedEnergy =
fBrem(correctedEnergy, brem, algorithm);
160 return correctedEnergy -
energy;
163 float correctedEt = correctedEnergy/cosh(eta);
164 correctedEt =
fEtEta(correctedEt, eta, algorithm);
165 correctedEnergy = correctedEt*cosh(eta);
166 return correctedEnergy -
energy;
168 }
else if ( mode == 4 || mode == 5 || mode == 11 ) {
174 energy = superCluster.
energy();
177 float correctedEnergy =
fBrem(energy, brem, algorithm);
179 return correctedEnergy -
energy;
182 float correctedEt = correctedEnergy/cosh(eta);
183 correctedEt =
fEtEta(correctedEt, eta, algorithm);
184 correctedEnergy = correctedEt*cosh(eta);
185 return correctedEnergy -
energy;
< trclass="colgroup">< tdclass="colgroup"colspan=5 > Ecal cluster collections</td ></tr >< tr >< td >< ahref="classreco_1_1BasicCluster.html"> reco::BasicCluster</a ></td >< td >< ahref="DataFormats_EgammaReco.html"> reco::BasicClusterCollection</a ></td >< td >< ahref="#"> hybridSuperClusters</a ></td >< tdclass="description"> Basic clusters reconstructed with hybrid algorithm(barrel only)</td >< td >S.Rahatlou</td ></tr >< tr >< td >< a href
float fEtEta(float et, float eta, int algorithm) const
double phiWidth() const
obtain phi and eta width of the Super Cluster
double eta() const
pseudorapidity of cluster centroid
virtual float getValue(const reco::SuperCluster &, const int mode) const
EcalFunctionParameters & params()
double energy() const
cluster energy
unsigned int offset(bool)
double rawEnergy() const
raw uncorrected energy (sum of energies of component BasicClusters)
float fBrem(float e, float eta, int algorithm) const
float fEta(float e, float eta, int algorithm) const
#define DEFINE_EDM_PLUGIN(factory, type, name)
double preshowerEnergy() const
energy deposited in preshower
const EcalClusterEnergyCorrectionParameters * params_