CMS 3D CMS Logo

PFTauElecRejectionBenchmark.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_Benchmark_PFTauElecRejectionBenchmark_h
2 #define RecoParticleFlow_Benchmark_PFTauElecRejectionBenchmark_h
3 
7 
10 
11 #include "Math/GenVector/VectorUtil.h"
12 #include "Math/GenVector/PxPyPzE4D.h"
13 #include "TLorentzVector.h"
14 
16 #include "TH1F.h"
17 #include "TH2F.h"
18 #include <string>
19 #include <TFile.h>
20 
22 
24 
26 
28 public:
31 
34 
35  void setup(std::string Filename,
36  std::string benchmarkLabel,
37  double maxDeltaR,
38  double minRecoPt,
39  double maxRecoAbsEta,
40  double minMCPt,
41  double maxMCAbsEta,
42  std::string sGenMatchObjectLabel,
43  bool applyEcalCrackCut,
44  DQMStore *db_store);
49  void write();
50 
51 private:
52  bool isInEcalCrack(double eta) const;
53 
54  TFile *file_;
57  double maxDeltaR_;
58  double minMCPt_;
59  double maxMCAbsEta_;
60  double minRecoPt_;
64 
65  // histograms
66  TH1F *hEoverP;
67  TH1F *hHoverP;
68  TH1F *hEmfrac;
69 
73 
77 
81 
85 
86  TH1F *hElecPreID;
87  TH1F *hElecMVA;
89 
90  TH2F *hHoPvsEoP;
93 
94  TH2F *hEmfracvsEoP;
97 
102 
103  TH1F *hleadTk_pt;
104  TH1F *hleadTk_eta;
105  TH1F *hleadTk_phi;
106 
107  // to be filled yet!
111 
112  std::vector<TLorentzVector> _GenObjects;
113 
114 protected:
116 };
117 
118 #endif // RecoParticleFlow_Benchmark_PFTauElecRejectionBenchmark_h
dqm::legacy::MonitorElement MonitorElement
std::vector< TLorentzVector > _GenObjects
void process(edm::Handle< edm::HepMCProduct > mcevt, edm::Handle< reco::PFTauCollection > pfTaus, edm::Handle< reco::PFTauDiscriminator > pfTauIsoDiscr, edm::Handle< reco::PFTauDiscriminator > pfTauElecDiscr)
void setup(std::string Filename, std::string benchmarkLabel, double maxDeltaR, double minRecoPt, double maxRecoAbsEta, double minMCPt, double maxMCAbsEta, std::string sGenMatchObjectLabel, bool applyEcalCrackCut, DQMStore *db_store)