ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/HistosMuons.hh
Revision: 1.1.1.1 (vendor branch)
Committed: Wed Apr 15 10:24:16 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

# User Rev Content
1 amagnan 1.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