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