CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
PFEnergyCalibration Class Reference

#include <PFEnergyCalibration.h>

Public Member Functions

double energyEm (const reco::PFCluster &clusterEcal, std::vector< double > &EclustersPS1, std::vector< double > &EclustersPS2, bool crackCorrection=true) const
 
double energyEm (const reco::PFCluster &clusterEcal, double ePS1, double ePS2, bool crackCorrection=true) const
 
double energyEm (const reco::PFCluster &clusterEcal, std::vector< double > &EclustersPS1, std::vector< double > &EclustersPS2, double &ps1, double &ps2, bool crackCorrection=true) const
 
double energyEm (const reco::PFCluster &clusterEcal, double ePS1, double ePS2, double &ps1, double &ps2, bool crackCorrection=true) const
 
void energyEmHad (double t, double &e, double &h, double eta, double phi) const
 
void initAlphaGamma_ESplanes_fromDB (const ESEEIntercalibConstants *esEEInterCalib)
 
void initializeCalibrationFunctions ()
 
 PFEnergyCalibration ()
 
void setCalibrationFunctions (const PerformancePayloadFromTFormula *thePFCal)
 
 ~PFEnergyCalibration ()
 

Protected Attributes

const ESEEIntercalibConstantsesEEInterCalib_
 
std::unique_ptr< TF1 > faBarrel
 
std::unique_ptr< TF1 > faEndcap
 
std::unique_ptr< TF1 > faEtaBarrelEH
 
std::unique_ptr< TF1 > faEtaBarrelH
 
std::unique_ptr< TF1 > faEtaEndcapEH
 
std::unique_ptr< TF1 > faEtaEndcapH
 
std::unique_ptr< TF1 > fbBarrel
 
std::unique_ptr< TF1 > fbEndcap
 
std::unique_ptr< TF1 > fbEtaBarrelEH
 
std::unique_ptr< TF1 > fbEtaBarrelH
 
std::unique_ptr< TF1 > fbEtaEndcapEH
 
std::unique_ptr< TF1 > fbEtaEndcapH
 
std::unique_ptr< TF1 > fcBarrel
 
std::unique_ptr< TF1 > fcEndcap
 
std::unique_ptr< TF1 > fcEtaBarrelEH
 
std::unique_ptr< TF1 > fcEtaBarrelH
 
std::unique_ptr< TF1 > fcEtaEndcapEH
 
std::unique_ptr< TF1 > fcEtaEndcapH
 
std::unique_ptr< TF1 > fdEtaEndcapEH
 
std::unique_ptr< TF1 > fdEtaEndcapH
 
const PerformancePayloadFromTFormulapfCalibrations
 

Private Member Functions

double aBarrel (double x) const
 
double aEndcap (double x) const
 
double aEtaBarrelEH (double x) const
 
double aEtaBarrelH (double x) const
 
double aEtaEndcapEH (double x) const
 
double aEtaEndcapH (double x) const
 
double Alpha (double eta) const
 
double bBarrel (double x) const
 
double bEndcap (double x) const
 
double Beta (double E, double eta) const
 
double bEtaBarrelEH (double x) const
 
double bEtaBarrelH (double x) const
 
double bEtaEndcapEH (double x) const
 
double bEtaEndcapH (double x) const
 
double cBarrel (double x) const
 
double cEndcap (double x) const
 
double cEtaBarrelEH (double x) const
 
double cEtaBarrelH (double x) const
 
double cEtaEndcapEH (double x) const
 
double cEtaEndcapH (double x) const
 
double CorrBarrel (double E, double eta) const
 
double CorrEta (double eta) const
 
double CorrPhi (double phi, double eta) const
 
double dCrackPhi (double phi, double eta) const
 
double dEtaEndcapEH (double x) const
 
double dEtaEndcapH (double x) const
 
double Ecorr (double eEcal, double ePS1, double ePS2, double eta, double phi, bool crackCorrection=true) const
 
double Ecorr (double eEcal, double ePS1, double ePS2, double eta, double phi, double &, double &, bool crackCorrection=true) const
 
double EcorrBarrel (double E, double eta, double phi, bool crackCorrection=true) const
 
double EcorrPS (double eEcal, double ePS1, double ePS2, double etaEcal) const
 
double EcorrPS (double eEcal, double ePS1, double ePS2, double etaEcal, double &, double &) const
 
double EcorrPS_ePSNil (double eEcal, double eta) const
 
double EcorrZoneAfterPS (double E, double eta) const
 
double EcorrZoneBeforePS (double E, double eta) const
 
double Gamma (double etaEcal) const
 
double minimum (double a, double b) const
 

Private Attributes

double threshE
 
double threshH
 

Friends

std::ostream & operator<< (std::ostream &out, const PFEnergyCalibration &calib)
 

Detailed Description

Definition at line 41 of file PFEnergyCalibration.h.

Constructor & Destructor Documentation

PFEnergyCalibration::PFEnergyCalibration ( )

Definition at line 17 of file PFEnergyCalibration.cc.

References initializeCalibrationFunctions().

17  : pfCalibrations(nullptr), esEEInterCalib_(nullptr)
18 {
20 }
const PerformancePayloadFromTFormula * pfCalibrations
const ESEEIntercalibConstants * esEEInterCalib_
PFEnergyCalibration::~PFEnergyCalibration ( )

Definition at line 22 of file PFEnergyCalibration.cc.

23 {
24 
25 }

Member Function Documentation

double PFEnergyCalibration::aBarrel ( double  x) const
private

Definition at line 282 of file PFEnergyCalibration.cc.

References faBarrel, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfa_BARREL, and point.

Referenced by energyEmHad().

282  {
283 
284  if ( pfCalibrations ) {
288 
289  } else {
290 
291  return faBarrel->Eval(x);
292 
293  }
294 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
std::unique_ptr< TF1 > faBarrel
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::aEndcap ( double  x) const
private

Definition at line 393 of file PFEnergyCalibration.cc.

References faEndcap, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfa_ENDCAP, and point.

Referenced by energyEmHad().

393  {
394 
395  if ( pfCalibrations ) {
396 
400 
401  } else {
402 
403  return faEndcap->Eval(x);
404 
405  }
406 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
std::unique_ptr< TF1 > faEndcap
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::aEtaBarrelEH ( double  x) const
private

Definition at line 329 of file PFEnergyCalibration.cc.

References faEtaBarrelEH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfaEta_BARRELEH, and point.

Referenced by energyEmHad().

329  {
330 
331  if ( pfCalibrations ) {
332 
336 
337  } else {
338 
339  return faEtaBarrelEH->Eval(x);
340 
341  }
342 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
std::unique_ptr< TF1 > faEtaBarrelEH
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::aEtaBarrelH ( double  x) const
private

Definition at line 361 of file PFEnergyCalibration.cc.

References faEtaBarrelH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfaEta_BARRELH, and point.

Referenced by energyEmHad().

361  {
362 
363  if ( pfCalibrations ) {
364 
368 
369  } else {
370 
371  return faEtaBarrelH->Eval(x);
372 
373  }
374 }
std::unique_ptr< TF1 > faEtaBarrelH
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::aEtaEndcapEH ( double  x) const
private

Definition at line 441 of file PFEnergyCalibration.cc.

References faEtaEndcapEH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfaEta_ENDCAPEH, and point.

Referenced by energyEmHad().

441  {
442 
443  if ( pfCalibrations ) {
444 
448 
449  } else {
450 
451  return faEtaEndcapEH->Eval(x);
452 
453  }
454 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
std::unique_ptr< TF1 > faEtaEndcapEH
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::aEtaEndcapH ( double  x) const
private

Definition at line 473 of file PFEnergyCalibration.cc.

References faEtaEndcapH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfaEta_ENDCAPH, and point.

Referenced by energyEmHad().

473  {
474 
475  if ( pfCalibrations ) {
476 
480 
481  } else {
482 
483  return faEtaEndcapH->Eval(x);
484 
485  }
486 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > faEtaEndcapH
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::Alpha ( double  eta) const
private

Definition at line 885 of file PFEnergyCalibration.cc.

References constexpr, PVValHelper::eta, p1, p2, and mps_fire::result.

Referenced by EcorrPS().

885  {
886 
887  //Energy dependency
888  constexpr double p0 = 5.97621e-01;
889 
890  //Eta dependency
891  constexpr double p1 =-1.86407e-01;
892  constexpr double p2 = 3.85197e-01;
893 
894  //so that <feta()> = 1
895  constexpr double norm = (p1+p2*(2.6+1.656)/2);
896 
897  double result = p0*(p1+p2*eta)/norm;
898 
899  return result;
900 }
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double PFEnergyCalibration::bBarrel ( double  x) const
private

Definition at line 297 of file PFEnergyCalibration.cc.

References fbBarrel, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfb_BARREL, and point.

Referenced by energyEmHad().

297  {
298 
299  if ( pfCalibrations ) {
300 
304 
305  } else {
306 
307  return fbBarrel->Eval(x);
308 
309  }
310 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
std::unique_ptr< TF1 > fbBarrel
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::bEndcap ( double  x) const
private

Definition at line 409 of file PFEnergyCalibration.cc.

References fbEndcap, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfb_ENDCAP, and point.

Referenced by energyEmHad().

409  {
410 
411  if ( pfCalibrations ) {
412 
416 
417  } else {
418 
419  return fbEndcap->Eval(x);
420 
421  }
422 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > fbEndcap
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::Beta ( double  E,
double  eta 
) const
private

Definition at line 903 of file PFEnergyCalibration.cc.

References constexpr, p1, p2, p3, p4, and mps_fire::result.

Referenced by EcorrPS().

903  {
904 
905  //Energy dependency
906  constexpr double p0 = 0.032;
907  constexpr double p1 = 9.70394e-02;
908  constexpr double p2 = 2.23072e+01;
909  constexpr double p3 = 100;
910 
911  //Eta dependency
912  constexpr double p4 = 1.02496e+00 ;
913  constexpr double p5 = -4.40176e-03 ;
914 
915  //so that <feta()> = 1
916  constexpr double norm = (p4+p5*(2.6+1.656)/2);
917 
918  double result = (1.0012+p0*TMath::Exp(-E/p3)+p1*TMath::Exp(-E/p2))*(p4+p5*eta)/norm;
919  return result;
920 }
double p4[4]
Definition: TauolaWrapper.h:92
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double p3[4]
Definition: TauolaWrapper.h:91
double PFEnergyCalibration::bEtaBarrelEH ( double  x) const
private

Definition at line 345 of file PFEnergyCalibration.cc.

References fbEtaBarrelEH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfbEta_BARRELEH, and point.

Referenced by energyEmHad().

345  {
346 
347  if ( pfCalibrations ) {
348 
352 
353  } else {
354 
355  return fbEtaBarrelEH->Eval(x);
356 
357  }
358 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
std::unique_ptr< TF1 > fbEtaBarrelEH
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::bEtaBarrelH ( double  x) const
private

Definition at line 377 of file PFEnergyCalibration.cc.

References fbEtaBarrelH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfbEta_BARRELH, and point.

Referenced by energyEmHad().

377  {
378 
379  if ( pfCalibrations ) {
380 
384 
385  } else {
386 
387  return fbEtaBarrelH->Eval(x);
388 
389  }
390 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > fbEtaBarrelH
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::bEtaEndcapEH ( double  x) const
private

Definition at line 457 of file PFEnergyCalibration.cc.

References fbEtaEndcapEH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfbEta_ENDCAPEH, and point.

Referenced by energyEmHad().

457  {
458 
459  if ( pfCalibrations ) {
460 
464 
465  } else {
466 
467  return fbEtaEndcapEH->Eval(x);
468 
469  }
470 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > fbEtaEndcapEH
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::bEtaEndcapH ( double  x) const
private

Definition at line 489 of file PFEnergyCalibration.cc.

References fbEtaEndcapH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfbEta_ENDCAPH, and point.

Referenced by energyEmHad().

489  {
490 
491  if ( pfCalibrations ) {
492 
496  } else {
497  return fbEtaEndcapH->Eval(x);
498 
499  }
500 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
std::unique_ptr< TF1 > fbEtaEndcapH
double PFEnergyCalibration::cBarrel ( double  x) const
private

Definition at line 313 of file PFEnergyCalibration.cc.

References fcBarrel, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfc_BARREL, and point.

Referenced by energyEmHad().

313  {
314 
315  if ( pfCalibrations ) {
316 
320 
321  } else {
322 
323  return fcBarrel->Eval(x);
324 
325  }
326 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > fcBarrel
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::cEndcap ( double  x) const
private

Definition at line 425 of file PFEnergyCalibration.cc.

References fcEndcap, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfc_ENDCAP, and point.

Referenced by energyEmHad().

425  {
426 
427  if ( pfCalibrations ) {
428 
432 
433  } else {
434 
435  return fcEndcap->Eval(x);
436 
437  }
438 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > fcEndcap
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::cEtaBarrelEH ( double  x) const
private

Definition at line 542 of file PFEnergyCalibration.cc.

References fcEtaBarrelEH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfcEta_BARRELEH, and point.

Referenced by energyEmHad().

542  {
543  if ( pfCalibrations ) {
547 
548  } else{
549 
550  return fcEtaBarrelEH->Eval(x);
551  }
552 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
std::unique_ptr< TF1 > fcEtaBarrelEH
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::cEtaBarrelH ( double  x) const
private

Definition at line 505 of file PFEnergyCalibration.cc.

References fcEtaBarrelH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfcEta_BARRELH, and point.

Referenced by energyEmHad().

505  {
506  if ( pfCalibrations ) {
510 
511  } else {
512  return fcEtaBarrelH->Eval(x);
513  }
514 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
std::unique_ptr< TF1 > fcEtaBarrelH
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::cEtaEndcapEH ( double  x) const
private

Definition at line 555 of file PFEnergyCalibration.cc.

References fcEtaEndcapEH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfcEta_ENDCAPEH, and point.

Referenced by energyEmHad().

555  {
556  if ( pfCalibrations ) {
560 
561  } else{
562 
563  return fcEtaEndcapEH->Eval(x);
564  }
565 }
std::unique_ptr< TF1 > fcEtaEndcapEH
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::cEtaEndcapH ( double  x) const
private

Definition at line 516 of file PFEnergyCalibration.cc.

References fcEtaEndcapH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfcEta_ENDCAPH, and point.

Referenced by energyEmHad().

516  {
517  if ( pfCalibrations ) {
521 
522  } else{
523 
524  return fcEtaEndcapH->Eval(x);
525  }
526 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > fcEtaEndcapH
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::CorrBarrel ( double  E,
double  eta 
) const
private

Definition at line 839 of file PFEnergyCalibration.cc.

References constexpr, p1, p2, p3, p4, and mps_fire::result.

Referenced by EcorrBarrel().

839  {
840 
841  //Energy dependency
842  /*
843  //YM Parameters 52XX:
844  constexpr double p0=1.00000e+00;
845  constexpr double p1=3.27753e+01;
846  constexpr double p2=2.28552e-02;
847  constexpr double p3=3.06139e+00;
848  constexpr double p4=2.25135e-01;
849  constexpr double p5=1.47824e+00;
850  constexpr double p6=1.09e-02;
851  constexpr double p7=4.19343e+01;
852  */
853  constexpr double p0 = 0.9944;
854  constexpr double p1 = 9.827;
855  constexpr double p2 = 1.503;
856  constexpr double p3 = 1.196;
857  constexpr double p4 = 0.3349;
858  constexpr double p5 = 0.89;
859  constexpr double p6 = 0.004361;
860  constexpr double p7 = 51.51;
861  //Eta dependency
862  constexpr double p8=2.705593e-03;
863 
864  double result = (p0+1/(p1+p2*TMath::Power(E,p3))+p4*TMath::Exp(-E/p5)+p6*TMath::Exp(-E*E/(p7*p7)))*(1+p8*eta*eta);
865 
866  return result;
867 }
double p4[4]
Definition: TauolaWrapper.h:92
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double p3[4]
Definition: TauolaWrapper.h:91
double PFEnergyCalibration::CorrEta ( double  eta) const
private

Definition at line 821 of file PFEnergyCalibration.cc.

References a, Abs(), constexpr, mps_fire::i, funct::m, mps_fire::result, alignCSCRings::s, and Sign().

Referenced by EcorrBarrel().

821  {
822 
823  // we use a gaussian with a screwness for each of the 5 |eta|-cracks
824  constexpr double a[] = {6.13349e-01, 5.08146e-01, 4.44480e-01, 3.3487e-01, 7.65627e-01}; // amplitude
825  constexpr double m[] = {-1.79514e-02, 4.44747e-01, 7.92824e-01, 1.14090e+00, 1.47464e+00}; // mean
826  constexpr double s[] = {7.92382e-03, 3.06028e-03, 3.36139e-03, 3.94521e-03, 8.63950e-04}; // sigma
827  constexpr double sa[] = {1.27228e+01, 3.81517e-02, 1.63507e-01, -6.56480e-02, 1.87160e-01}; // screwness amplitude
828  constexpr double ss[] = {5.48753e-02, -1.00223e-02, 2.22866e-03, 4.26288e-04, 2.67937e-03}; // screwness sigma
829  double result = 1;
830 
831  for(unsigned i=0;i<=4;i++) result+=a[i]*TMath::Gaus(eta,m[i],s[i])*(1+sa[i]*TMath::Sign(1.,eta-m[i])*TMath::Exp(-TMath::Abs(eta-m[i])/ss[i]));
832 
833  return result;
834 }
T Sign(T A, T B)
Definition: MathUtil.h:54
T Abs(T a)
Definition: MathUtil.h:49
double a
Definition: hdecay.h:121
#define constexpr
double PFEnergyCalibration::CorrPhi ( double  phi,
double  eta 
) const
private

Definition at line 795 of file PFEnergyCalibration.cc.

References constexpr, dCrackPhi(), p1, p2, p3, p4, and mps_fire::result.

Referenced by EcorrBarrel().

795  {
796 
797  // we use 3 gaussians to correct the phi-cracks effect
798  constexpr double p1= 5.59379e-01;
799  constexpr double p2= -1.26607e-03;
800  constexpr double p3= 9.61133e-04;
801 
802  constexpr double p4= 1.81691e-01;
803  constexpr double p5= -4.97535e-03;
804  constexpr double p6= 1.31006e-03;
805 
806  constexpr double p7= 1.38498e-01;
807  constexpr double p8= 1.18599e-04;
808  constexpr double p9= 2.01858e-03;
809 
810 
811  double dminphi = dCrackPhi(phi,eta);
812 
813  double result = (1+p1*TMath::Gaus(dminphi,p2,p3)+p4*TMath::Gaus(dminphi,p5,p6)+p7*TMath::Gaus(dminphi,p8,p9));
814 
815  return result;
816 }
double p4[4]
Definition: TauolaWrapper.h:92
double p2[4]
Definition: TauolaWrapper.h:90
double dCrackPhi(double phi, double eta) const
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double p3[4]
Definition: TauolaWrapper.h:91
double PFEnergyCalibration::dCrackPhi ( double  phi,
double  eta 
) const
private

Definition at line 753 of file PFEnergyCalibration.cc.

References constexpr, gather_cfg::cout, mps_fire::i, funct::m, minimum(), and pi.

Referenced by CorrPhi().

753  {
754 
755 
756  //Shift of this location if eta<0
757  constexpr double delta_cPhi=0.00638;
758 
759  double m; //the result
760 
761  //the location is shifted
762  if(eta<0) phi +=delta_cPhi;
763 
764  if (phi>=-pi && phi<=pi){
765 
766  //the problem of the extrema
767  if (phi<cPhi[17] || phi>=cPhi[0]){
768  if (phi<0) phi+= 2*pi;
769  m = minimum(phi -cPhi[0],phi-cPhi[17]-2*pi);
770  }
771 
772  //between these extrema...
773  else{
774  bool OK = false;
775  unsigned i=16;
776  while(!OK){
777  if (phi<cPhi[i]){
778  m=minimum(phi-cPhi[i+1],phi-cPhi[i]);
779  OK=true;
780  }
781  else i-=1;
782  }
783  }
784  }
785  else{
786  m=0.; //if there is a problem, we assum that we are in a crack
787  std::cout<<"Problem in dminphi"<<std::endl;
788  }
789  if(eta<0) m=-m; //because of the disymetry
790  return m;
791 }
const Double_t pi
std::pair< int, edm::FunctionWithDict > OK
Definition: findMethod.cc:136
#define constexpr
double minimum(double a, double b) const
double PFEnergyCalibration::dEtaEndcapEH ( double  x) const
private

Definition at line 568 of file PFEnergyCalibration.cc.

References fdEtaEndcapEH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfdEta_ENDCAPEH, and point.

Referenced by energyEmHad().

568  {
569  if ( pfCalibrations ) {
573 
574  } else{
575 
576  return fdEtaEndcapEH->Eval(x);
577  }
578 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > fdEtaEndcapEH
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::dEtaEndcapH ( double  x) const
private

Definition at line 529 of file PFEnergyCalibration.cc.

References fdEtaEndcapH, PerformancePayloadFromTFormula::getResult(), BinningPointByMap::insert(), BinningVariables::JetEt, pfCalibrations, PerformanceResult::PFfdEta_ENDCAPH, and point.

Referenced by energyEmHad().

529  {
530  if ( pfCalibrations ) {
534 
535  } else{
536 
537  return fdEtaEndcapH->Eval(x);
538  }
539 }
const PerformancePayloadFromTFormula * pfCalibrations
float getResult(PerformanceResult::ResultType, const BinningPointByMap &) const override
bool insert(BinningVariables::BinningVariablesType, float)
std::unique_ptr< TF1 > fdEtaEndcapH
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
double PFEnergyCalibration::Ecorr ( double  eEcal,
double  ePS1,
double  ePS2,
double  eta,
double  phi,
bool  crackCorrection = true 
) const
private

Definition at line 1118 of file PFEnergyCalibration.cc.

References Abs(), constexpr, EcorrBarrel(), EcorrPS(), EcorrPS_ePSNil(), EcorrZoneAfterPS(), EcorrZoneBeforePS(), and mps_fire::result.

Referenced by energyEm().

1120  {
1121 
1122  constexpr double endBarrel=1.48;
1123  constexpr double beginingPS=1.65;
1124  constexpr double endPS=2.6;
1125  constexpr double endEndCap=2.98;
1126 
1127  double result=0;
1128 
1129  eta=TMath::Abs(eta);
1130 
1131  if(eEcal>0){
1132  if(eta <= endBarrel) result = EcorrBarrel(eEcal,eta,phi,crackCorrection);
1133  else if(eta <= beginingPS) result = EcorrZoneBeforePS(eEcal,eta);
1134  else if((eta < endPS) && ePS1==0 && ePS2==0) result = EcorrPS_ePSNil(eEcal,eta);
1135  else if(eta < endPS) result = EcorrPS(eEcal,ePS1,ePS2,eta);
1136  else if(eta < endEndCap) result = EcorrZoneAfterPS(eEcal,eta);
1137  else result =eEcal;
1138  }
1139  else result = eEcal;// useful if eEcal=0 or eta>2.98
1140  //protection
1141  if(result<eEcal) result=eEcal;
1142  return result;
1143 }
double EcorrZoneBeforePS(double E, double eta) const
T Abs(T a)
Definition: MathUtil.h:49
double EcorrZoneAfterPS(double E, double eta) const
double EcorrPS_ePSNil(double eEcal, double eta) const
double EcorrBarrel(double E, double eta, double phi, bool crackCorrection=true) const
#define constexpr
double EcorrPS(double eEcal, double ePS1, double ePS2, double etaEcal) const
double PFEnergyCalibration::Ecorr ( double  eEcal,
double  ePS1,
double  ePS2,
double  eta,
double  phi,
double &  ps1,
double &  ps2,
bool  crackCorrection = true 
) const
private

Definition at line 1148 of file PFEnergyCalibration.cc.

References Abs(), constexpr, EcorrBarrel(), EcorrPS(), EcorrPS_ePSNil(), EcorrZoneAfterPS(), EcorrZoneBeforePS(), and mps_fire::result.

1148  {
1149 
1150  constexpr double endBarrel=1.48;
1151  constexpr double beginingPS=1.65;
1152  constexpr double endPS=2.6;
1153  constexpr double endEndCap=2.98;
1154 
1155  double result=0;
1156 
1157  eta=TMath::Abs(eta);
1158 
1159  if(eEcal>0){
1160  if(eta <= endBarrel) result = EcorrBarrel(eEcal,eta,phi,crackCorrection);
1161  else if(eta <= beginingPS) result = EcorrZoneBeforePS(eEcal,eta);
1162  else if((eta < endPS) && ePS1==0 && ePS2==0) result = EcorrPS_ePSNil(eEcal,eta);
1163  else if(eta < endPS) result = EcorrPS(eEcal,ePS1,ePS2,eta,ps1,ps2);
1164  else if(eta < endEndCap) result = EcorrZoneAfterPS(eEcal,eta);
1165  else result =eEcal;
1166  }
1167  else result = eEcal;// useful if eEcal=0 or eta>2.98
1168  // protection
1169  if(result<eEcal) result=eEcal;
1170  return result;
1171 }
double EcorrZoneBeforePS(double E, double eta) const
T Abs(T a)
Definition: MathUtil.h:49
double EcorrZoneAfterPS(double E, double eta) const
double EcorrPS_ePSNil(double eEcal, double eta) const
double EcorrBarrel(double E, double eta, double phi, bool crackCorrection=true) const
#define constexpr
double EcorrPS(double eEcal, double ePS1, double ePS2, double etaEcal) const
double PFEnergyCalibration::EcorrBarrel ( double  E,
double  eta,
double  phi,
bool  crackCorrection = true 
) const
private

Definition at line 953 of file PFEnergyCalibration.cc.

References CorrBarrel(), CorrEta(), CorrPhi(), SiStripPI::max, and mps_fire::result.

Referenced by Ecorr().

954  {
955 
956  // double result = E*CorrBarrel(E,eta)*CorrEta(eta)*CorrPhi(phi,eta);
957  double correction = crackCorrection ? std::max(CorrEta(eta),CorrPhi(phi,eta)) : 1.;
958  double result = E * CorrBarrel(E,eta) * correction;
959 
960  return result;
961 }
double CorrBarrel(double E, double eta) const
double CorrEta(double eta) const
double CorrPhi(double phi, double eta) const
double PFEnergyCalibration::EcorrPS ( double  eEcal,
double  ePS1,
double  ePS2,
double  etaEcal 
) const
private

Definition at line 992 of file PFEnergyCalibration.cc.

References Alpha(), Beta(), constexpr, MillePedeFileConverter_cfg::e, Gamma(), p1, p2, p3, p4, and mps_fire::result.

Referenced by Ecorr().

992  {
993 
994  // gives the good weights to each subdetector
995  double E = Beta(1.0155*eEcal+0.025*(ePS1+0.5976*ePS2)/9e-5,etaEcal)*eEcal+Gamma(etaEcal)*(ePS1+Alpha(etaEcal)*ePS2)/9e-5 ;
996 
997  //Correction of the residual energy dependency
998  constexpr double p0 = 1.00;
999  constexpr double p1 = 2.18;
1000  constexpr double p2 =1.94;
1001  constexpr double p3 =4.13;
1002  constexpr double p4 =1.127;
1003 
1004  double result = E*(p0+p1*TMath::Exp(-E/p2)-p3*TMath::Exp(-E/p4));
1005 
1006  return result;
1007 }
double Alpha(double eta) const
double p4[4]
Definition: TauolaWrapper.h:92
double Beta(double E, double eta) const
double p2[4]
Definition: TauolaWrapper.h:90
double Gamma(double etaEcal) const
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double p3[4]
Definition: TauolaWrapper.h:91
double PFEnergyCalibration::EcorrPS ( double  eEcal,
double  ePS1,
double  ePS2,
double  etaEcal,
double &  outputPS1,
double &  outputPS2 
) const
private

Definition at line 1012 of file PFEnergyCalibration.cc.

References Alpha(), Beta(), constexpr, MillePedeFileConverter_cfg::e, esEEInterCalib_, Gamma(), ESEEIntercalibConstants::getGammaLow0(), ESEEIntercalibConstants::getGammaLow1(), ESEEIntercalibConstants::getGammaLow2(), ESEEIntercalibConstants::getGammaLow3(), p1, p2, p3, p4, and mps_fire::result.

1012  {
1013 
1014  // gives the good weights to each subdetector
1015  double gammaprime=Gamma(etaEcal)/9e-5;
1016 
1017  if(outputPS1 == 0 && outputPS2 == 0 && esEEInterCalib_ != nullptr){
1018  // both ES planes working
1019  // scaling factor accounting for data-mc
1020  outputPS1=gammaprime*ePS1 * esEEInterCalib_->getGammaLow0();
1021  outputPS2=gammaprime*Alpha(etaEcal)*ePS2 * esEEInterCalib_->getGammaLow3();
1022  }
1023  else if(outputPS1 == 0 && outputPS2 == -1 && esEEInterCalib_ != nullptr){
1024  // ESP1 only working
1025  double corrTotES = gammaprime*ePS1 * esEEInterCalib_->getGammaLow0() * esEEInterCalib_->getGammaLow1();
1026  outputPS1 = gammaprime*ePS1 * esEEInterCalib_->getGammaLow0();
1027  outputPS2 = corrTotES - outputPS1;
1028  }
1029  else if(outputPS1 == -1 && outputPS2 == 0 && esEEInterCalib_ != nullptr){
1030  // ESP2 only working
1031  double corrTotES = gammaprime*Alpha(etaEcal)*ePS2 * esEEInterCalib_->getGammaLow3() * esEEInterCalib_->getGammaLow2();
1032  outputPS2 = gammaprime*Alpha(etaEcal)*ePS2 * esEEInterCalib_->getGammaLow3();
1033  outputPS1 = corrTotES - outputPS2;
1034  }
1035  else{
1036  // none working
1037  outputPS1 = gammaprime*ePS1;
1038  outputPS2 = gammaprime*Alpha(etaEcal)*ePS2;
1039  }
1040 
1041  double E = Beta(1.0155*eEcal+0.025*(ePS1+0.5976*ePS2)/9e-5,etaEcal)*eEcal+outputPS1+outputPS2;
1042 
1043  //Correction of the residual energy dependency
1044  constexpr double p0 = 1.00;
1045  constexpr double p1 = 2.18;
1046  constexpr double p2 =1.94;
1047  constexpr double p3 =4.13;
1048  constexpr double p4 =1.127;
1049 
1050  double corrfac=(p0+p1*TMath::Exp(-E/p2)-p3*TMath::Exp(-E/p4));
1051  outputPS1*=corrfac;
1052  outputPS2*=corrfac;
1053  double result = E*corrfac;
1054 
1055  return result;
1056 }
const ESEEIntercalibConstants * esEEInterCalib_
double Alpha(double eta) const
double p4[4]
Definition: TauolaWrapper.h:92
double Beta(double E, double eta) const
double p2[4]
Definition: TauolaWrapper.h:90
double Gamma(double etaEcal) const
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double p3[4]
Definition: TauolaWrapper.h:91
double PFEnergyCalibration::EcorrPS_ePSNil ( double  eEcal,
double  eta 
) const
private

Definition at line 1062 of file PFEnergyCalibration.cc.

References Abs(), constexpr, p1, p2, p3, p4, and mps_fire::result.

Referenced by Ecorr().

1062  {
1063 
1064  //Energy dependency
1065  constexpr double p0= 1.02;
1066  constexpr double p1= 0.165;
1067  constexpr double p2= 6.5 ;
1068  constexpr double p3= 2.1 ;
1069 
1070  //Eta dependency
1071  constexpr double p4 = 1.02496e+00 ;
1072  constexpr double p5 = -4.40176e-03 ;
1073 
1074  //so that <feta()> = 1
1075  constexpr double norm = (p4+p5*(2.6+1.656)/2);
1076 
1077  double result = eEcal*(p0+p1*TMath::Exp(-TMath::Abs(eEcal-p3)/p2))*(p4+p5*eta)/norm;
1078 
1079  return result;
1080 }
double p4[4]
Definition: TauolaWrapper.h:92
T Abs(T a)
Definition: MathUtil.h:49
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double p3[4]
Definition: TauolaWrapper.h:91
double PFEnergyCalibration::EcorrZoneAfterPS ( double  E,
double  eta 
) const
private

Definition at line 1085 of file PFEnergyCalibration.cc.

References constexpr, p1, p2, p3, p4, and mps_fire::result.

Referenced by Ecorr().

1085  {
1086 
1087  //Energy dependency
1088  constexpr double p0 =1;
1089  constexpr double p1 = 0.058;
1090  constexpr double p2 =12.5;
1091  constexpr double p3 =-1.05444e+00;
1092  constexpr double p4 =-5.39557e+00;
1093  constexpr double p5 =8.38444e+00;
1094  constexpr double p6 = 6.10998e-01 ;
1095 
1096  //Eta dependency
1097  constexpr double p7 =1.06161e+00;
1098  constexpr double p8 = 0.41;
1099  constexpr double p9 =2.918;
1100  constexpr double p10 =0.0181;
1101  constexpr double p11= 2.05;
1102  constexpr double p12 =2.99;
1103  constexpr double p13=0.0287;
1104 
1105  //so that <feta()> = 1
1106  constexpr double norm=1.045;
1107 
1108  double result = E*(p0+p1*TMath::Exp(-(E-p3)/p2)+1/(p4+p5*TMath::Power(E,p6)))*(p7+p8*TMath::Gaus(eta,p9,p10)+p11*TMath::Gaus(eta,p12,p13))/norm;
1109  return result;
1110 }
double p4[4]
Definition: TauolaWrapper.h:92
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double p3[4]
Definition: TauolaWrapper.h:91
double PFEnergyCalibration::EcorrZoneBeforePS ( double  E,
double  eta 
) const
private

Definition at line 966 of file PFEnergyCalibration.cc.

References constexpr, PVValHelper::eta, p1, p2, p3, p4, and mps_fire::result.

Referenced by Ecorr().

966  {
967 
968  //Energy dependency
969  constexpr double p0 =1;
970  constexpr double p1 =0.18;
971  constexpr double p2 =8.;
972 
973  //Eta dependency
974  constexpr double p3 =0.3;
975  constexpr double p4 =1.11;
976  constexpr double p5 =0.025;
977  constexpr double p6 =1.49;
978  constexpr double p7 =0.6;
979 
980  //so that <feta()> = 1
981  constexpr double norm = 1.21;
982 
983  double result = E*(p0+p1*TMath::Exp(-E/p2))*(p3+p4*TMath::Gaus(eta,p6,p5)+p7*eta)/norm;
984 
985  return result;
986 }
double p4[4]
Definition: TauolaWrapper.h:92
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
double p3[4]
Definition: TauolaWrapper.h:91
double PFEnergyCalibration::energyEm ( const reco::PFCluster clusterEcal,
std::vector< double > &  EclustersPS1,
std::vector< double > &  EclustersPS2,
bool  crackCorrection = true 
) const

Definition at line 581 of file PFEnergyCalibration.cc.

Referenced by energyEm().

584  {
585  double ePS1(std::accumulate(EclustersPS1.begin(), EclustersPS1.end(), 0.0));
586  double ePS2(std::accumulate(EclustersPS2.begin(), EclustersPS2.end(), 0.0));
587  return energyEm(clusterEcal, ePS1, ePS2, crackCorrection);
588 }
double energyEm(const reco::PFCluster &clusterEcal, std::vector< double > &EclustersPS1, std::vector< double > &EclustersPS2, bool crackCorrection=true) const
double PFEnergyCalibration::energyEm ( const reco::PFCluster clusterEcal,
double  ePS1,
double  ePS2,
bool  crackCorrection = true 
) const

Definition at line 591 of file PFEnergyCalibration.cc.

References reco::PFCluster::calculatePositionREP(), Ecorr(), reco::PFCluster::energy(), PVValHelper::eta, phi, and reco::PFCluster::positionREP().

594  {
595  double eEcal = clusterEcal.energy();
596  //temporaty ugly fix
597  reco::PFCluster myPFCluster=clusterEcal;
598  myPFCluster.calculatePositionREP();
599  double eta = myPFCluster.positionREP().eta();
600  double phi = myPFCluster.positionREP().phi();
601 
602  double calibrated = Ecorr(eEcal,ePS1,ePS2,eta,phi, crackCorrection);
603  // if(eEcal!=0 && calibrated==0) std::cout<<"Eecal = "<<eEcal<<" eta = "<<eta<<" phi = "<<phi<<std::endl;
604  return calibrated;
605 }
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:47
double Ecorr(double eEcal, double ePS1, double ePS2, double eta, double phi, bool crackCorrection=true) const
void calculatePositionREP()
computes posrep_ once and for all
Definition: PFCluster.h:100
const REPPoint & positionREP() const
cluster position: rho, eta, phi
Definition: PFCluster.h:97
double energy() const
cluster energy
Definition: PFCluster.h:82
double PFEnergyCalibration::energyEm ( const reco::PFCluster clusterEcal,
std::vector< double > &  EclustersPS1,
std::vector< double > &  EclustersPS2,
double &  ps1,
double &  ps2,
bool  crackCorrection = true 
) const

Definition at line 607 of file PFEnergyCalibration.cc.

References energyEm().

611  {
612  double ePS1(std::accumulate(EclustersPS1.begin(), EclustersPS1.end(), 0.0));
613  double ePS2(std::accumulate(EclustersPS2.begin(), EclustersPS2.end(), 0.0));
614  return energyEm(clusterEcal, ePS1, ePS2, ps1, ps2, crackCorrection);
615 }
double energyEm(const reco::PFCluster &clusterEcal, std::vector< double > &EclustersPS1, std::vector< double > &EclustersPS2, bool crackCorrection=true) const
double PFEnergyCalibration::energyEm ( const reco::PFCluster clusterEcal,
double  ePS1,
double  ePS2,
double &  ps1,
double &  ps2,
bool  crackCorrection = true 
) const

Definition at line 616 of file PFEnergyCalibration.cc.

References reco::PFCluster::calculatePositionREP(), Ecorr(), reco::PFCluster::energy(), PVValHelper::eta, phi, and reco::PFCluster::positionREP().

619  {
620  double eEcal = clusterEcal.energy();
621  //temporaty ugly fix
622  reco::PFCluster myPFCluster=clusterEcal;
623  myPFCluster.calculatePositionREP();
624  double eta = myPFCluster.positionREP().eta();
625  double phi = myPFCluster.positionREP().phi();
626 
627  double calibrated = Ecorr(eEcal,ePS1,ePS2,eta,phi,ps1,ps2,crackCorrection);
628  // if(eEcal!=0 && calibrated==0) std::cout<<"Eecal = "<<eEcal<<" eta = "<<eta<<" phi = "<<phi<<std::endl;
629  return calibrated;
630 }
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:47
double Ecorr(double eEcal, double ePS1, double ePS2, double eta, double phi, bool crackCorrection=true) const
void calculatePositionREP()
computes posrep_ once and for all
Definition: PFCluster.h:100
const REPPoint & positionREP() const
cluster position: rho, eta, phi
Definition: PFCluster.h:97
double energy() const
cluster energy
Definition: PFCluster.h:82
void PFEnergyCalibration::energyEmHad ( double  t,
double &  e,
double &  h,
double  eta,
double  phi 
) const

Definition at line 169 of file PFEnergyCalibration.cc.

References a, aBarrel(), funct::abs(), aEndcap(), aEtaBarrelEH(), aEtaBarrelH(), aEtaEndcapEH(), aEtaEndcapH(), b, bBarrel(), bEndcap(), bEtaBarrelEH(), bEtaBarrelH(), bEtaEndcapEH(), bEtaEndcapH(), cBarrel(), cEndcap(), cEtaBarrelEH(), cEtaBarrelH(), cEtaEndcapEH(), cEtaEndcapH(), particleFlow_cfi::dEta, dEtaEndcapEH(), dEtaEndcapH(), MillePedeFileConverter_cfg::e, h, SiStripPI::max, min(), protons_cff::t, scrapingFilter_cfi::thresh, threshE, threshH, and groupFilesInBlocks::tt.

169  {
170 
171  // Use calorimetric energy as true energy for neutral particles
172  double tt = t;
173  double ee = e;
174  double hh = h;
175  double a = 1.;
176  double b = 1.;
177  double etaCorrE = 1.;
178  double etaCorrH = 1.;
179  auto absEta = std::abs(eta);
180  t = min(999.9,max(tt,e+h));
181  if ( t < 1. ) return;
182 
183  // Barrel calibration
184  if ( absEta < 1.48 ) {
185  // The energy correction
186  a = e>0. ? aBarrel(t) : 1.;
187  b = e>0. ? bBarrel(t) : cBarrel(t);
188  double thresh = e > 0. ? threshE : threshH;
189 
190  // Protection against negative calibration
191  if ( a < -0.25 || b < -0.25 ) {
192  a = 1.;
193  b = 1.;
194  thresh = 0.;
195  }
196 
197  // The new estimate of the true energy
198  t = min(999.9,max(tt, thresh+a*e+b*h));
199 
200  // The angular correction
201  if ( e > 0. && thresh > 0. ) {
202  etaCorrE = 1.0 + aEtaBarrelEH(t) + 1.3*bEtaBarrelEH(t)*cEtaBarrelEH(absEta);
203  etaCorrH = 1.0;
204  } else {
205  etaCorrE = 1.0 + aEtaBarrelH(t) + 1.3*bEtaBarrelH(t)*cEtaBarrelH(absEta);
206  etaCorrH = 1.0 + aEtaBarrelH(t) + bEtaBarrelH(t)*cEtaBarrelH(absEta);
207 
208 
209  }
210  if ( e > 0. && thresh > 0. )
211  e = h > 0. ? threshE-threshH + etaCorrE * a * e : threshE + etaCorrE * a * e;
212  if ( h > 0. && thresh > 0. ) {
213  h = threshH + etaCorrH * b * h;
214  }
215 
216  // Endcap calibration
217  } else {
218  // The energy correction
219  a = e>0. ? aEndcap(t) : 1.;
220  b = e>0. ? bEndcap(t) : cEndcap(t);
221  double thresh = e > 0. ? threshE : threshH;
222 
223  // Protection against negative calibration
224  if ( a < -0.25 || b < -0.25 ) {
225  a = 1.;
226  b = 1.;
227  thresh = 0.;
228  }
229 
230  // The new estimate of the true energy
231  t = min(999.9,max(tt, thresh+a*e+b*h));
232 
233  // The angular correction
234  double dEta = std::abs( absEta - 1.5 );
235  double etaPow = dEta * dEta * dEta * dEta;
236 
237 
238  if ( e > 0. && thresh > 0. ) {
239  if(absEta<2.5) {
240  etaCorrE = 1. + aEtaEndcapEH(t) + bEtaEndcapEH(t)*cEtaEndcapEH(absEta);
241  }
242  else {
243 
244  etaCorrE = 1. + aEtaEndcapEH(t) + 1.3*bEtaEndcapEH(t)*dEtaEndcapEH(absEta);
245  }
246 
247  etaCorrH = 1. + aEtaEndcapEH(t) + bEtaEndcapEH(t)*(0.04 + etaPow);
248  } else {
249  etaCorrE = 1.;
250  if(absEta<2.5) {
251  etaCorrH = 1. + aEtaEndcapH(t) + bEtaEndcapH(t)*cEtaEndcapH(absEta);
252  }
253  else {
254  etaCorrH = 1. + aEtaEndcapH(t) + bEtaEndcapH(t)*dEtaEndcapH(absEta);
255  }
256  }
257 
258  //t = min(999.9,max(tt, thresh + etaCorrE*a*e + etaCorrH*b*h));
259 
260  if ( e > 0. && thresh > 0. )
261  e = h > 0. ? threshE-threshH + etaCorrE * a * e : threshE + etaCorrE * a * e;
262  if ( h > 0. && thresh > 0. ) {
263  h = threshH + etaCorrH * b * h;
264  }
265  }
266 
267  // Protection
268  if ( e < 0. || h < 0. ) {
269 
270  // Some protection against crazy calibration
271  if ( e < 0. ) e = ee;
272  if ( h < 0. ) h = hh;
273  }
274 
275  // And that's it !
276 
277 
278 }
double aEtaEndcapEH(double x) const
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
double bBarrel(double x) const
double cEtaEndcapEH(double x) const
double aEtaBarrelEH(double x) const
double aEndcap(double x) const
double bEndcap(double x) const
double bEtaEndcapH(double x) const
double aEtaBarrelH(double x) const
double cEtaBarrelH(double x) const
double cEtaBarrelEH(double x) const
double bEtaBarrelEH(double x) const
double cEndcap(double x) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
T min(T a, T b)
Definition: MathUtil.h:58
double dEtaEndcapEH(double x) const
double bEtaEndcapEH(double x) const
double bEtaBarrelH(double x) const
double dEtaEndcapH(double x) const
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
double aEtaEndcapH(double x) const
double aBarrel(double x) const
double cBarrel(double x) const
double cEtaEndcapH(double x) const
double PFEnergyCalibration::Gamma ( double  etaEcal) const
private

Definition at line 924 of file PFEnergyCalibration.cc.

References constexpr, p1, p2, and mps_fire::result.

Referenced by EcorrPS().

924  {
925 
926  //Energy dependency
927  constexpr double p0 = 2.49752e-02;
928 
929  //Eta dependency
930  constexpr double p1 = 6.48816e-02;
931  constexpr double p2 = -1.59517e-02;
932 
933  //so that <feta()> = 1
934  constexpr double norm = (p1+p2*(2.6+1.656)/2);
935 
936  double result = p0*(p1+p2*etaEcal)/norm;
937 
938  return result;
939 }
double p2[4]
Definition: TauolaWrapper.h:90
double p1[4]
Definition: TauolaWrapper.h:89
#define constexpr
void PFEnergyCalibration::initAlphaGamma_ESplanes_fromDB ( const ESEEIntercalibConstants esEEInterCalib)
inline

Definition at line 78 of file PFEnergyCalibration.h.

References esEEInterCalib_, operator<<, and MillePedeFileConverter_cfg::out.

78  {
79  esEEInterCalib_ = esEEInterCalib;
80  }
const ESEEIntercalibConstants * esEEInterCalib_
void PFEnergyCalibration::initializeCalibrationFunctions ( )

Definition at line 28 of file PFEnergyCalibration.cc.

References MillePedeFileConverter_cfg::e, faBarrel, faEndcap, faEtaBarrelEH, faEtaBarrelH, faEtaEndcapEH, faEtaEndcapH, fbBarrel, fbEndcap, fbEtaBarrelEH, fbEtaBarrelH, fbEtaEndcapEH, fbEtaEndcapH, fcBarrel, fcEndcap, fcEtaBarrelEH, fcEtaBarrelH, fcEtaEndcapEH, fcEtaEndcapH, fdEtaEndcapEH, fdEtaEndcapH, threshE, and threshH.

Referenced by PFEnergyCalibration().

28  {
29 
30  threshE = 3.5;
31  threshH = 2.5;
32 
33 
34  //calibChrisClean.C calibration parameters bhumika Nov, 2018
35  faBarrel = std::make_unique<TF1>("faBarrel","[0]+((([1]+([2]/sqrt(x)))*exp(-(x^[6]/[3])))-([4]*exp(-(x^[7]/[5]))))",0.,1000.);
36  faBarrel->SetParameter(0,-30.7141);
37  faBarrel->SetParameter(1,31.7583);
38  faBarrel->SetParameter(2,4.40594);
39  faBarrel->SetParameter(3,1.70914);
40  faBarrel->SetParameter(4,0.0613696);
41  faBarrel->SetParameter(5,0.000104857);
42  faBarrel->SetParameter(6,-1.38927);
43  faBarrel->SetParameter(7,-0.743082);
44  fbBarrel = std::make_unique<TF1>("fbBarrel","[0]+((([1]+([2]/sqrt(x)))*exp(-(x^[6]/[3])))-([4]*exp(-(x^[7]/[5]))))",0.,1000.);
45  fbBarrel->SetParameter(0,2.25366);
46  fbBarrel->SetParameter(1,0.537715);
47  fbBarrel->SetParameter(2,-4.81375);
48  fbBarrel->SetParameter(3,12.109);
49  fbBarrel->SetParameter(4,1.80577);
50  fbBarrel->SetParameter(5,0.187919);
51  fbBarrel->SetParameter(6,-6.26234);
52  fbBarrel->SetParameter(7,-0.607392);
53  fcBarrel = std::make_unique<TF1>("fcBarrel","[0]+((([1]+([2]/sqrt(x)))*exp(-(x^[6]/[3])))-([4]*exp(-(x^[7]/[5]))))",0.,1000.);
54  fcBarrel->SetParameter(0,1.5125962);
55  fcBarrel->SetParameter(1,0.855057);
56  fcBarrel->SetParameter(2,-6.04199);
57  fcBarrel->SetParameter(3,2.08229);
58  fcBarrel->SetParameter(4,0.592266);
59  fcBarrel->SetParameter(5,0.0291232);
60  fcBarrel->SetParameter(6,0.364802);
61  fcBarrel->SetParameter(7,-1.50142);
62  faEtaBarrelEH = std::make_unique<TF1>("faEtaBarrelEH","[0]+[1]*exp(-x/[2])",0.,1000.);
63  faEtaBarrelEH->SetParameter(0,0.0185555);
64  faEtaBarrelEH->SetParameter(1,-0.0470674);
65  faEtaBarrelEH->SetParameter(2,396.959);
66  fbEtaBarrelEH = std::make_unique<TF1>("fbEtaBarrelEH","[0]+[1]*exp(-x/[2])",0.,1000.);
67  fbEtaBarrelEH->SetParameter(0,0.0396458);
68  fbEtaBarrelEH->SetParameter(1,0.114128);
69  fbEtaBarrelEH->SetParameter(2,251.405);
70  faEtaBarrelH = std::make_unique<TF1>("faEtaBarrelH","[0]+[1]*x",0.,1000.);
71  faEtaBarrelH->SetParameter(0,0.00434994);
72  faEtaBarrelH->SetParameter(1,-5.16564e-06);
73  fbEtaBarrelH = std::make_unique<TF1>("fbEtaBarrelH","[0]+[1]*exp(-x/[2])",0.,1000.);
74  fbEtaBarrelH->SetParameter(0,-0.0232604);
75  fbEtaBarrelH->SetParameter(1,0.0937525);
76  fbEtaBarrelH->SetParameter(2,34.9935);
77 
78  faEndcap = std::make_unique<TF1>("faEndcap","[0]+((([1]+([2]/sqrt(x)))*exp(-(x^[6]/[3])))-([4]*exp(-(x^[7]/[5]))))",0.,1000.);
79  faEndcap->SetParameter(0,1.17227);
80  faEndcap->SetParameter(1,13.1489);
81  faEndcap->SetParameter(2,-29.1672);
82  faEndcap->SetParameter(3,0.604223);
83  faEndcap->SetParameter(4,0.0426363);
84  faEndcap->SetParameter(5,3.30898e-15);
85  faEndcap->SetParameter(6,0.165293);
86  faEndcap->SetParameter(7,-7.56786);
87  fbEndcap = std::make_unique<TF1>("fbEndcap","[0]+((([1]+([2]/sqrt(x)))*exp(-(x^[6]/[3])))-([4]*exp(-(x^[7]/[5]))))",0.,1000.);
88  fbEndcap->SetParameter(0,-0.974251);
89  fbEndcap->SetParameter(1,1.61733);
90  fbEndcap->SetParameter(2,0.0629183);
91  fbEndcap->SetParameter(3,7.78495);
92  fbEndcap->SetParameter(4,-0.774289);
93  fbEndcap->SetParameter(5,7.81399e-05);
94  fbEndcap->SetParameter(6,0.139116);
95  fbEndcap->SetParameter(7,-4.25551);
96  fcEndcap = std::make_unique<TF1>("fcEndcap","[0]+((([1]+([2]/sqrt(x)))*exp(-(x^[6]/[3])))-([4]*exp(-(x^[7]/[5]))))",0.,1000.);
97  fcEndcap->SetParameter(0,1.01863);
98  fcEndcap->SetParameter(1,1.29787);
99  fcEndcap->SetParameter(2,-3.97293);
100  fcEndcap->SetParameter(3,21.7805);
101  fcEndcap->SetParameter(4,0.810195);
102  fcEndcap->SetParameter(5,0.234134);
103  fcEndcap->SetParameter(6,1.42226);
104  fcEndcap->SetParameter(7,-0.0997326);
105  faEtaEndcapEH = std::make_unique<TF1>("faEtaEndcapEH","[0]+[1]*exp(-x/[2])",0.,1000.);
106  faEtaEndcapEH->SetParameter(0,0.0112692);
107  faEtaEndcapEH->SetParameter(1,-2.68063);
108  faEtaEndcapEH->SetParameter(2,2.90973);
109  fbEtaEndcapEH = std::make_unique<TF1>("fbEtaEndcapEH","[0]+[1]*exp(-x/[2])",0.,1000.);
110  fbEtaEndcapEH->SetParameter(0,-0.0192991);
111  fbEtaEndcapEH->SetParameter(1,-0.265);
112  fbEtaEndcapEH->SetParameter(2,80.5502);
113  faEtaEndcapH = std::make_unique<TF1>("faEtaEndcapH","[0]+[1]*exp(-x/[2])+[3]*[3]*exp(-x*x/([4]*[4]))",0.,1000.);
114  faEtaEndcapH->SetParameter(0,-0.0106029);
115  faEtaEndcapH->SetParameter(1,-0.692207);
116  faEtaEndcapH->SetParameter(2,0.0542991);
117  faEtaEndcapH->SetParameter(3,-0.171435);
118  faEtaEndcapH->SetParameter(4,-61.2277);
119  fbEtaEndcapH = std::make_unique<TF1>("fbEtaEndcapH","[0]+[1]*exp(-x/[2])+[3]*[3]*exp(-x*x/([4]*[4]))",0.,1000.);
120  fbEtaEndcapH->SetParameter(0,0.0214894);
121  fbEtaEndcapH->SetParameter(1,-0.266704);
122  fbEtaEndcapH->SetParameter(2,5.2112);
123  fbEtaEndcapH->SetParameter(3,0.303578);
124  fbEtaEndcapH->SetParameter(4,-104.367);
125 
126  //added by Bhumika on 2 august 2018
127 
128  fcEtaBarrelH = std::make_unique<TF1>("fcEtaBarrelH","[3]*((x-[0])^[1])+[2]",0.,1000.);
129  fcEtaBarrelH->SetParameter(0,0);
130  fcEtaBarrelH->SetParameter(1,2);
131  fcEtaBarrelH->SetParameter(2,0);
132  fcEtaBarrelH->SetParameter(3,1);
133 
134  fcEtaEndcapH = std::make_unique<TF1>("fcEtaEndcapH","[3]*((x-[0])^[1])+[2]",0.,1000.);
135  fcEtaEndcapH->SetParameter(0,0);
136  fcEtaEndcapH->SetParameter(1,0);
137  fcEtaEndcapH->SetParameter(2,0.05);
138  fcEtaEndcapH->SetParameter(3,0);
139 
140  fdEtaEndcapH = std::make_unique<TF1>("fdEtaEndcapH","[3]*((x-[0])^[1])+[2]",0.,1000.);
141  fdEtaEndcapH->SetParameter(0,1.5);
142  fdEtaEndcapH->SetParameter(1,4);
143  fdEtaEndcapH->SetParameter(2,-1.1);
144  fdEtaEndcapH->SetParameter(3,1.0);
145 
146  fcEtaBarrelEH = std::make_unique<TF1>("fcEtaBarrelEH","[3]*((x-[0])^[1])+[2]",0.,1000.);
147  fcEtaBarrelEH->SetParameter(0,0);
148  fcEtaBarrelEH->SetParameter(1,2);
149  fcEtaBarrelEH->SetParameter(2,0);
150  fcEtaBarrelEH->SetParameter(3,1);
151 
152  fcEtaEndcapEH = std::make_unique<TF1>("fcEtaEndcapEH","[3]*((x-[0])^[1])+[2]",0.,1000.);
153  fcEtaEndcapEH->SetParameter(0,0);
154  fcEtaEndcapEH->SetParameter(1,0);
155  fcEtaEndcapEH->SetParameter(2,0);
156  fcEtaEndcapEH->SetParameter(3,0);
157 
158  fdEtaEndcapEH = std::make_unique<TF1>("fdEtaEndcapEH","[3]*((x-[0])^[1])+[2]",0.,1000.);
159  fdEtaEndcapEH->SetParameter(0,1.5);
160  fdEtaEndcapEH->SetParameter(1,2.0);
161  fdEtaEndcapEH->SetParameter(2,0.6);
162  fdEtaEndcapEH->SetParameter(3,1.0);
163 
164 
165 
166 }
std::unique_ptr< TF1 > faEtaBarrelH
std::unique_ptr< TF1 > fcEtaEndcapEH
std::unique_ptr< TF1 > faEtaBarrelEH
std::unique_ptr< TF1 > fbEtaBarrelEH
std::unique_ptr< TF1 > fcEtaBarrelEH
std::unique_ptr< TF1 > fbBarrel
std::unique_ptr< TF1 > faEtaEndcapEH
std::unique_ptr< TF1 > faBarrel
std::unique_ptr< TF1 > faEndcap
std::unique_ptr< TF1 > fcEtaBarrelH
std::unique_ptr< TF1 > fbEtaBarrelH
std::unique_ptr< TF1 > fdEtaEndcapEH
std::unique_ptr< TF1 > faEtaEndcapH
std::unique_ptr< TF1 > fcEtaEndcapH
std::unique_ptr< TF1 > fbEndcap
std::unique_ptr< TF1 > fcBarrel
std::unique_ptr< TF1 > fdEtaEndcapH
std::unique_ptr< TF1 > fbEtaEndcapEH
std::unique_ptr< TF1 > fcEndcap
std::unique_ptr< TF1 > fbEtaEndcapH
double PFEnergyCalibration::minimum ( double  a,
double  b 
) const
private

Definition at line 729 of file PFEnergyCalibration.cc.

References a, Abs(), b, constexpr, mps_fire::i, M_PI, and pi.

Referenced by dCrackPhi().

729  {
730  if(TMath::Abs(b)<TMath::Abs(a)) a=b;
731  return a;
732 }
T Abs(T a)
Definition: MathUtil.h:49
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
void PFEnergyCalibration::setCalibrationFunctions ( const PerformancePayloadFromTFormula thePFCal)
inline

Definition at line 74 of file PFEnergyCalibration.h.

References pfCalibrations.

74  {
75  pfCalibrations = thePFCal;
76  }
const PerformancePayloadFromTFormula * pfCalibrations

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const PFEnergyCalibration calib 
)
friend

Definition at line 633 of file PFEnergyCalibration.cc.

Referenced by initAlphaGamma_ESplanes_fromDB().

634  {
635 
636  if(!out ) return out;
637 
638  out<<"PFEnergyCalibration -- "<<endl;
639 
640  if ( calib.pfCalibrations ) {
641 
642  static const std::map<std::string, PerformanceResult::ResultType> functType = {
643  {"PFfa_BARREL", PerformanceResult::PFfa_BARREL},
644  {"PFfa_ENDCAP", PerformanceResult::PFfa_ENDCAP},
645  {"PFfb_BARREL", PerformanceResult::PFfb_BARREL},
646  {"PFfb_ENDCAP", PerformanceResult::PFfb_ENDCAP},
647  {"PFfc_BARREL", PerformanceResult::PFfc_BARREL},
648  {"PFfc_ENDCAP", PerformanceResult::PFfc_ENDCAP},
649  {"PFfaEta_BARRELH", PerformanceResult::PFfaEta_BARRELH},
650  {"PFfaEta_ENDCAPH", PerformanceResult::PFfaEta_ENDCAPH},
651  {"PFfbEta_BARRELH", PerformanceResult::PFfbEta_BARRELH},
652  {"PFfbEta_ENDCAPH", PerformanceResult::PFfbEta_ENDCAPH},
653  {"PFfaEta_BARRELEH", PerformanceResult::PFfaEta_BARRELEH},
654  {"PFfaEta_ENDCAPEH", PerformanceResult::PFfaEta_ENDCAPEH},
655  {"PFfbEta_BARRELEH", PerformanceResult::PFfbEta_BARRELEH},
656  {"PFfbEta_ENDCAPEH", PerformanceResult::PFfbEta_ENDCAPEH},
657  {"PFfcEta_BARRELH", PerformanceResult::PFfcEta_BARRELH},
658  {"PFfcEta_ENDCAPH", PerformanceResult::PFfcEta_ENDCAPH},
659  {"PFfdEta_ENDCAPH", PerformanceResult::PFfdEta_ENDCAPH},
660  {"PFfcEta_BARRELEH", PerformanceResult::PFfcEta_BARRELEH},
661  {"PFfcEta_ENDCAPEH", PerformanceResult::PFfcEta_ENDCAPEH},
662  {"PFfdEta_ENDCAPEH", PerformanceResult::PFfdEta_ENDCAPEH}
663 
664  };
665 
666 
667  for(std::map<std::string,PerformanceResult::ResultType>::const_iterator
668  func = functType.begin();
669  func != functType.end();
670  ++func) {
671 
672  cout << "Function: " << func->first << endl;
673  PerformanceResult::ResultType fType = func->second;
674  calib.pfCalibrations->printFormula(fType);
675  }
676 
677  } else {
678 
679  std::cout << "Default calibration functions : " << std::endl;
680 
681  calib.faBarrel->Print();
682  calib.fbBarrel->Print();
683  calib.fcBarrel->Print();
684  calib.faEtaBarrelEH->Print();
685  calib.fbEtaBarrelEH->Print();
686  calib.faEtaBarrelH->Print();
687  calib.fbEtaBarrelH->Print();
688  calib.faEndcap->Print();
689  calib.fbEndcap->Print();
690  calib.fcEndcap->Print();
691  calib.faEtaEndcapEH->Print();
692  calib.fbEtaEndcapEH->Print();
693  calib.faEtaEndcapH->Print();
694  calib.fbEtaEndcapH->Print();
695  //
696 
697  }
698 
699  return out;
700 }
std::unique_ptr< TF1 > faEtaBarrelH
const PerformancePayloadFromTFormula * pfCalibrations
std::unique_ptr< TF1 > faEtaBarrelEH
std::unique_ptr< TF1 > fbEtaBarrelEH
std::unique_ptr< TF1 > fbBarrel
std::unique_ptr< TF1 > faEtaEndcapEH
std::unique_ptr< TF1 > faBarrel
std::unique_ptr< TF1 > faEndcap
std::unique_ptr< TF1 > fbEtaBarrelH
std::unique_ptr< TF1 > faEtaEndcapH
std::unique_ptr< TF1 > fbEndcap
std::unique_ptr< TF1 > fcBarrel
void printFormula(PerformanceResult::ResultType res) const
std::unique_ptr< TF1 > fbEtaEndcapEH
std::unique_ptr< TF1 > fcEndcap
std::unique_ptr< TF1 > fbEtaEndcapH

Member Data Documentation

const ESEEIntercalibConstants* PFEnergyCalibration::esEEInterCalib_
protected

Definition at line 90 of file PFEnergyCalibration.h.

Referenced by EcorrPS(), and initAlphaGamma_ESplanes_fromDB().

std::unique_ptr<TF1> PFEnergyCalibration::faBarrel
protected

Definition at line 93 of file PFEnergyCalibration.h.

Referenced by aBarrel(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::faEndcap
protected

Definition at line 102 of file PFEnergyCalibration.h.

Referenced by aEndcap(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::faEtaBarrelEH
protected

Definition at line 96 of file PFEnergyCalibration.h.

Referenced by aEtaBarrelEH(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::faEtaBarrelH
protected

Definition at line 98 of file PFEnergyCalibration.h.

Referenced by aEtaBarrelH(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::faEtaEndcapEH
protected

Definition at line 105 of file PFEnergyCalibration.h.

Referenced by aEtaEndcapEH(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::faEtaEndcapH
protected

Definition at line 107 of file PFEnergyCalibration.h.

Referenced by aEtaEndcapH(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fbBarrel
protected

Definition at line 94 of file PFEnergyCalibration.h.

Referenced by bBarrel(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fbEndcap
protected

Definition at line 103 of file PFEnergyCalibration.h.

Referenced by bEndcap(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fbEtaBarrelEH
protected

Definition at line 97 of file PFEnergyCalibration.h.

Referenced by bEtaBarrelEH(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fbEtaBarrelH
protected

Definition at line 99 of file PFEnergyCalibration.h.

Referenced by bEtaBarrelH(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fbEtaEndcapEH
protected

Definition at line 106 of file PFEnergyCalibration.h.

Referenced by bEtaEndcapEH(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fbEtaEndcapH
protected

Definition at line 108 of file PFEnergyCalibration.h.

Referenced by bEtaEndcapH(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fcBarrel
protected

Definition at line 95 of file PFEnergyCalibration.h.

Referenced by cBarrel(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fcEndcap
protected

Definition at line 104 of file PFEnergyCalibration.h.

Referenced by cEndcap(), initializeCalibrationFunctions(), and operator<<().

std::unique_ptr<TF1> PFEnergyCalibration::fcEtaBarrelEH
protected

Definition at line 111 of file PFEnergyCalibration.h.

Referenced by cEtaBarrelEH(), and initializeCalibrationFunctions().

std::unique_ptr<TF1> PFEnergyCalibration::fcEtaBarrelH
protected

Definition at line 114 of file PFEnergyCalibration.h.

Referenced by cEtaBarrelH(), and initializeCalibrationFunctions().

std::unique_ptr<TF1> PFEnergyCalibration::fcEtaEndcapEH
protected

Definition at line 112 of file PFEnergyCalibration.h.

Referenced by cEtaEndcapEH(), and initializeCalibrationFunctions().

std::unique_ptr<TF1> PFEnergyCalibration::fcEtaEndcapH
protected

Definition at line 115 of file PFEnergyCalibration.h.

Referenced by cEtaEndcapH(), and initializeCalibrationFunctions().

std::unique_ptr<TF1> PFEnergyCalibration::fdEtaEndcapEH
protected

Definition at line 113 of file PFEnergyCalibration.h.

Referenced by dEtaEndcapEH(), and initializeCalibrationFunctions().

std::unique_ptr<TF1> PFEnergyCalibration::fdEtaEndcapH
protected

Definition at line 116 of file PFEnergyCalibration.h.

Referenced by dEtaEndcapH(), and initializeCalibrationFunctions().

const PerformancePayloadFromTFormula* PFEnergyCalibration::pfCalibrations
protected
double PFEnergyCalibration::threshE
private

Definition at line 162 of file PFEnergyCalibration.h.

Referenced by energyEmHad(), and initializeCalibrationFunctions().

double PFEnergyCalibration::threshH
private

Definition at line 162 of file PFEnergyCalibration.h.

Referenced by energyEmHad(), and initializeCalibrationFunctions().