CMS 3D CMS Logo

EffectiveAreas.h
Go to the documentation of this file.
1 #ifndef CommonTools_Egamma_EffectiveAreas_h
2 #define CommonTools_Egamma_EffectiveAreas_h
3 
4 #include <vector>
5 #include <string>
6 
8 public:
9  // Constructor, destructor
10  EffectiveAreas(const std::string& filename, const bool quadraticEAflag = false);
11 
12  // Accessors
13  const float getEffectiveArea(float eta) const;
14  const float getLinearEA(float eta) const;
15  const float getQuadraticEA(float eta) const;
16 
17  // Utility functions
18  void printEffectiveAreas() const;
19  void checkConsistency() const;
20 
21 private:
22  // Data members
23  const std::string filename_; // effective areas source file name
24  std::vector<float> absEtaMin_; // low limit of the eta range
25  std::vector<float> absEtaMax_; // upper limit of the eta range
26  std::vector<float> effectiveAreaValues_; // effective area for this eta range
27 
28  // Following members are for quadratic PU-correction (introduced for cutBasedPhotonID in Run3_122X)
29  const bool quadraticEAflag_;
30  std::vector<float> linearEffectiveAreaValues_;
31  std::vector<float> quadraticEffectiveAreaValues_;
32 };
33 
34 #endif
void printEffectiveAreas() const
std::vector< float > absEtaMax_
std::vector< float > effectiveAreaValues_
const float getQuadraticEA(float eta) const
EffectiveAreas(const std::string &filename, const bool quadraticEAflag=false)
const float getEffectiveArea(float eta) const
std::vector< float > absEtaMin_
const bool quadraticEAflag_
std::vector< float > linearEffectiveAreaValues_
void checkConsistency() const
std::vector< float > quadraticEffectiveAreaValues_
const float getLinearEA(float eta) const
const std::string filename_