CMS 3D CMS Logo

ElectronEnergyRegressionEvaluate.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------------------------------
2 // $Id $
3 //
4 // ElectronEnergyRegressionEvaluate
5 //
6 // Helper Class for applying electron energy regression calculation
7 //
8 // Authors: A.Takeda, S.Xie, E. Di Marco
9 //--------------------------------------------------------------------------------------------------
10 
15 
16 //#define STANDALONE // <---- this line
17 
18 #ifndef ELECTRONENERGYREGRESSIONEVALUATE_H
19 #define ELECTRONENERGYREGRESSIONEVALUATE_H
20 
21 #include "TFile.h"
22 #include "TTree.h"
23 
24 // For applying regression
26 #ifndef STANDALONE
29 #endif
30 
32 public:
35 
43  };
44 
46 
47  bool isInitialized() const { return fIsInitialized; }
48 
49 #ifndef STANDALONE
51  SuperClusterHelper &mySCHelper,
52  double rho,
53  double nvertices,
54  bool printDebug = false);
56  SuperClusterHelper &mySCHelper,
57  double rho,
58  double nvertices,
59  bool printDebug = false);
60 #endif
61 
62  // Evaluates regression without tracker variables
63  double regressionValueNoTrkVar(double SCRawEnergy,
64  double scEta,
65  double scPhi,
66  double R9,
67  double etawidth,
68  double phiwidth,
69  double NClusters,
70  double HoE,
71  double rho,
72  double vertices,
73  double EtaSeed,
74  double PhiSeed,
75  double ESeed,
76  double E3x3Seed,
77  double E5x5Seed,
78  double see,
79  double spp,
80  double sep,
81  double EMaxSeed,
82  double E2ndSeed,
83  double ETopSeed,
84  double EBottomSeed,
85  double ELeftSeed,
86  double ERightSeed,
87  double E2x5MaxSeed,
88  double E2x5TopSeed,
89  double E2x5BottomSeed,
90  double E2x5LeftSeed,
91  double E2x5RightSeed,
92  double IEtaSeed,
93  double IPhiSeed,
94  double EtaCrySeed,
95  double PhiCrySeed,
96  double PreShowerOverRaw,
97  bool printDebug = false);
98 
99  // Evaluates regression without tracker variables
100  double regressionUncertaintyNoTrkVar(double SCRawEnergy,
101  double scEta,
102  double scPhi,
103  double R9,
104  double etawidth,
105  double phiwidth,
106  double NClusters,
107  double HoE,
108  double rho,
109  double vertices,
110  double EtaSeed,
111  double PhiSeed,
112  double ESeed,
113  double E3x3Seed,
114  double E5x5Seed,
115  double see,
116  double spp,
117  double sep,
118  double EMaxSeed,
119  double E2ndSeed,
120  double ETopSeed,
121  double EBottomSeed,
122  double ELeftSeed,
123  double ERightSeed,
124  double E2x5MaxSeed,
125  double E2x5TopSeed,
126  double E2x5BottomSeed,
127  double E2x5LeftSeed,
128  double E2x5RightSeed,
129  double IEtaSeed,
130  double IPhiSeed,
131  double EtaCrySeed,
132  double PhiCrySeed,
133  double PreShowerOverRaw,
134  bool printDebug = false);
135 
136  // Evaluates regression without tracker variables
137  double regressionValueNoTrkVarV1(double SCRawEnergy,
138  double scEta,
139  double scPhi,
140  double R9,
141  double etawidth,
142  double phiwidth,
143  double NClusters,
144  double HoE,
145  double rho,
146  double vertices,
147  double EtaSeed,
148  double PhiSeed,
149  double ESeed,
150  double E3x3Seed,
151  double E5x5Seed,
152  double see,
153  double spp,
154  double sep,
155  double EMaxSeed,
156  double E2ndSeed,
157  double ETopSeed,
158  double EBottomSeed,
159  double ELeftSeed,
160  double ERightSeed,
161  double E2x5MaxSeed,
162  double E2x5TopSeed,
163  double E2x5BottomSeed,
164  double E2x5LeftSeed,
165  double E2x5RightSeed,
166  double IEtaSeed,
167  double IPhiSeed,
168  double EtaCrySeed,
169  double PhiCrySeed,
170  double PreShowerOverRaw,
171  int IsEcalDriven,
172  bool printDebug = false);
173 
174  // Evaluates regression without tracker variables
175  double regressionUncertaintyNoTrkVarV1(double SCRawEnergy,
176  double scEta,
177  double scPhi,
178  double R9,
179  double etawidth,
180  double phiwidth,
181  double NClusters,
182  double HoE,
183  double rho,
184  double vertices,
185  double EtaSeed,
186  double PhiSeed,
187  double ESeed,
188  double E3x3Seed,
189  double E5x5Seed,
190  double see,
191  double spp,
192  double sep,
193  double EMaxSeed,
194  double E2ndSeed,
195  double ETopSeed,
196  double EBottomSeed,
197  double ELeftSeed,
198  double ERightSeed,
199  double E2x5MaxSeed,
200  double E2x5TopSeed,
201  double E2x5BottomSeed,
202  double E2x5LeftSeed,
203  double E2x5RightSeed,
204  double IEtaSeed,
205  double IPhiSeed,
206  double EtaCrySeed,
207  double PhiCrySeed,
208  double PreShowerOverRaw,
209  int IsEcalDriven,
210  bool printDebug = false);
211 
212  // Evaluates regression using tracker variables
213  // This option is now deprecated. we keep it only
214  // for backwards compatibility
215  double regressionValueWithTrkVar(double electronP,
216  double SCRawEnergy,
217  double scEta,
218  double scPhi,
219  double R9,
220  double etawidth,
221  double phiwidth,
222  double NClusters,
223  double HoE,
224  double rho,
225  double vertices,
226  double EtaSeed,
227  double PhiSeed,
228  double ESeed,
229  double E3x3Seed,
230  double E5x5Seed,
231  double see,
232  double spp,
233  double sep,
234  double EMaxSeed,
235  double E2ndSeed,
236  double ETopSeed,
237  double EBottomSeed,
238  double ELeftSeed,
239  double ERightSeed,
240  double E2x5MaxSeed,
241  double E2x5TopSeed,
242  double E2x5BottomSeed,
243  double E2x5LeftSeed,
244  double E2x5RightSeed,
245  double pt,
246  double GsfTrackPIn,
247  double fbrem,
248  double Charge,
249  double EoP,
250  double IEtaSeed,
251  double IPhiSeed,
252  double EtaCrySeed,
253  double PhiCrySeed,
254  double PreShowerOverRaw,
255  bool printDebug = false);
256 
257  // Evaluates regression using tracker variables
258  // This option is now deprecated. we keep it only
259  // for backwards compatibility
260  double regressionUncertaintyWithTrkVar(double electronP,
261  double SCRawEnergy,
262  double scEta,
263  double scPhi,
264  double R9,
265  double etawidth,
266  double phiwidth,
267  double NClusters,
268  double HoE,
269  double rho,
270  double vertices,
271  double EtaSeed,
272  double PhiSeed,
273  double ESeed,
274  double E3x3Seed,
275  double E5x5Seed,
276  double see,
277  double spp,
278  double sep,
279  double EMaxSeed,
280  double E2ndSeed,
281  double ETopSeed,
282  double EBottomSeed,
283  double ELeftSeed,
284  double ERightSeed,
285  double E2x5MaxSeed,
286  double E2x5TopSeed,
287  double E2x5BottomSeed,
288  double E2x5LeftSeed,
289  double E2x5RightSeed,
290  double pt,
291  double GsfTrackPIn,
292  double fbrem,
293  double Charge,
294  double EoP,
295  double IEtaSeed,
296  double IPhiSeed,
297  double EtaCrySeed,
298  double PhiCrySeed,
299  double PreShowerOverRaw,
300  bool printDebug = false);
301 
302  // Evaluates regression using tracker variables
303  double regressionValueWithTrkVarV1(double SCRawEnergy,
304  double scEta,
305  double scPhi,
306  double R9,
307  double etawidth,
308  double phiwidth,
309  double NClusters,
310  double HoE,
311  double rho,
312  double vertices,
313  double EtaSeed,
314  double PhiSeed,
315  double ESeed,
316  double E3x3Seed,
317  double E5x5Seed,
318  double see,
319  double spp,
320  double sep,
321  double EMaxSeed,
322  double E2ndSeed,
323  double ETopSeed,
324  double EBottomSeed,
325  double ELeftSeed,
326  double ERightSeed,
327  double E2x5MaxSeed,
328  double E2x5TopSeed,
329  double E2x5BottomSeed,
330  double E2x5LeftSeed,
331  double E2x5RightSeed,
332  double IEtaSeed,
333  double IPhiSeed,
334  double EtaCrySeed,
335  double PhiCrySeed,
336  double PreShowerOverRaw,
337  int IsEcalDriven,
338  double GsfTrackPIn,
339  double fbrem,
340  double Charge,
341  double EoP,
342  double TrackMomentumError,
343  double EcalEnergyError,
344  int Classification,
345  bool printDebug = false);
346 
347  // Evaluates regression using tracker variables
348  double regressionUncertaintyWithTrkVarV1(double SCRawEnergy,
349  double scEta,
350  double scPhi,
351  double R9,
352  double etawidth,
353  double phiwidth,
354  double NClusters,
355  double HoE,
356  double rho,
357  double vertices,
358  double EtaSeed,
359  double PhiSeed,
360  double ESeed,
361  double E3x3Seed,
362  double E5x5Seed,
363  double see,
364  double spp,
365  double sep,
366  double EMaxSeed,
367  double E2ndSeed,
368  double ETopSeed,
369  double EBottomSeed,
370  double ELeftSeed,
371  double ERightSeed,
372  double E2x5MaxSeed,
373  double E2x5TopSeed,
374  double E2x5BottomSeed,
375  double E2x5LeftSeed,
376  double E2x5RightSeed,
377  double IEtaSeed,
378  double IPhiSeed,
379  double EtaCrySeed,
380  double PhiCrySeed,
381  double PreShowerOverRaw,
382  int IsEcalDriven,
383  double GsfTrackPIn,
384  double fbrem,
385  double Charge,
386  double EoP,
387  double TrackMomentumError,
388  double EcalEnergyError,
389  int Classification,
390  bool printDebug = false);
391 
392  double regressionValueWithTrkVarV1(std::vector<double> &inputvars, bool printDebug = false);
393  double regressionUncertaintyWithTrkVarV1(std::vector<double> &inputvars, bool printDebug = false);
394 
395  // Evaluates regression using tracker variables
396  double regressionValueWithTrkVarV2(double SCRawEnergy,
397  double scEta,
398  double scPhi,
399  double R9,
400  double etawidth,
401  double phiwidth,
402  double NClusters,
403  double HoE,
404  double rho,
405  double vertices,
406  double EtaSeed,
407  double PhiSeed,
408  double ESeed,
409  double E3x3Seed,
410  double E5x5Seed,
411  double see,
412  double spp,
413  double sep,
414  double EMaxSeed,
415  double E2ndSeed,
416  double ETopSeed,
417  double EBottomSeed,
418  double ELeftSeed,
419  double ERightSeed,
420  double E2x5MaxSeed,
421  double E2x5TopSeed,
422  double E2x5BottomSeed,
423  double E2x5LeftSeed,
424  double E2x5RightSeed,
425  double IEtaSeed,
426  double IPhiSeed,
427  double EtaCrySeed,
428  double PhiCrySeed,
429  double PreShowerOverRaw,
430  int IsEcalDriven,
431  double GsfTrackPIn,
432  double fbrem,
433  double Charge,
434  double EoP,
435  double TrackMomentumError,
436  double EcalEnergyError,
437  int Classification,
438  double detaIn,
439  double dphiIn,
440  double detaCalo,
441  double dphiCalo,
442  double GsfTrackChiSqr,
443  double KFTrackNLayers,
444  double ElectronEnergyOverPout,
445  bool printDebug = false);
446 
447  // Evaluates regression using tracker variables
448  double regressionUncertaintyWithTrkVarV2(double SCRawEnergy,
449  double scEta,
450  double scPhi,
451  double R9,
452  double etawidth,
453  double phiwidth,
454  double NClusters,
455  double HoE,
456  double rho,
457  double vertices,
458  double EtaSeed,
459  double PhiSeed,
460  double ESeed,
461  double E3x3Seed,
462  double E5x5Seed,
463  double see,
464  double spp,
465  double sep,
466  double EMaxSeed,
467  double E2ndSeed,
468  double ETopSeed,
469  double EBottomSeed,
470  double ELeftSeed,
471  double ERightSeed,
472  double E2x5MaxSeed,
473  double E2x5TopSeed,
474  double E2x5BottomSeed,
475  double E2x5LeftSeed,
476  double E2x5RightSeed,
477  double IEtaSeed,
478  double IPhiSeed,
479  double EtaCrySeed,
480  double PhiCrySeed,
481  double PreShowerOverRaw,
482  int IsEcalDriven,
483  double GsfTrackPIn,
484  double fbrem,
485  double Charge,
486  double EoP,
487  double TrackMomentumError,
488  double EcalEnergyError,
489  int Classification,
490  double detaIn,
491  double dphiIn,
492  double detaCalo,
493  double dphiCalo,
494  double GsfTrackChiSqr,
495  double KFTrackNLayers,
496  double ElectronEnergyOverPout,
497  bool printDebug = false);
498 
499  double regressionValueWithTrkVarV2(std::vector<double> &inputvars, bool printDebug = false);
500  double regressionUncertaintyWithTrkVarV2(std::vector<double> &inputvars, bool printDebug = false);
501 
502  // Evaluates regression uncertainty with subcluster variables and without track variables
503  double regressionValueWithSubClusters(double SCRawEnergy,
504  double scEta,
505  double scPhi,
506  double R9,
507  double etawidth,
508  double phiwidth,
509  double NClusters,
510  double HoE,
511  double rho,
512  double vertices,
513  double EtaSeed,
514  double PhiSeed,
515  double ESeed,
516  double E3x3Seed,
517  double E5x5Seed,
518  double see,
519  double spp,
520  double sep,
521  double EMaxSeed,
522  double E2ndSeed,
523  double ETopSeed,
524  double EBottomSeed,
525  double ELeftSeed,
526  double ERightSeed,
527  double E2x5MaxSeed,
528  double E2x5TopSeed,
529  double E2x5BottomSeed,
530  double E2x5LeftSeed,
531  double E2x5RightSeed,
532  double IEtaSeed,
533  double IPhiSeed,
534  double EtaCrySeed,
535  double PhiCrySeed,
536  double PreShowerOverRaw,
537  double isEcalDriven,
538  double isEtaGap,
539  double isPhiGap,
540  double isDeeGap,
541  double ESubs,
542  double ESub1,
543  double EtaSub1,
544  double PhiSub1,
545  double EMaxSub1,
546  double E3x3Sub1,
547  double ESub2,
548  double EtaSub2,
549  double PhiSub2,
550  double EMaxSub2,
551  double E3x3Sub2,
552  double ESub3,
553  double EtaSub3,
554  double PhiSub3,
555  double EMaxSub3,
556  double E3x3Sub3,
557  double NPshwClusters,
558  double EPshwSubs,
559  double EPshwSub1,
560  double EtaPshwSub1,
561  double PhiPshwSub1,
562  double EPshwSub2,
563  double EtaPshwSub2,
564  double PhiPshwSub2,
565  double EPshwSub3,
566  double EtaPshwSub3,
567  double PhiPshwSub3,
568  bool isEB,
569  bool printDebug = false);
570 
571  // Evaluates regression uncertainty with subcluster variables and without track variables
572  double regressionUncertaintyWithSubClusters(double SCRawEnergy,
573  double scEta,
574  double scPhi,
575  double R9,
576  double etawidth,
577  double phiwidth,
578  double NClusters,
579  double HoE,
580  double rho,
581  double vertices,
582  double EtaSeed,
583  double PhiSeed,
584  double ESeed,
585  double E3x3Seed,
586  double E5x5Seed,
587  double see,
588  double spp,
589  double sep,
590  double EMaxSeed,
591  double E2ndSeed,
592  double ETopSeed,
593  double EBottomSeed,
594  double ELeftSeed,
595  double ERightSeed,
596  double E2x5MaxSeed,
597  double E2x5TopSeed,
598  double E2x5BottomSeed,
599  double E2x5LeftSeed,
600  double E2x5RightSeed,
601  double IEtaSeed,
602  double IPhiSeed,
603  double EtaCrySeed,
604  double PhiCrySeed,
605  double PreShowerOverRaw,
606  double isEcalDriven,
607  double isEtaGap,
608  double isPhiGap,
609  double isDeeGap,
610  double ESubs,
611  double ESub1,
612  double EtaSub1,
613  double PhiSub1,
614  double EMaxSub1,
615  double E3x3Sub1,
616  double ESub2,
617  double EtaSub2,
618  double PhiSub2,
619  double EMaxSub2,
620  double E3x3Sub2,
621  double ESub3,
622  double EtaSub3,
623  double PhiSub3,
624  double EMaxSub3,
625  double E3x3Sub3,
626  double NPshwClusters,
627  double EPshwSubs,
628  double EPshwSub1,
629  double EtaPshwSub1,
630  double PhiPshwSub1,
631  double EPshwSub2,
632  double EtaPshwSub2,
633  double PhiPshwSub2,
634  double EPshwSub3,
635  double EtaPshwSub3,
636  double PhiPshwSub3,
637  bool isEB,
638  bool printDebug = false);
639 
640 private:
643  GBRForest *forestCorrection_eb; // Pointer to the GBRForest for barrel
644  GBRForest *forestCorrection_ee; // Pointer to the GBRForest for endcap
645 
648 };
649 
650 #endif
double regressionValueNoTrkVarV1(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, int IsEcalDriven, bool printDebug=false)
ElectronEnergyRegressionEvaluate::ElectronEnergyRegressionType fVersionType
double calculateRegressionEnergy(const reco::GsfElectron *ele, SuperClusterHelper &mySCHelper, double rho, double nvertices, bool printDebug=false)
double regressionValueWithTrkVarV2(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, int IsEcalDriven, double GsfTrackPIn, double fbrem, double Charge, double EoP, double TrackMomentumError, double EcalEnergyError, int Classification, double detaIn, double dphiIn, double detaCalo, double dphiCalo, double GsfTrackChiSqr, double KFTrackNLayers, double ElectronEnergyOverPout, bool printDebug=false)
double regressionValueWithTrkVar(double electronP, double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double pt, double GsfTrackPIn, double fbrem, double Charge, double EoP, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, bool printDebug=false)
double regressionUncertaintyNoTrkVar(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, bool printDebug=false)
double regressionValueWithSubClusters(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, double isEcalDriven, double isEtaGap, double isPhiGap, double isDeeGap, double ESubs, double ESub1, double EtaSub1, double PhiSub1, double EMaxSub1, double E3x3Sub1, double ESub2, double EtaSub2, double PhiSub2, double EMaxSub2, double E3x3Sub2, double ESub3, double EtaSub3, double PhiSub3, double EMaxSub3, double E3x3Sub3, double NPshwClusters, double EPshwSubs, double EPshwSub1, double EtaPshwSub1, double PhiPshwSub1, double EPshwSub2, double EtaPshwSub2, double PhiPshwSub2, double EPshwSub3, double EtaPshwSub3, double PhiPshwSub3, bool isEB, bool printDebug=false)
double regressionUncertaintyNoTrkVarV1(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, int IsEcalDriven, bool printDebug=false)
double regressionUncertaintyWithTrkVarV1(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, int IsEcalDriven, double GsfTrackPIn, double fbrem, double Charge, double EoP, double TrackMomentumError, double EcalEnergyError, int Classification, bool printDebug=false)
double regressionValueNoTrkVar(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, bool printDebug=false)
void initialize(std::string weightsFile, ElectronEnergyRegressionEvaluate::ElectronEnergyRegressionType type)
double regressionUncertaintyWithTrkVar(double electronP, double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double pt, double GsfTrackPIn, double fbrem, double Charge, double EoP, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, bool printDebug=false)
double calculateRegressionEnergyUncertainty(const reco::GsfElectron *ele, SuperClusterHelper &mySCHelper, double rho, double nvertices, bool printDebug=false)
double regressionUncertaintyWithSubClusters(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, double isEcalDriven, double isEtaGap, double isPhiGap, double isDeeGap, double ESubs, double ESub1, double EtaSub1, double PhiSub1, double EMaxSub1, double E3x3Sub1, double ESub2, double EtaSub2, double PhiSub2, double EMaxSub2, double E3x3Sub2, double ESub3, double EtaSub3, double PhiSub3, double EMaxSub3, double E3x3Sub3, double NPshwClusters, double EPshwSubs, double EPshwSub1, double EtaPshwSub1, double PhiPshwSub1, double EPshwSub2, double EtaPshwSub2, double PhiPshwSub2, double EPshwSub3, double EtaPshwSub3, double PhiPshwSub3, bool isEB, bool printDebug=false)
double regressionValueWithTrkVarV1(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, int IsEcalDriven, double GsfTrackPIn, double fbrem, double Charge, double EoP, double TrackMomentumError, double EcalEnergyError, int Classification, bool printDebug=false)
double regressionUncertaintyWithTrkVarV2(double SCRawEnergy, double scEta, double scPhi, double R9, double etawidth, double phiwidth, double NClusters, double HoE, double rho, double vertices, double EtaSeed, double PhiSeed, double ESeed, double E3x3Seed, double E5x5Seed, double see, double spp, double sep, double EMaxSeed, double E2ndSeed, double ETopSeed, double EBottomSeed, double ELeftSeed, double ERightSeed, double E2x5MaxSeed, double E2x5TopSeed, double E2x5BottomSeed, double E2x5LeftSeed, double E2x5RightSeed, double IEtaSeed, double IPhiSeed, double EtaCrySeed, double PhiCrySeed, double PreShowerOverRaw, int IsEcalDriven, double GsfTrackPIn, double fbrem, double Charge, double EoP, double TrackMomentumError, double EcalEnergyError, int Classification, double detaIn, double dphiIn, double detaCalo, double dphiCalo, double GsfTrackChiSqr, double KFTrackNLayers, double ElectronEnergyOverPout, bool printDebug=false)