CMS 3D CMS Logo

PFEnergyCalibrationHF.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFClusterTools_PFEnergyCalibrationHF_h
2 #define RecoParticleFlow_PFClusterTools_PFEnergyCalibrationHF_h
3 
5 
6 // -*- C++ -*-
7 //
8 // Package: PFClusterTools
9 // Class: PFEnergyCalibrationHF
10 //
21 #include <iostream>
23 
25 public:
26  PFEnergyCalibrationHF(); // default constructor;
27  // needed by PFRootEvent
28  explicit PFEnergyCalibrationHF(bool calibHF_use,
29  const std::vector<double>& calibHF_eta_step,
30  const std::vector<double>& calibHF_a_EMonly,
31  const std::vector<double>& calibHF_b_HADonly,
32  const std::vector<double>& calibHF_a_EMHAD,
33  const std::vector<double>& calibHF_b_EMHAD);
34 
36 
37  double energyEm(double uncalibratedEnergyECAL, double eta, double phi);
38 
39  // HCAL only calibration
40  double energyHad(double uncalibratedEnergyHCAL, double eta, double phi);
41 
42  // ECAL+HCAL (abc) calibration
43  double energyEmHad(double uncalibratedEnergyECAL, double uncalibratedEnergyHCAL, double eta, double phi);
44 
45  friend std::ostream& operator<<(std::ostream& out, const PFEnergyCalibrationHF& calib);
46 
47  const bool& getcalibHF_use() const { return calibHF_use_; }
48  const std::vector<double>& getcalibHF_eta_step() const { return calibHF_eta_step_; }
49  const std::vector<double>& getcalibHF_a_EMonly() const { return calibHF_a_EMonly_; }
50  const std::vector<double>& getcalibHF_b_HADonly() const { return calibHF_b_HADonly_; }
51  const std::vector<double>& getcalibHF_a_EMHAD() const { return calibHF_a_EMHAD_; }
52  const std::vector<double>& getcalibHF_b_EMHAD() const { return calibHF_b_EMHAD_; }
53 
54 protected:
55 private:
57  std::vector<double> calibHF_eta_step_;
58  std::vector<double> calibHF_a_EMonly_;
59  std::vector<double> calibHF_b_HADonly_;
60  std::vector<double> calibHF_a_EMHAD_;
61  std::vector<double> calibHF_b_EMHAD_;
62 };
63 
64 #endif
friend std::ostream & operator<<(std::ostream &out, const PFEnergyCalibrationHF &calib)
const std::vector< double > & getcalibHF_a_EMonly() const
std::vector< double > calibHF_eta_step_
const std::vector< double > & getcalibHF_eta_step() const
const std::vector< double > & getcalibHF_b_EMHAD() const
double energyEmHad(double uncalibratedEnergyECAL, double uncalibratedEnergyHCAL, double eta, double phi)
const std::vector< double > & getcalibHF_a_EMHAD() const
double energyEm(double uncalibratedEnergyECAL, double eta, double phi)
std::vector< double > calibHF_a_EMonly_
const bool & getcalibHF_use() const
double energyHad(double uncalibratedEnergyHCAL, double eta, double phi)
std::vector< double > calibHF_b_EMHAD_
std::vector< double > calibHF_a_EMHAD_
std::vector< double > calibHF_b_HADonly_
const std::vector< double > & getcalibHF_b_HADonly() const