CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ObjectResolutionCalc.h
Go to the documentation of this file.
1 //
2 //
3 
4 #ifndef PhysicsTools_PatUtils_ObjectResolutionCalc_h
5 #define PhysicsTools_PatUtils_ObjectResolutionCalc_h
6 
20 
21 #include "TF1.h"
22 #include "TFile.h"
23 #include "TMultiLayerPerceptron.h"
24 #include "TString.h"
25 
26 namespace pat {
27 
29  public:
31  ObjectResolutionCalc(const TString& resopath, bool useNN);
33 
34  float obsRes(int obs, int eta, float eT);
35  int etaBin(float eta);
36 
37 #ifdef OBSOLETE
38  void operator()(Electron& obj);
39  void operator()(Muon& obj);
40  void operator()(Tau& obj);
41  void operator()(Jet& obj);
42  void operator()(MET& obj);
43 #else
44  // WORKAROUND
45  template <typename T>
46  void operator()(T& obj) {}
47 #endif
48 
49  private:
50  TFile* resoFile_;
51  std::vector<float> etaBinVals_;
52  TF1 fResVsEt_[10][10];
53  TMultiLayerPerceptron* network_[10];
54  bool useNN_;
55  };
56 
57 } // namespace pat
58 
59 #endif
Analysis-level MET class.
Definition: MET.h:40
TMultiLayerPerceptron * network_[10]
Analysis-level tau class.
Definition: Tau.h:53
std::vector< float > etaBinVals_
Analysis-level electron class.
Definition: Electron.h:51
Analysis-level calorimeter jet class.
Definition: Jet.h:77
float obsRes(int obs, int eta, float eT)
long double T
Analysis-level muon class.
Definition: Muon.h:51
Class to calculate MC resolutions for pat objects.