test
CMS 3D CMS Logo

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