CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1ValidatorHists.h
Go to the documentation of this file.
1 #ifndef L1ValidatorHists_h
2 #define L1ValidatorHists_h
3 
4 #include "TH1F.h"
5 //#include <TH2F.h>
6 
7 //#include <DataFormats/HepMCCandidate/interface/GenParticle.h>
9 
10 #include <string>
11 
13 
14 /*#define DECLARE_HISTS(TYPE) \
15 TH2F * ## TYPE ## _N_Pt; \
16 TH2F * ## TYPE ## _N_Eta; \
17 TH2F * ## TYPE ## _Eff_Pt; \
18 TH2F * ## TYPE ## _Eff_Eta; \
19 TH2F * ## TYPE ## _dR; \
20 TH2F * ## TYPE ## _dPt;
21 */
22 
24 public:
27 
30 
32  void Write();
33 
34  int NEvents;
35 
36  // enum Type{ IsoEG, NonIsoEG, CenJet, ForJet, TauJet, Muon, Number };
37  enum Type { Egamma, Jet, Tau, Muon, Number };
39 
40  // Each object has gen (pt, eta, phi, pdg), reco (pt, eta, phi, pdg)
41  // split by pdg (CenJet, ETM, ETT, ForJet, HTM, HTT, IsoEG, Mu, NoIsoEG,
42  // TauJet): 10 needs efficiency (by pt, eta), fake rate (by pt, eta), dR (by
43  // pt, (eta?))
50  /*DECLARE_HISTS(IsoEG)
51  DECLARE_HISTS(NonIsoEG)
52  DECLARE_HISTS(CenJet)
53  DECLARE_HISTS(ForJet)
54  DECLARE_HISTS(TauJet)
55  DECLARE_HISTS(Muon)*/
56 
57  MonitorElement *N[Type::Number];
58 
59  MonitorElement *Eff_Pt[Type::Number];
60  MonitorElement *Eff_Pt_Denom[Type::Number];
61  MonitorElement *Eff_Pt_Nomin[Type::Number];
62  MonitorElement *Eff_Eta[Type::Number];
63  MonitorElement *Eff_Eta_Denom[Type::Number];
64  MonitorElement *Eff_Eta_Nomin[Type::Number];
65  MonitorElement *TurnOn_15[Type::Number];
68  MonitorElement *TurnOn_30[Type::Number];
71  MonitorElement *dR[Type::Number];
72  MonitorElement *dPt[Type::Number];
73  MonitorElement *dR_vs_Pt[Type::Number];
74  MonitorElement *dPt_vs_Pt[Type::Number];
75 
76  // add the rest...
77  // TH2F *ETM_Delta, *ETT_Delta, *HTM_Delta, *HTT_Delta;
78 
79  void Fill(int, const reco::LeafCandidate *, const reco::LeafCandidate *);
80  void FillNumber(int, int);
81  // private:
82  // void NormalizeSlices(TH2F *Hist);
83 };
84 
85 #endif
void Fill(int, const reco::LeafCandidate *, const reco::LeafCandidate *)
MonitorElement * dR_vs_Pt[Type::Number]
dqm::legacy::DQMStore DQMStore
MonitorElement * Eff_Eta[Type::Number]
MonitorElement * N[Type::Number]
MonitorElement * TurnOn_15[Type::Number]
MonitorElement * Eff_Pt_Denom[Type::Number]
MonitorElement * TurnOn_15_Denom[Type::Number]
MonitorElement * Eff_Eta_Nomin[Type::Number]
dqm::legacy::MonitorElement MonitorElement
void FillNumber(int, int)
MonitorElement * TurnOn_15_Nomin[Type::Number]
void Book(DQMStore::IBooker &, std::string dirname)
MonitorElement * TurnOn_30_Denom[Type::Number]
MonitorElement * dPt[Type::Number]
MonitorElement * TurnOn_30[Type::Number]
MonitorElement * dR[Type::Number]
MonitorElement * TurnOn_30_Nomin[Type::Number]
MonitorElement * dPt_vs_Pt[Type::Number]
MonitorElement * Eff_Pt_Nomin[Type::Number]
MonitorElement * Eff_Eta_Denom[Type::Number]
std::string Name[4]
MonitorElement * Eff_Pt[Type::Number]