CMS 3D CMS Logo

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]
Definition: HeavyIon.h:7
Definition: Muon.py:1
Definition: Jet.py:1
Definition: Tau.py:1
std::vector< float > etaBinVals_
float obsRes(int obs, int eta, float eT)
long double T
Class to calculate MC resolutions for pat objects.