10 float en = superCluster.
energy();
11 float eta = fabs(superCluster.
eta());
12 float et = en/cosh(eta);
17 const float EtaBins[nBinsEta+1] = {0.0, 0.7, 1.15, 1.44, 1.56, 2.0, 2.5};
19 const int nBinsBrem=6;
20 const float BremBins [nBinsBrem+1]= {0.8, 1.0, 2.0, 3.0, 4.0, 5.0, 10.0};
22 float par0[nBinsEta][nBinsBrem];
23 float par1[nBinsEta][nBinsBrem];
24 float par2[nBinsEta][nBinsBrem];
25 float par3[nBinsEta][nBinsBrem];
27 par0[0][0]=0.00640519;
30 par3[0][0]=4.04686e-06;
32 par0[0][1]=0.00709569;
35 par3[0][1]=1.16239e-05;
40 par3[0][2]=2.90054e-06;
42 par0[0][3]=0.00659365;
45 par3[0][3]=7.37152e-07;
47 par0[0][4]=0.00771696;
50 par3[0][4]=0.000358677;
52 par0[0][5]=0.00561532;
55 par3[0][5]=6.25898e-07;
57 par0[1][0]=0.00273646;
60 par3[1][0]=4.45878e-07;
62 par0[1][1]=0.00679797;
65 par3[1][1]=5.46479e-05;
67 par0[1][2]=0.00845532;
70 par3[1][2]=1.16803e-05;
72 par0[1][3]=0.00831068;
75 par3[1][3]=2.61247e-05;
77 par0[1][4]=0.00845457;
80 par3[1][4]=2.05044e-07;
87 par0[2][0]=-0.00192618;
90 par3[2][0]=1.94946e-06;
97 par0[2][2]=0.00761595;
102 par0[2][3]=0.0119179;
105 par3[2][3]=0.00342264;
107 par0[2][4]=0.0139921;
110 par3[2][4]=0.0458434;
117 par0[3][0]=-0.00197909;
122 par0[3][1]=0.0340196;
127 par0[3][2]=0.0102397;
130 par3[3][2]=0.00118335;
132 par0[3][3]=0.0110891;
135 par3[3][3]=0.000245975;
137 par0[3][4]=0.0328931;
140 par3[3][4]=3.01721e-05;
142 par0[3][5]=0.0395614;
147 par0[4][0]=0.0121809;
152 par0[4][1]=0.0168951;
157 par0[4][2]=0.0213549;
160 par3[4][2]=0.0297165;
162 par0[4][3]=0.0262602;
167 par0[4][4]=0.0334892;
170 par3[4][4]=0.0157013;
172 par0[4][5]=0.0347093;
177 par0[5][0]=0.0185321;
180 par3[5][0]=5.07655e-11;
182 par0[5][1]=0.0182718;
185 par3[5][1]=0.00114946;
187 par0[5][2]=0.0175505;
192 par0[5][3]=0.0233833;
197 par0[5][4]=0.0334892;
200 par3[5][4]=0.0157013;
202 par0[5][5]=0.0347093;
208 for (
int iEta = 0; iEta < nBinsEta; ++iEta){
209 if ( EtaBins[iEta] <= eta && eta <EtaBins[iEta+1] ){
215 for (
int iBrem = 0; iBrem < nBinsBrem; ++iBrem){
216 if ( BremBins[iBrem] <= brem && brem <BremBins[iBrem+1] ){
229 if (eta>EtaBins[nBinsEta-1]) iEtaSl = nBinsEta-1;
230 if (brem<BremBins[0]) iBremSl = 0;
231 if (brem>BremBins[nBinsBrem-1]) iBremSl = nBinsBrem-1;
233 float uncertainty = 0;
234 if (et<=5) uncertainty = par0[iEtaSl][iBremSl] + par1[iEtaSl][iBremSl]/(5-par2[iEtaSl][iBremSl]) + par3[iEtaSl][iBremSl]/((5-par2[iEtaSl][iBremSl])*(5-par2[iEtaSl][iBremSl]));
235 if (et>=200) uncertainty = par0[iEtaSl][iBremSl] + par1[iEtaSl][iBremSl]/(200-par2[iEtaSl][iBremSl]) + par3[iEtaSl][iBremSl]/((200-par2[iEtaSl][iBremSl])*(200-par2[iEtaSl][iBremSl]));
237 if (et>5 && et<200) uncertainty = par0[iEtaSl][iBremSl] + par1[iEtaSl][iBremSl]/(et-par2[iEtaSl][iBremSl]) + par3[iEtaSl][iBremSl]/((et-par2[iEtaSl][iBremSl])*(et-par2[iEtaSl][iBremSl]));
240 return (uncertainty*en);
double phiWidth() const
obtain phi and eta width of the Super Cluster
double eta() const
pseudorapidity of cluster centroid
double energy() const
cluster energy
virtual float getValue(const reco::SuperCluster &, const int mode) const
#define DEFINE_EDM_PLUGIN(factory, type, name)