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 
8 
11 
12 #include "Math/GenVector/VectorUtil.h"
13 #include "Math/GenVector/PxPyPzE4D.h"
14 #include "TLorentzVector.h"
15 
17 #include "TH1F.h"
18 #include "TH2F.h"
19 #include <string>
20 #include <TFile.h>
21 
24 
26 
28 
29 class TH1F;
30 class TH2F;
31 
32 //class DQMStore; // CMSSW_2_X_X not needed here?
33 
35 
36  public:
37 
40 
41  void setup(
42  std::string Filename,
43  std::string benchmarkLabel,
44  double maxDeltaR,
45  double minRecoPt,
46  double maxRecoAbsEta,
47  double minMCPt,
48  double maxMCAbsEta,
49  std::string sGenMatchObjectLabel,
50  bool applyEcalCrackCut,
51  DQMStore * db_store);
55  void write();
56 
57  private:
58 
59  bool isInEcalCrack(double eta) const;
60 
61  TFile *file_;
64  double maxDeltaR_;
65  double minMCPt_;
66  double maxMCAbsEta_;
67  double minRecoPt_;
71 
72  // histograms
73  TH1F *hEoverP;
74  TH1F *hHoverP;
75  TH1F *hEmfrac;
76 
80 
84 
88 
92 
93  TH1F *hElecPreID;
94  TH1F *hElecMVA;
96 
97  TH2F *hHoPvsEoP;
100 
104 
109 
110  TH1F *hleadTk_pt;
111  TH1F *hleadTk_eta;
112  TH1F *hleadTk_phi;
113 
114  // to be filled yet!
118 
119 
120  std::vector<TLorentzVector> _GenObjects;
121 
122  protected:
123 
125 };
126 
127 #endif // RecoParticleFlow_Benchmark_PFTauElecRejectionBenchmark_h
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)