ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/python/interface/HistosMuons.hh
Revision: 1.1.1.1 (vendor branch)
Committed: Wed Apr 15 11:51:27 2009 UTC (16 years, 1 month ago) by amagnan
Content type: text/plain
Branch: v00-00-00
CVS Tags: HbbAnaFor22X
Changes since 1.1: +0 -0 lines
Log Message:
imported sources

File Contents

# Content
1 #ifndef HbbAnalysis_HistosMuons_hh
2 #define HbbAnalysis_HistosMuons_hh
3
4
5 #include <vector>
6 #include <string>
7
8 #include "DataFormats/Common/interface/Handle.h"
9 #include "DataFormats/PatCandidates/interface/Muon.h"
10
11 #include "UserCode/HbbAnalysis/interface/HistosBase.hh"
12 #include "UserCode/HbbAnalysis/interface/EffUtility.hh"
13
14
15
16 #include "TH1F.h"
17 #include "TH2F.h"
18
19
20 namespace HbbAnalysis {//namespace
21
22
23 class HistosMuons: public HistosBase {
24
25 public:
26
27 HistosMuons():
28 doGenMatched_(false),
29 nVar_(4)
30 {};
31 ~HistosMuons(){};
32
33 void Initialise(TFileDirectory & aDir, std::string aName, bool aDoGenMatched=false);
34
35 void FillEventHistograms(edm::Handle<std::vector<pat::Muon> > aMuCol);
36
37 void FillHistograms(const pat::Muon & aMuon, bool isLead=true);
38
39 void FillEffHistograms();
40
41 bool MatchesGenMuon(const pat::Muon & aMuon);
42
43 inline const unsigned short getNVar() const {
44 return nVar_;
45 }
46
47 private:
48
49
50 bool doGenMatched_;
51 unsigned short nVar_;
52
53 TH1F *p_nMuons;
54
55 TH1F *p_caloCompat;
56 TH1F *p_segCompat;
57 TH1F *p_nChambers;
58 TH1F *p_nMatchesLoose;//NoArbitration
59 TH1F *p_nMatchesMedium;//SegmentArbitration
60 TH1F *p_nMatchesTight;//SegmentAndTrackArbitration
61 TH1F *p_type;
62 TH1F *p_muonType;
63 TH1F *p_muonID;
64
65 TH2F *p_caloCompatvsPt;
66 TH2F *p_segCompatvsPt;
67 TH2F *p_nChambersvsPt;
68 TH2F *p_nMatchesvsPt;//SegmentArbitration
69 TH2F *p_muonTypevsPt;
70 TH2F *p_muonIDvsPt;
71
72 TH2F *p_caloCompatvsEta;
73 TH2F *p_segCompatvsEta;
74 TH2F *p_nChambersvsEta;
75 TH2F *p_nMatchesvsEta;//SegmentArbitration
76 TH2F *p_muonTypevsEta;
77 TH2F *p_muonIDvsEta;
78
79 TH1F *peff_muID;
80 TH2F *peff_muIDvsEta;
81 EffUtility idEff_;
82 EffUtility idEffEta_[15];//one for each ID....
83
84
85 //isolation variables
86 TH1F *p_isoR03_emEt;
87 TH1F *p_isoR05_emEt;
88 TH1F *p_isoR03_hadEt;
89 TH1F *p_isoR05_hadEt;
90 TH1F *p_isoR03_nTracks;
91 TH1F *p_isoR05_nTracks;
92 TH1F *p_isoR03_nJets;
93 TH1F *p_isoR05_nJets;
94
95 //sumPt, sumPt/Pt, combIso, combIso/Pt
96 TH1F *p_isoR03[4];
97 TH1F *p_isoR05[4];
98
99 //efficiency histograms
100 TH1F *peff_muIsoR03[4];
101 TH1F *peff_muIsoR05[4];
102
103 EffUtility isoR03Eff_[4];
104 EffUtility isoR05Eff_[4];
105
106 //eff vs pT and eta, with isoR03 only
107 TH1F *peff_muPt[4];
108 TH1F *peff_muEta[4];
109
110 EffUtility isoEffPt_[4];
111 EffUtility isoEffEta_[4];
112
113 };
114
115 }//namespace
116
117
118
119 #endif