ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameAnalysis/src/MuonHists.cxx
Revision: 1.4
Committed: Fri Feb 1 19:32:45 2013 UTC (12 years, 3 months ago) by bazterra
Content type: text/plain
Branch: MAIN
CVS Tags: v1-00, Feb-15-2013-v1, Feb-14-2013, Feb-07-2013-v1
Changes since 1.3: +124 -127 lines
Log Message:
Implementing the DeltaR and Ptrel histograms for electrons.

File Contents

# User Rev Content
1 mmeyer 1.1 #include "include/MuonHists.h"
2     #include "include/ObjectHandler.h"
3     #include "include/SelectionModules.h"
4     #include <iostream>
5    
6     using namespace std;
7    
8     MuonHists::MuonHists(const char* name) : BaseHists(name)
9     {
10 bazterra 1.4 // named default constructor
11    
12 mmeyer 1.1 }
13    
14     MuonHists::~MuonHists()
15     {
16 bazterra 1.4 // default destructor, does nothing
17 mmeyer 1.1 }
18    
19     void MuonHists::Init()
20     {
21 bazterra 1.4 // book all histograms here
22     Book( TH1F( "number","number of muons",5,-0.5,4.5));
23     Book( TH1F( "number_ly","number of muons",5,-0.5,4.5));
24     Book( TH1F( "pT","p_{T} muon",100,0,500));
25     Book( TH1F( "pT_ly","p_{T} muon",100,0,500));
26     Book( TH1F( "eta","#eta muon",100,-3,3));
27     Book( TH1F( "eta_ly","#eta muon",100,-3,3));
28     Book( TH1F( "phi","#phi muon",100,-PI,PI));
29     Book( TH1F( "phi_ly","#phi muon",100,-PI,PI));
30     Book( TH1F( "isolation","relIso muon",100,0,0.5));
31     Book( TH1F( "isolation_ly","relIso muon",100,0,0.5));
32     Book( TH1F( "pT_1"," p_{T} leading muon",100,0,500));
33     Book( TH1F( "pT_1_ly"," p_{T} leading muon",100,0,500));
34     Book( TH1F( "pT_2","p_{T} 2nd muon",100,0,500));
35     Book( TH1F( "pT_2_ly","p_{T} 2nd muon",100,0,500));
36     Book( TH1F( "eta_1","#eta leading muon",100,-3,3));
37     Book( TH1F( "eta_1_ly","#eta leading muon",100,-3,3));
38     Book( TH1F( "eta_2","#eta 2nd muon",100,-3,3));
39     Book( TH1F( "eta_2_ly","#eta 2nd muon",100,-3,3));
40     Book( TH1F( "phi_1","#phi leading muon",100,-PI,PI));
41     Book( TH1F( "phi_1_ly","#phi leading muon",100,-PI,PI));
42     Book( TH1F( "phi_2","#phi 2nd muon",100,-PI,PI));
43     Book( TH1F( "phi_2_ly","#phi 2nd muon",100,-PI,PI));
44     Book( TH1F( "isolation_1","relIso leading muon",100,0,0.5));
45     Book( TH1F( "isolation_1_ly","relIso leading muon",100,0,0.5));
46     Book( TH1F( "isolation_2","relIso 2nd muon",100,0,0.5));
47     Book( TH1F( "isolation_2_ly","relIso 2nd muon",100,0,0.5));
48    
49     Book( TH1F( "ptrel", "p_{T}^{rel}(#mu,jet)", 40, 0, 200.) );
50     Book( TH1F( "deltaRmin", "#Delta R_{min}(#mu,jet)", 40, 0, 2.0) );
51     Book( TH1F( "ptrel_ly", "p_{T}^{rel}(#mu,jet)", 40, 0, 200.) );
52     Book( TH1F( "deltaRmin_ly", "#Delta R_{min}(#mu,jet)", 40, 0, 2.0) );
53     Book( TH2F( "deltaRmin_vs_ptrel", "#Delta R_{min}(#mu,jet) vs p_{T}^{rel}(#mu,jet)", 40, 0, 2.0, 40, 0, 200.) );
54     Book( TH1F( "ptrel_1", "p_{T}^{rel}(leading #mu,jet)", 40, 0, 200.) );
55     Book( TH1F( "deltaRmin_1", "#Delta R_{min}(leading #mu,jet)", 40, 0, 2.0) );
56     Book( TH1F( "ptrel_1_ly", "p_{T}^{rel}(leading #mu,jet)", 40, 0, 200.) );
57     Book( TH1F( "deltaRmin_1_ly", "#Delta R_{min}(leading #mu,jet)", 40, 0, 2.0) );
58     Book( TH2F( "deltaRmin_vs_ptrel_1", "#Delta R_{min}(leading #mu,jet) vs p_{T}^{rel}(leading #mu,jet)", 40, 0, 2.0, 40, 0, 200.) );
59     Book( TH1F( "ptrel_2", "p_{T}^{rel}(2nd #mu,jet)", 40, 0, 200.) );
60     Book( TH1F( "deltaRmin_2", "#Delta R_{min}(2nd #mu,jet)", 40, 0, 2.0) );
61     Book( TH1F( "ptrel_2_ly", "p_{T}^{rel}(2nd #mu,jet)", 40, 0, 200.) );
62     Book( TH1F( "deltaRmin_2_ly", "#Delta R_{min}(2nd #mu,jet)", 40, 0, 2.0) );
63     Book( TH2F( "deltaRmin_vs_ptrel_2", "#Delta R_{min}(2nd #mu,jet) vs p_{T}^{rel}(2nd #mu,jet)", 40, 0, 2.0, 40, 0, 200.) );
64    
65     Book( TH1F( "charge","charge muon",3,-1.5,1.5));
66     Book( TH1F( "charge_1","charge leading muon",3,-1.5,1.5));
67     Book( TH1F( "charge_2","charge 2nd muon",3,-1.5,1.5));
68 mmeyer 1.1 }
69    
70    
71     void MuonHists::Fill()
72     {
73 bazterra 1.4 // important: get the event weight
74     EventCalc* calc = EventCalc::Instance();
75     double weight = calc -> GetWeight();
76    
77     ObjectHandler* objs = ObjectHandler::Instance();
78     BaseCycleContainer* bcc = objs->GetBaseCycleContainer();
79    
80     int NMuons = bcc->muons->size();
81     Hist("number")-> Fill(NMuons,weight);
82     Hist("number_ly")-> Fill(NMuons,weight);
83    
84     for(unsigned int i=0; i< bcc->muons->size(); ++i) {
85     Muon muon = bcc->muons->at(i);
86     Hist("pT")-> Fill(muon.pt(),weight);
87     Hist("pT_ly")-> Fill(muon.pt(),weight);
88     Hist("eta") -> Fill(muon.eta(),weight);
89     Hist("eta_ly") -> Fill(muon.eta(),weight);
90     Hist("phi") -> Fill(muon.phi(),weight);
91     Hist("phi_ly") -> Fill(muon.phi(),weight);
92     Hist("isolation")->Fill(muon.relIso(),weight);
93     Hist("isolation_ly")->Fill(muon.relIso(),weight);
94     Hist("charge")->Fill(muon.charge(),weight);
95    
96     std::vector<Jet>* jets = calc->GetJets();
97     if(jets) {
98     Hist("ptrel")->Fill( pTrel(&muon, jets), weight);
99     Hist("deltaRmin")->Fill( deltaRmin(&muon, jets), weight);
100     Hist("ptrel_ly")->Fill( pTrel(&muon, jets), weight);
101     Hist("deltaRmin_ly")->Fill( deltaRmin(&muon, jets), weight);
102    
103     TH2F* h = (TH2F*) Hist("deltaRmin_vs_ptrel");
104     h->Fill(deltaRmin(&muon, jets), pTrel(&muon, jets), weight);
105     }
106 peiffer 1.2
107 mmeyer 1.1 }
108 bazterra 1.4 sort(bcc->muons->begin(), bcc->muons->end(), HigherPt());
109     for (unsigned int i =0; i<=1; ++i) {
110     if (bcc->muons->size()> i) {
111     Muon muon = bcc->muons->at(i);
112     TString hname = TString::Format("pT_%d", i+1);
113     Hist(hname)->Fill(muon.pt(),weight);
114     TString hname_ly = TString::Format("pT_%d_ly", i+1);
115     Hist(hname_ly)->Fill(muon.pt(),weight);
116     TString hname_eta = TString::Format("eta_%d", i+1);
117     Hist(hname_eta)->Fill(muon.eta(),weight);
118     TString hname_eta_ly = TString::Format("eta_%d_ly", i+1);
119     Hist(hname_eta_ly)->Fill(muon.eta(),weight);
120     TString hname_phi = TString::Format("phi_%d", i+1);
121     Hist(hname_phi)->Fill(muon.phi(),weight);
122     TString hname_phi_ly = TString::Format("phi_%d_ly", i+1);
123     Hist(hname_phi_ly)->Fill(muon.phi(),weight);
124     TString hname_iso = TString::Format("isolation_%d", i+1);
125     Hist(hname_iso)->Fill(muon.relIso(),weight);
126     TString hname_iso_ly = TString::Format("isolation_%d_ly", i+1);
127     Hist(hname_iso_ly)->Fill(muon.relIso(),weight);
128     TString hname_charge = TString::Format("charge_%d", i+1);
129     Hist(hname_charge)->Fill(muon.charge(),weight);
130    
131     std::vector<Jet>* jets = calc->GetJets();
132     if(jets) {
133     TString hname_ptrel = TString::Format("ptrel_%d", i+1);
134     Hist(hname_ptrel)->Fill( pTrel(&muon, jets), weight);
135     TString hname_deltaRmin = TString::Format("deltaRmin_%d", i+1);
136     Hist(hname_deltaRmin)->Fill( deltaRmin(&muon, jets), weight);
137     TString hname_ptrel_ly = TString::Format("ptrel_%d_ly", i+1);
138     Hist(hname_ptrel_ly)->Fill( pTrel(&muon, jets), weight);
139     TString hname_deltaRmin_ly = TString::Format("deltaRmin_%d_ly", i+1);
140     Hist(hname_deltaRmin_ly)->Fill( deltaRmin(&muon, jets), weight);
141    
142     TString hname_deltaRmin_vs_ptrel = TString::Format("deltaRmin_vs_ptrel_%d", i+1);
143     TH2F* h = (TH2F*) Hist(hname_deltaRmin_vs_ptrel);
144     h->Fill(deltaRmin(&muon, jets), pTrel(&muon, jets), weight);
145     }
146     }
147 mmeyer 1.1 }
148     }
149 bazterra 1.4
150 mmeyer 1.1
151     void MuonHists::Finish()
152     {
153 bazterra 1.4 // final calculations, like division and addition of certain histograms
154 mmeyer 1.1 }
155