CMS 3D CMS Logo

PFJetBenchmark.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_Benchmark_PFJetBenchmark_h
2 #define RecoParticleFlow_Benchmark_PFJetBenchmark_h
3 
5 
18 
19 //#include "FWCore/ServiceRegistry/interface/Service.h"
20 
21 #include "TH1F.h"
22 #include "TH2F.h"
23 #include <string>
24 #include <TFile.h>
25 #include <vector>
26 
27 
28 class DQMStore;
29 
31 
32  public:
33 
35  virtual ~PFJetBenchmark();
36 
37  void setup(
38  std::string Filename,
39  bool debug,
40  bool plotAgainstReco=0,
41  bool onlyTwoJets=1,
42  double deltaRMax=0.1,
43  std::string benchmarkLabel_ = "ParticleFlow",
44  double recPt = -1,
45  double maxEta = -1,
46  DQMStore * dbe_store = NULL
47  );
49  void gettrue (const reco::GenJet* truth, double& true_ChargedHadEnergy,
50  double& true_NeutralHadEnergy, double& true_NeutralEmEnergy);
51  void printPFJet (const reco::PFJet*);
52  void printGenJet (const reco::GenJet*);
53  double resPtMax() const {return resPtMax_;};
57 // void save();
58  void write();
59 
60  private:
61 
62  TFile *file_;
63 
64  // histograms
65  // Jets inclusive distributions (Pt > 20 GeV)
66  TH1F *hNjets;
67  TH1F *hjetsPt;
68  TH1F *hjetsEta;
69  TH2F *hRPtvsEta ;
70  TH2F *hDEtavsEta ;
71  TH2F *hDPhivsEta ;
72  TH2F *hRNeutvsEta ;
73  TH2F *hRNEUTvsEta ;
74  TH2F *hRNONLvsEta ;
75  TH2F *hRHCALvsEta ;
76  TH2F *hRHONLvsEta ;
77  TH2F *hRCHEvsEta ;
78  TH2F *hNCHvsEta;
79  TH2F* hNCH0vsEta;
80  TH2F* hNCH1vsEta;
81  TH2F* hNCH2vsEta;
82  TH2F* hNCH3vsEta;
83  TH2F* hNCH4vsEta;
84  TH2F* hNCH5vsEta;
85  TH2F* hNCH6vsEta;
86  TH2F* hNCH7vsEta;
87 
88  // delta Pt or E quantities for Barrel
89  TH1F *hBRPt;
90  TH1F *hBRPt20_40;
91  TH1F *hBRPt40_60;
92  TH1F *hBRPt60_80;
93  TH1F *hBRPt80_100;
94  TH1F *hBRPt100_150;
95  TH1F *hBRPt150_200;
96  TH1F *hBRPt200_250;
97  TH1F *hBRPt250_300;
98  TH1F *hBRPt300_400;
99  TH1F *hBRPt400_500;
104  TH1F *hBRCHE;
105  TH1F *hBRNHE;
106  TH1F *hBRNEE;
107  TH1F *hBRneut;
108  TH2F *hBRPtvsPt ;
109  TH2F *hBRCHEvsPt ;
110  TH2F *hBRNHEvsPt;
111  TH2F *hBRNEEvsPt;
112  TH2F *hBRneutvsPt;
113  TH2F *hBRNEUTvsP;
114  TH2F *hBRNONLvsP;
115  TH2F *hBRHCALvsP;
116  TH2F *hBRHONLvsP;
117  TH2F *hBDEtavsPt;
118  TH2F *hBDPhivsPt;
119  TH2F *hBNCHvsPt;
120  TH1F *hBNCH;
121  TH2F* hBNCH0vsPt;
122  TH2F* hBNCH1vsPt;
123  TH2F* hBNCH2vsPt;
124  TH2F* hBNCH3vsPt;
125  TH2F* hBNCH4vsPt;
126  TH2F* hBNCH5vsPt;
127  TH2F* hBNCH6vsPt;
128  TH2F* hBNCH7vsPt;
129 
130  // delta Pt or E quantities for Endcap
131  TH1F *hERPt ;
132  TH1F *hERPt20_40;
133  TH1F *hERPt40_60;
134  TH1F *hERPt60_80;
135  TH1F *hERPt80_100;
146  TH1F *hERCHE;
147  TH1F *hERNHE;
148  TH1F *hERNEE;
149  TH1F *hERneut;
150  TH2F *hERPtvsPt ;
151  TH2F *hERCHEvsPt;
152  TH2F *hERNHEvsPt ;
153  TH2F *hERNEEvsPt;
154  TH2F *hERneutvsPt;
155  TH2F *hERNEUTvsP;
156  TH2F *hERNONLvsP;
157  TH2F *hERHCALvsP;
158  TH2F *hERHONLvsP;
159  TH2F *hEDEtavsPt;
160  TH2F *hEDPhivsPt;
161  TH2F *hENCHvsPt;
162  TH1F *hENCH;
163  TH2F* hENCH0vsPt;
164  TH2F* hENCH1vsPt;
165  TH2F* hENCH2vsPt;
166  TH2F* hENCH3vsPt;
167  TH2F* hENCH4vsPt;
168  TH2F* hENCH5vsPt;
169  TH2F* hENCH6vsPt;
170  TH2F* hENCH7vsPt;
171 
172  // delta Pt or E quantities for Forward
173  TH1F *hFRPt ;
174  TH1F *hFRPt20_40;
175  TH1F *hFRPt40_60;
176  TH1F *hFRPt60_80;
177  TH1F *hFRPt80_100;
188  TH1F *hFRCHE;
189  TH1F *hFRNHE;
190  TH1F *hFRNEE;
191  TH1F *hFRneut;
192  TH2F *hFRPtvsPt ;
193  TH2F *hFRCHEvsPt;
194  TH2F *hFRNHEvsPt ;
195  TH2F *hFRNEEvsPt;
196  TH2F *hFRneutvsPt;
197  TH2F *hFRNEUTvsP;
198  TH2F *hFRNONLvsP;
199  TH2F *hFRHCALvsP;
200  TH2F *hFRHONLvsP;
201  TH2F *hFDEtavsPt;
202  TH2F *hFDPhivsPt;
203  TH2F *hFNCHvsPt;
204  TH1F *hFNCH;
205  TH2F* hFNCH0vsPt;
206  TH2F* hFNCH1vsPt;
207  TH2F* hFNCH2vsPt;
208  TH2F* hFNCH3vsPt;
209  TH2F* hFNCH4vsPt;
210  TH2F* hFNCH5vsPt;
211  TH2F* hFNCH6vsPt;
212  TH2F* hFNCH7vsPt;
213 
215  protected:
216 
218  bool debug_;
221  double deltaRMax_;
222  double resPtMax_;
226  double recPt_cut;
227  double maxEta_cut;
228  unsigned int entry_;
230 };
231 
232 #endif // RecoParticleFlow_Benchmark_PFJetBenchmark_h
bool onlyTwoJets
double deltaRMax
std::vector< GenJet > GenJetCollection
collection of GenJet objects
#define NULL
Definition: scimark2.h:8
double maxEta
Jets made from PFObjects.
Definition: PFJet.h:21
unsigned int entry_
DQMStore * dbe_
virtual ~PFJetBenchmark()
void gettrue(const reco::GenJet *truth, double &true_ChargedHadEnergy, double &true_NeutralHadEnergy, double &true_NeutralEmEnergy)
void setup(std::string Filename, bool debug, bool plotAgainstReco=0, bool onlyTwoJets=1, double deltaRMax=0.1, std::string benchmarkLabel_="ParticleFlow", double recPt=-1, double maxEta=-1, DQMStore *dbe_store=NULL)
Jets made from MC generator particles.
Definition: GenJet.h:24
std::string outputFile_
double resPtMax() const
string benchmarkLabel_
double resNeutralEmEnergyMax() const
double resNeutralHadEnergyMax() const
PFBenchmarkAlgo * algo_
void process(const reco::PFJetCollection &, const reco::GenJetCollection &)
bool plotAgainstReco
double resChargedHadEnergyMax_
#define debug
Definition: HDRShower.cc:19
double resChargedHadEnergyMax() const
std::vector< PFJet > PFJetCollection
collection of PFJet objects
double resNeutralHadEnergyMax_
void printPFJet(const reco::PFJet *)
double recPt
double resNeutralEmEnergyMax_
void printGenJet(const reco::GenJet *)