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
et
define resolution functions of each parameter
#define DEFINE_EDM_PLUGIN(factory, type, name)
float getValue(const reco::SuperCluster &, const int mode) const override