1 |
#include <fstream>
|
2 |
#include <iomanip>
|
3 |
#include <iostream>
|
4 |
#include <string.h>
|
5 |
#include <fstream>
|
6 |
|
7 |
#include <TFile.h>
|
8 |
#include <TH1.h>
|
9 |
#include <TTree.h>
|
10 |
#include <TCanvas.h>
|
11 |
#include <TF1.h>
|
12 |
#include <TStyle.h>
|
13 |
|
14 |
int TreeReader(char *infile = "temp.root")
|
15 |
{
|
16 |
|
17 |
TFile *outf = new TFile("Ntuple_goodglobalmuon.root","RECREATE");
|
18 |
// TH1D * hEt3;
|
19 |
TH1D * hlepton_calo_iso = new TH1D( "hlepton_calo_iso", "lepton calo iso", 120, 0., 120.);
|
20 |
TH1D * hlepton_track_iso = new TH1D( "hlepton_track_iso", "lepton track iso", 120, 0., 120.);
|
21 |
// TH1 * hmuon_isGood_AllGlobalMuons = new TH1( "hmuon_isGood_AllGlobalMuons", "muon isGood AllGlobalMuons", 120, 0., 120.);
|
22 |
//TH1 * hmuon_isGood_AllStandAloneMuons = new TH1( "hmuon_isGood_AllStandAloneMuons", "muon isGood AllStandAloneMuons", 120, 0., 120.);
|
23 |
|
24 |
|
25 |
TH1D * hMt = new TH1D( "hMt", "Mt 3 (all) ", 100, 0., 90.);
|
26 |
TH1D * hMt_rel_iso = new TH1D( "hMt_rel_iso", "Mt 3 (relative iso)", 100, 0., 90.);
|
27 |
TH1D * hMt_trk = new TH1D( "hMt_trk", "Mt 3 (track & calo iso)", 100, 0., 90.);
|
28 |
TH1D * hMt_rel_iso_rev = new TH1D( "hMt_rel_iso_rev", "Mt 3 (relative iso reversed)", 100, 0., 90.);
|
29 |
TH1D * hMt_trk_rev = new TH1D( "hMt_trk_rev", "Mt 3 (track & calo iso reversed)", 100, 0., 90.);
|
30 |
TH1D * hMt_goodmuon = new TH1D( "hMt_goodmuon", "Mt 3 (good Global Muon)", 100, 0., 90.);
|
31 |
TH1D * hMt_goodmuon_rev = new TH1D( "hMt_goodmuon_rev", "Mt 3 (good Global Muon reversed)", 100, 0., 90.);
|
32 |
|
33 |
|
34 |
TH1D * hgetHt3 = new TH1D( "hgetHt3", "Ht3 (all) ", 100, 0., 900.);
|
35 |
TH1D * hgetHt3_rel_iso = new TH1D( "hgetHt3_rel_iso", "Ht3 (relative iso)", 100, 0., 900.);
|
36 |
TH1D * hgetHt3_trk = new TH1D( "hgetHt3_trk", "Ht3 (track & calo iso)", 100, 0., 900.);
|
37 |
TH1D * hgetHt3_rel_iso_rev = new TH1D( "hgetHt3_rel_iso_rev", "Ht3 (relative iso reversed)", 100, 0., 900.);
|
38 |
TH1D * hgetHt3_trk_rev = new TH1D( "hgetHt3_trk_rev", "Ht3 (track & calo iso reversed)", 100, 0., 900.);
|
39 |
TH1D * hgetHt3_goodmuon = new TH1D( "hgetHt3_goodmuon", "Ht3 (good Global muon )", 100, 0., 900.);
|
40 |
TH1D * hgetHt3_goodmuon_rev = new TH1D( "hgetHt3_goodmuon_rev", "Ht3 (good Global muon reversed)", 100, 0., 900.);
|
41 |
|
42 |
TH1D * hktMinPrime = new TH1D( "hktMinPrime", "ktMinPrime (all) ", 100, 0., 25.);
|
43 |
TH1D * hktMinPrime_rel_iso = new TH1D( "hktMinPrime_rel_iso", "ktMinPrime (relative iso)", 100, 0., 25.);
|
44 |
TH1D * hktMinPrime_trk = new TH1D( "hktMinPrime_trk", "ktMinPrime (track & calo iso)", 100, 0., 25.);
|
45 |
TH1D * hktMinPrime_rel_iso_rev= new TH1D( "hktMinPrime_rel_iso_rev", "ktMinPrime (relative iso reversed)", 100, 0., 25.);
|
46 |
TH1D * hktMinPrime_trk_rev = new TH1D( "hktMinPrime_trk_rev", "ktMinPrime (track & calo iso reversed)", 100, 0., 25.);
|
47 |
TH1D * hktMinPrime_goodmuon = new TH1D( "hktMinPrime_goodmuon", "ktMinPrime (Good Global muon)", 100, 0., 25.);
|
48 |
TH1D * hktMinPrime_goodmuon_rev = new TH1D( "hktMinPrime_goodmuon_rev", "ktMinPrime (Good Global muon reversed)", 100, 0., 25.);
|
49 |
|
50 |
TH1D * hht2p = new TH1D( "hht2p", "ht2p (all) ", 100, 0., 4.);
|
51 |
TH1D * hht2p_rel_iso = new TH1D( "hht2p_rel_iso", "ht2p (relative iso)", 100, 0., 4.);
|
52 |
TH1D * hht2p_trk = new TH1D( "hht2p_trk", "ht2p (track & calo iso)", 100, 0., 4.);
|
53 |
TH1D * hht2p_rel_iso_rev = new TH1D( "hht2p_rel_iso_rev", "ht2p (relative iso reversed)", 100, 0., 4.);
|
54 |
TH1D * hht2p_trk_rev = new TH1D( "hht2p_trk_rev", "ht2p (track & calo iso reversed)", 100, 0., 4.);
|
55 |
TH1D * hht2p_goodmuon = new TH1D( "hht2p_goodmuon", "ht2p (good global muon )", 100, 0., 4.);
|
56 |
TH1D * hht2p_goodmuon_rev = new TH1D( "hht2p_goodmuon_rev", "ht2p (good global muon reversed)", 100, 0., 4.);
|
57 |
|
58 |
TH1D * hDphiJMET = new TH1D( "hDphiJMET", "DphiJMET (all) ", 100, 0., 3.5);
|
59 |
TH1D * hDphiJMET_rel_iso = new TH1D( "hDphiJMET_rel_iso", "DphiJMET (relative iso)", 100, 0., 3.5);
|
60 |
TH1D * hDphiJMET_trk = new TH1D( "hDphiJMET_trk", "DphiJMET (track & calo iso)", 100, 0., 3.5);
|
61 |
TH1D * hDphiJMET_rel_iso_rev = new TH1D( "hDphiJMET_rel_iso_rev", "DphiJMET (relative iso reveresed)", 100, 0., 3.5);
|
62 |
TH1D * hDphiJMET_trk_rev = new TH1D( "hDphiJMET_trk_rev", "DphiJMET (track & calo iso reversed)", 100, 0., 3.5);
|
63 |
TH1D * hDphiJMET_goodmuon = new TH1D( "hDphiJMET_goodmuon", "DphiJMET (good global muon )", 100, 0., 3.5);
|
64 |
TH1D * hDphiJMET_goodmuon_rev = new TH1D( "hDphiJMET_goodmuon_rev", "DphiJMET (good global muon reveresed)", 100, 0., 3.5);
|
65 |
|
66 |
TH1D * haplanarity = new TH1D( "haplanarity", "aplanarity (all) ", 100, 0., 0.5);
|
67 |
TH1D * haplanarity_rel_iso = new TH1D( "haplanarity_rel_iso", "aplanarity (relative iso)", 100, 0., 0.5);
|
68 |
TH1D * haplanarity_trk = new TH1D( "haplanarity_trk", "aplanarity (track & calo iso)", 100, 0., 0.5);
|
69 |
TH1D * haplanarity_rel_iso_rev = new TH1D( "haplanarity_rel_iso_rev", "aplanarity (relative iso reversed)", 100, 0., 0.5);
|
70 |
TH1D * haplanarity_trk_rev = new TH1D( "haplanarity_trk_rev", "aplanarity (track & calo iso reversed)", 100, 0., 0.5);
|
71 |
TH1D * haplanarity_goodmuon = new TH1D( "haplanarity_goodmuon", "aplanarity (good global muon )", 100, 0., 0.5);
|
72 |
TH1D * haplanarity_goodmuon_rev = new TH1D( "haplanarity_goodmuon_rev", "aplanarity (good global muon reversed)", 100, 0., 0.5);
|
73 |
|
74 |
TH1D * hhtPlusLepton = new TH1D( "hhtPlusLepton", "htPlusLepton (all) ", 100, 0., 20000.);
|
75 |
TH1D * hhtPlusLepton_rel_iso = new TH1D( "hhtPlusLepton_rel_iso", "htPlusLepton (relative iso)", 100, 0., 20000.);
|
76 |
TH1D * hhtPlusLepton_trk = new TH1D( "hhtPlusLepton_trk", "htPlusLepton (track & calo iso)", 100, 0., 20000.);
|
77 |
TH1D * hhtPlusLepton_rel_iso_rev = new TH1D( "hhtPlusLepton_rel_iso_rev", "htPlusLepton (relative iso reversed)", 100, 0., 20000.);
|
78 |
TH1D * hhtPlusLepton_trk_rev = new TH1D( "hhtPlusLepton_trk_rev", "htPlusLepton (track & calo iso reversed)", 100, 0., 20000.);
|
79 |
TH1D * hhtPlusLepton_goodmuon = new TH1D( "hhtPlusLepton_goodmuon", "htPlusLepton (good global muon)", 100, 0., 20000.);
|
80 |
TH1D * hhtPlusLepton_goodmuon_rev = new TH1D( "hhtPlusLepton_goodmuon_rev", "htPlusLepton (good global muon reversed)", 100, 0., 20000.);
|
81 |
|
82 |
TH1D * hdPhiLMet = new TH1D( "hdPhiLMet", "dPhiLMet (all) ", 100, 0., 3.5);
|
83 |
TH1D * hdPhiLMet_rel_iso = new TH1D( "hdPhiLMet_rel_iso", "dPhiLMet (relative iso)", 100, 0., 3.5);
|
84 |
TH1D * hdPhiLMet_trk = new TH1D( "hdPhiLMet_trk", "dPhiLMet (track & calo iso)", 100, 0., 3.5);
|
85 |
TH1D * hdPhiLMet_rel_iso_rev = new TH1D( "hdPhiLMet_rel_iso_rev", "dPhiLMet (relative iso reversed)", 100, 0., 3.5);
|
86 |
TH1D * hdPhiLMet_trk_rev = new TH1D( "hdPhiLMet_trk_rev", "dPhiLMet (track & calo iso reversed)", 100, 0., 3.5);
|
87 |
TH1D * hdPhiLMet_goodmuon = new TH1D( "hdPhiLMet_goodmuon", "dPhiLMet (good global muon )", 100, 0., 3.5);
|
88 |
TH1D * hdPhiLMet_goodmuon_rev = new TH1D( "hdPhiLMet_goodmuon_rev", "dPhiLMet (good global muon reversed)", 100, 0., 3.5);
|
89 |
|
90 |
TFile *fin = TFile::Open(infile);
|
91 |
TTree * t1 = (TTree*)fin->Get("qcd");
|
92 |
|
93 |
Double_t Mt, lepton_track_iso, lepton_calo_iso;
|
94 |
Double_t getHt3, ktMinPrime, ht2p,aplanarity, htPlusLepton,dPhiLMet,DphiJMET,lepton_pt;
|
95 |
Bool_t muon_isGood_AllGlobalMuons,muon_isGood_AllStandAloneMuons;
|
96 |
|
97 |
t1->SetBranchAddress("getMt",&Mt);
|
98 |
t1->SetBranchAddress("lepton_track_iso",&lepton_track_iso);
|
99 |
t1->SetBranchAddress("lepton_calo_iso",&lepton_calo_iso);
|
100 |
t1->SetBranchAddress("getHt3",&getHt3);
|
101 |
t1->SetBranchAddress("ktMinPrime",&ktMinPrime);
|
102 |
t1->SetBranchAddress("ht2p",&ht2p);
|
103 |
t1->SetBranchAddress("aplanarity",&aplanarity);
|
104 |
t1->SetBranchAddress("htPlusLepton",&htPlusLepton);
|
105 |
t1->SetBranchAddress("dPhiLMet",&dPhiLMet);
|
106 |
t1->SetBranchAddress("DphiJMET",&DphiJMET);
|
107 |
t1->SetBranchAddress("muon_isGood_AllGlobalMuons",&muon_isGood_AllGlobalMuons);
|
108 |
t1->SetBranchAddress("muon_isGood_AllStandAloneMuons",&muon_isGood_AllStandAloneMuons);
|
109 |
t1->SetBranchAddress("lepton_pt",&lepton_pt);
|
110 |
|
111 |
|
112 |
|
113 |
Int_t n_gen = (Int_t)t1->GetEntries();
|
114 |
cout<<"No of entries from trees "<<n_gen<<endl;
|
115 |
|
116 |
for(Int_t i=0; i<n_gen; i++){
|
117 |
t1->GetEntry(i);
|
118 |
|
119 |
hMt->Fill(Mt);
|
120 |
hgetHt3->Fill(getHt3);
|
121 |
hktMinPrime->Fill(ktMinPrime);
|
122 |
hht2p->Fill(ht2p);
|
123 |
hDphiJMET->Fill(DphiJMET);
|
124 |
haplanarity->Fill(aplanarity);
|
125 |
hhtPlusLepton->Fill(htPlusLepton);
|
126 |
hdPhiLMet->Fill(dPhiLMet);
|
127 |
|
128 |
if(1.0/(1.0+(lepton_calo_iso+lepton_track_iso)/lepton_pt) > 0.67 ){
|
129 |
hMt_rel_iso->Fill(Mt);
|
130 |
hgetHt3_rel_iso->Fill(getHt3);
|
131 |
hktMinPrime_rel_iso->Fill(ktMinPrime);
|
132 |
hht2p_rel_iso->Fill(ht2p);
|
133 |
hDphiJMET_rel_iso->Fill(DphiJMET);
|
134 |
haplanarity_rel_iso->Fill(aplanarity);
|
135 |
hhtPlusLepton_rel_iso->Fill(htPlusLepton);
|
136 |
hdPhiLMet_rel_iso->Fill(dPhiLMet);
|
137 |
}
|
138 |
// hlepton_iso->Fill(lepton_calo_iso);
|
139 |
if(lepton_calo_iso<7 && lepton_track_iso < 3 && muon_isGood_AllStandAloneMuons){
|
140 |
hMt_trk->Fill(Mt);
|
141 |
hgetHt3_trk->Fill(getHt3);
|
142 |
hktMinPrime_trk->Fill(ktMinPrime);
|
143 |
hht2p_trk->Fill(ht2p);
|
144 |
hDphiJMET_trk->Fill(DphiJMET);
|
145 |
haplanarity_trk->Fill(aplanarity);
|
146 |
hhtPlusLepton_trk->Fill(htPlusLepton);
|
147 |
hdPhiLMet_trk->Fill(dPhiLMet); }
|
148 |
if(1.0/(1.0+(lepton_calo_iso+lepton_track_iso)/lepton_pt) < 0.67 ){
|
149 |
hMt_rel_iso_rev->Fill(Mt);
|
150 |
hgetHt3_rel_iso_rev->Fill(getHt3);
|
151 |
hktMinPrime_rel_iso_rev->Fill(ktMinPrime);
|
152 |
hht2p_rel_iso_rev->Fill(ht2p);
|
153 |
hDphiJMET_rel_iso_rev->Fill(DphiJMET);
|
154 |
haplanarity_rel_iso_rev->Fill(aplanarity);
|
155 |
hhtPlusLepton_rel_iso_rev->Fill(htPlusLepton);
|
156 |
hdPhiLMet_rel_iso_rev->Fill(dPhiLMet);
|
157 |
}
|
158 |
// hlepton_iso->Fill(lepton_calo_iso);
|
159 |
if(lepton_calo_iso>7 && lepton_track_iso > 3 && muon_isGood_AllStandAloneMuons){
|
160 |
hMt_trk_rev->Fill(Mt);
|
161 |
hgetHt3_trk_rev->Fill(getHt3);
|
162 |
hktMinPrime_trk_rev->Fill(ktMinPrime);
|
163 |
hht2p_trk_rev->Fill(ht2p);
|
164 |
hDphiJMET_trk_rev->Fill(DphiJMET);
|
165 |
haplanarity_trk_rev->Fill(aplanarity);
|
166 |
hhtPlusLepton_trk_rev->Fill(htPlusLepton);
|
167 |
hdPhiLMet_trk_rev->Fill(dPhiLMet); }
|
168 |
if(muon_isGood_AllGlobalMuons){
|
169 |
hMt_goodmuon->Fill(Mt);
|
170 |
hgetHt3_goodmuon->Fill(getHt3);
|
171 |
hktMinPrime_goodmuon->Fill(ktMinPrime);
|
172 |
hht2p_goodmuon->Fill(ht2p);
|
173 |
hDphiJMET_goodmuon->Fill(DphiJMET);
|
174 |
haplanarity_goodmuon->Fill(aplanarity);
|
175 |
hhtPlusLepton_goodmuon->Fill(htPlusLepton);
|
176 |
hdPhiLMet_goodmuon->Fill(dPhiLMet); }
|
177 |
if(!muon_isGood_AllGlobalMuons){
|
178 |
hMt_goodmuon_rev->Fill(Mt);
|
179 |
hgetHt3_goodmuon_rev->Fill(getHt3);
|
180 |
hktMinPrime_goodmuon_rev->Fill(ktMinPrime);
|
181 |
hht2p_goodmuon_rev->Fill(ht2p);
|
182 |
hDphiJMET_goodmuon_rev->Fill(DphiJMET);
|
183 |
haplanarity_goodmuon_rev->Fill(aplanarity);
|
184 |
hhtPlusLepton_goodmuon_rev->Fill(htPlusLepton);
|
185 |
hdPhiLMet_goodmuon_rev->Fill(dPhiLMet); }
|
186 |
|
187 |
|
188 |
}
|
189 |
|
190 |
|
191 |
|
192 |
|
193 |
outf->Write();
|
194 |
outf->Close();
|
195 |
|
196 |
|
197 |
}
|