00001
00002 {
00003 gROOT.Reset();
00004 gROOT.SetStyle("ATLAS");
00005 gROOT->ForceStyle();
00006 TPostScript ps("performance_tau.ps",112);
00007 TCanvas *c;
00008 c = new TCanvas("c1","CUTS1",1500,1000);
00009 TFile *f[2];
00010 f[1] = new TFile("5200_etm175_llh6_w.selection.root","READ");
00011 f[0] = new TFile("8251_etm175_llh6_w.selection.root","READ");
00012
00013
00014 TH1F* m_t_truth_pt[3];
00015 TH1F* m_t_truth_eta[3];
00016 TH1F* m_t_truth_phi[3];
00017
00018 TH1F* m_t_pt[3];
00019 TH1F* m_t_eta[3];
00020 TH1F* m_t_phi[3];
00021
00022 TH1F *m_t_efficiency_pt[3];
00023 TH1F *m_t_fakerate_pt[3];
00024 TH1F *m_t_rejection_ele_pt[3];
00025 TH1F *m_t_rejection_lj_pt[3];
00026 TH1F *m_t_rejection_b_pt[3];
00027 TH1F *m_t_rejection_c_pt[3];
00028 TH1F *m_t_efficiency_phi[3];
00029 TH1F *m_t_fakerate_phi[3];
00030 TH1F *m_t_rejection_ele_phi[3];
00031 TH1F *m_t_rejection_lj_phi[3];
00032 TH1F *m_t_rejection_b_phi[3];
00033 TH1F *m_t_rejection_c_phi[3];
00034 TH1F *m_t_efficiency_eta[3];
00035 TH1F *m_t_fakerate_eta[3];
00036 TH1F *m_t_rejection_ele_eta[3];
00037 TH1F *m_t_rejection_lj_eta[3];
00038 TH1F *m_t_rejection_b_eta[3];
00039 TH1F *m_t_rejection_c_eta[3];
00040
00041 TH1F *m_t_matched_tr_pt[3];
00042 TH1F *m_t_matched_tr_eta[3];
00043 TH1F *m_t_matched_tr_phi[3];
00044
00045 TH1F *m_t_fake_pt[3];
00046 TH1F *m_t_fake_eta[3];
00047 TH1F *m_t_fake_phi[3];
00048 TH1F *m_t_fake_ele_pt[3];
00049 TH1F *m_t_fake_ele_eta[3];
00050 TH1F *m_t_fake_ele_phi[3];
00051 TH1F *m_t_fake_lightjets_pt[3];
00052 TH1F *m_t_fake_lightjets_eta[3];
00053 TH1F *m_t_fake_lightjets_phi[3];
00054 TH1F *m_t_fake_b_pt[3];
00055 TH1F *m_t_fake_b_eta[3];
00056 TH1F *m_t_fake_b_phi[3];
00057 TH1F *m_t_fake_c_pt[3];
00058 TH1F *m_t_fake_c_eta[3];
00059 TH1F *m_t_fake_c_phi[3];
00060 TLegend *legend = new TLegend(0.85,0.8,0.45,0.9);
00061 legend->SetBorderSize(1);
00062 legend->SetFillStyle(0);
00063 c->Clear();
00064 c->Divide(3,6);
00065 for (unsigned int i=0;i<2;i++) {
00066 ps.NewPage();
00067 m_t_truth_pt[i]=(TH1F*)f[i]->Get("t_truth_pt");
00068 m_t_truth_eta[i]=(TH1F*)f[i]->Get("t_truth_eta");
00069 m_t_truth_phi[i]=(TH1F*)f[i]->Get("t_truth_phi");
00070 m_e_truth_pt[i]=(TH1F*)f[i]->Get("e_truth_pt");
00071 m_e_truth_eta[i]=(TH1F*)f[i]->Get("e_truth_eta");
00072 m_e_truth_phi[i]=(TH1F*)f[i]->Get("e_truth_phi");
00073 m_lj_truth_pt[i]=(TH1F*)f[i]->Get("lj_truth_pt");
00074 m_lj_truth_eta[i]=(TH1F*)f[i]->Get("lj_truth_eta");
00075 m_lj_truth_phi[i]=(TH1F*)f[i]->Get("lj_truth_phi");
00076 m_b_truth_pt[i]=(TH1F*)f[i]->Get("b_truth_pt");
00077 m_b_truth_eta[i]=(TH1F*)f[i]->Get("b_truth_eta");
00078 m_b_truth_phi[i]=(TH1F*)f[i]->Get("b_truth_phi");
00079 m_c_truth_pt[i]=(TH1F*)f[i]->Get("c_truth_pt");
00080 m_c_truth_eta[i]=(TH1F*)f[i]->Get("c_truth_eta");
00081 m_c_truth_phi[i]=(TH1F*)f[i]->Get("c_truth_phi");
00082 m_t_pt[i]=(TH1F*)f[i]->Get("t_pt");
00083 m_t_eta[i]=(TH1F*)f[i]->Get("t_eta");
00084 m_t_phi[i]=(TH1F*)f[i]->Get("t_phi");
00085 m_t_matched_tr_pt[i]=(TH1F*)f[i]->Get("t_matched_truth_pt");
00086 m_t_matched_tr_eta[i]=(TH1F*)f[i]->Get("t_matched_truth_eta");
00087 m_t_matched_tr_phi[i]=(TH1F*)f[i]->Get("t_matched_truth_phi");
00088 m_t_fake_pt[i]=(TH1F*)f[i]->Get("t_fake_pt");
00089 m_t_fake_eta[i]=(TH1F*)f[i]->Get("t_fake_eta");
00090 m_t_fake_phi[i]=(TH1F*)f[i]->Get("t_fake_phi");
00091 m_t_fake_ele_pt[i]=(TH1F*)f[i]->Get("t_faked_by_ele_pt");
00092 m_t_fake_ele_eta[i]=(TH1F*)f[i]->Get("t_faked_by_ele_eta");
00093 m_t_fake_ele_phi[i]=(TH1F*)f[i]->Get("t_faked_by_ele_phi");
00094 m_t_fake_c_pt[i]=(TH1F*)f[i]->Get("t_faked_by_c_pt");
00095 m_t_fake_c_eta[i]=(TH1F*)f[i]->Get("t_faked_by_c_eta");
00096 m_t_fake_c_phi[i]=(TH1F*)f[i]->Get("t_faked_by_c_phi");
00097 m_t_fake_b_pt[i]=(TH1F*)f[i]->Get("t_faked_by_b_pt");
00098 m_t_fake_b_eta[i]=(TH1F*)f[i]->Get("t_faked_by_b_eta");
00099 m_t_fake_b_phi[i]=(TH1F*)f[i]->Get("t_faked_by_b_phi");
00100 m_t_fake_lj_pt[i]=(TH1F*)f[i]->Get("t_faked_by_lj_pt");
00101 m_t_fake_lj_eta[i]=(TH1F*)f[i]->Get("t_faked_by_lj_eta");
00102 m_t_fake_lj_phi[i]=(TH1F*)f[i]->Get("t_faked_by_lj_phi");
00103
00104 m_t_efficiency_pt[i] = (TH1F*)m_t_matched_tr_pt[i]->Clone("");
00105 m_t_efficiency_pt[i]->Divide(m_t_matched_tr_pt[i],m_t_truth_pt[i],1.,1.,"B");
00106 m_t_efficiency_pt[i]->GetXaxis()->SetTitle("EFFICIENCY TAUJETS: PT (GeV)");
00107 m_t_efficiency_pt[i]->SetMarkerColor(i+1);
00108 m_t_efficiency_pt[i]->SetLineColor(i+1);
00109 m_t_efficiency_pt[i]->GetYaxis()->SetRangeUser(0,1);
00110 m_t_efficiency_pt[i]->GetXaxis()->SetRangeUser(0,120);
00111 c->cd(1);
00112 if (i==0) {
00113 m_t_efficiency_pt[i]->Draw("");
00114 legend->AddEntry(m_t_efficiency_pt[0],"taujets","p");
00115 }
00116 else {
00117 m_t_efficiency_pt[i]->Draw("same");
00118 }
00119
00120 m_t_efficiency_eta[i] = (TH1F*)m_t_matched_tr_eta[i]->Clone("");
00121 m_t_efficiency_eta[i]->Divide(m_t_matched_tr_eta[i],m_t_truth_eta[i],1.,1.,"B");
00122 m_t_efficiency_eta[i]->GetXaxis()->SetTitle("EFFICIENCY TAUJETS: #eta");
00123 m_t_efficiency_eta[i]->SetMarkerColor(i+1);
00124 m_t_efficiency_eta[i]->SetLineColor(i+1);
00125 m_t_efficiency_eta[i]->GetYaxis()->SetRangeUser(0,1);
00126 c->cd(2);
00127 if (i==0) {
00128 m_t_efficiency_eta[i]->Draw();
00129 }
00130 else {
00131 m_t_efficiency_eta[i]->Draw("same");
00132 }
00133
00134 m_t_efficiency_phi[i] = (TH1F*)m_t_matched_tr_phi[i]->Clone();
00135 m_t_efficiency_phi[i]->Divide(m_t_matched_tr_phi[i],m_t_truth_phi[i],1.,1.,"B");
00136 m_t_efficiency_phi[i]->GetXaxis()->SetTitle("EFFICIENCY TAUJETS: #phi");
00137 m_t_efficiency_phi[i]->SetMarkerColor(i+1);
00138 m_t_efficiency_phi[i]->SetLineColor(i+1);
00139 m_t_efficiency_phi[i]->GetYaxis()->SetRangeUser(0,1);
00140 cout << "****************************" <<endl;
00141 cout << "***********OUTPUT***********" <<endl;
00142 cout << "****************************" <<endl;
00143 cout<<"eff: "<<m_t_matched_tr_phi[i]->Integral()/m_t_truth_phi[i]->Integral()<<endl;
00144 c->cd(3);
00145
00146 if (i==0) {
00147 m_t_efficiency_phi[i]->Draw();
00148 }
00149 else {
00150 m_t_efficiency_phi[i]->Draw("same");
00151 }
00152
00153 m_t_fakerate_pt[i] = (TH1F*)m_t_fake_pt[i]->Clone();
00154 m_t_fakerate_pt[i]->Divide(m_t_fake_pt[i],m_t_pt[i],1.,1.,"B");
00155 m_t_fakerate_pt[i]->GetXaxis()->SetTitle("FAKERATE TAUJETS: PT (GeV)");
00156 m_t_fakerate_pt[i]->SetMarkerColor(i+1);
00157 m_t_fakerate_pt[i]->SetLineColor(i+1);
00158 m_t_fakerate_pt[i]->GetYaxis()->SetRangeUser(0,1);
00159 m_t_fakerate_pt[i]->GetXaxis()->SetRangeUser(0,120);
00160 c->cd(4);
00161
00162 if (i==0) {
00163 m_t_fakerate_pt[i]->Draw();
00164 }
00165 else {
00166 m_t_fakerate_pt[i]->Draw("same");
00167 }
00168
00169 m_t_fakerate_eta[i] = (TH1F*)m_t_fake_eta[i]->Clone();
00170 m_t_fakerate_eta[i]->Divide(m_t_fake_eta[i],m_t_eta[i],1.,1.,"B");
00171 m_t_fakerate_eta[i]->GetXaxis()->SetTitle("FAKERATE TAUJETS: #eta");
00172 m_t_fakerate_eta[i]->SetMarkerColor(i+1);
00173 m_t_fakerate_eta[i]->SetLineColor(i+1);
00174 m_t_fakerate_eta[i]->GetYaxis()->SetRangeUser(0,1);
00175 c->cd(5);
00176 if (i==0) {
00177 m_t_fakerate_eta[i]->Draw();
00178 }
00179 else {
00180 m_t_fakerate_eta[i]->Draw("same");
00181 }
00182
00183 m_t_fakerate_phi[i] = (TH1F*)m_t_fake_phi[i]->Clone("");
00184 m_t_fakerate_phi[i]->Divide(m_t_fake_phi[i],m_t_phi[i],1.,1.,"B");
00185 m_t_fakerate_phi[i]->GetXaxis()->SetTitle("FAKERATE TAUJETS: #phi");
00186 m_t_fakerate_phi[i]->SetMarkerColor(i+1);
00187 m_t_fakerate_phi[i]->SetLineColor(i+1);
00188 m_t_fakerate_phi[i]->GetYaxis()->SetRangeUser(0,1);
00189 c->cd(6);
00190 if (i==0) {
00191 m_t_fakerate_phi[i]->Draw();
00192 }
00193 else {
00194 m_t_fakerate_phi[i]->Draw("same");
00195 }
00196
00197 cout<<"fake calo iso : "<<m_t_fake_phi[i]->Integral()/m_t_phi[i]->Integral()<<endl;
00198
00199
00200 m_t_rejection_ele_pt[i] = (TH1F*)m_e_truth_pt[i]->Clone("");
00201 m_t_rejection_ele_pt[i]->Divide(m_e_truth_pt[i],m_t_fake_ele_pt[i],1.,1.,"B");
00202 m_t_rejection_ele_pt[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST ELECTRONS: PT (GeV)");
00203 m_t_rejection_ele_pt[i]->SetMarkerColor(i+1);
00204 m_t_rejection_ele_pt[i]->SetLineColor(i+1);
00205 m_t_rejection_ele_pt[i]->GetXaxis()->SetRangeUser(0,120);
00206 m_t_rejection_ele_pt[i]->GetYaxis()->SetRangeUser(0,50);
00207 c->cd(7);
00208 if (i==0) {
00209 m_t_rejection_ele_pt[i]->Draw();
00210 }
00211 else {
00212 m_t_rejection_ele_pt[i]->Draw("same");
00213 }
00214 m_t_rejection_ele_eta[i] = (TH1F*)m_e_truth_eta[i]->Clone("");
00215 m_t_rejection_ele_eta[i]->Divide(m_e_truth_eta[i],m_t_fake_ele_eta[i],1.,1.,"B");
00216 m_t_rejection_ele_eta[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST ELECTRONS: #eta");
00217 m_t_rejection_ele_eta[i]->SetMarkerColor(i+1);
00218 m_t_rejection_ele_eta[i]->SetLineColor(i+1);
00219 m_t_rejection_ele_eta[i]->GetYaxis()->SetRangeUser(0,50);
00220 c->cd(8);
00221 if (i==0) {
00222 m_t_rejection_ele_eta[i]->Draw();
00223 }
00224 else {
00225 m_t_rejection_ele_eta[i]->Draw("same");
00226 }
00227 m_t_rejection_ele_phi[i] = (TH1F*)m_e_truth_phi[i]->Clone("");
00228 m_t_rejection_ele_phi[i]->Divide(m_e_truth_phi[i],m_t_fake_ele_phi[i],1.,1.,"B");
00229 m_t_rejection_ele_phi[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST ELECTRONS: #phi");
00230 m_t_rejection_ele_phi[i]->SetMarkerColor(i+1);
00231 m_t_rejection_ele_phi[i]->SetLineColor(i+1);
00232 m_t_rejection_ele_phi[i]->GetYaxis()->SetRangeUser(0,50);
00233 c->cd(9);
00234 if (i==0) {
00235 m_t_rejection_ele_phi[i]->Draw();
00236 }
00237 else {
00238 m_t_rejection_ele_phi[i]->Draw("same");
00239 }
00240 m_t_rejection_c_pt[i] = (TH1F*)m_c_truth_pt[i]->Clone("");
00241 m_t_rejection_c_pt[i]->Divide(m_c_truth_pt[i],m_t_fake_c_pt[i],1.,1.,"B");
00242 m_t_rejection_c_pt[i]->GetXaxis()->SetTitle("REJECTION C JETS AGAINST C JETS: PT (GeV)");
00243 m_t_rejection_c_pt[i]->SetMarkerColor(i+1);
00244 m_t_rejection_c_pt[i]->SetLineColor(i+1);
00245 m_t_rejection_c_pt[i]->GetXaxis()->SetRangeUser(0,120);
00246 m_t_rejection_c_pt[i]->GetYaxis()->SetRangeUser(0,1000);
00247 c->cd(10);
00248 if (i==0) {
00249 m_t_rejection_c_pt[i]->Draw();
00250 }
00251 else {
00252 m_t_rejection_c_pt[i]->Draw("same");
00253 }
00254 m_t_rejection_c_eta[i] = (TH1F*)m_c_truth_eta[i]->Clone("");
00255 m_t_rejection_c_eta[i]->Divide(m_c_truth_eta[i],m_t_fake_c_eta[i],1.,1.,"B");
00256 m_t_rejection_c_eta[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST C JETS: #eta");
00257 m_t_rejection_c_eta[i]->SetMarkerColor(i+1);
00258 m_t_rejection_c_eta[i]->SetLineColor(i+1);
00259 m_t_rejection_c_eta[i]->GetYaxis()->SetRangeUser(0,1000);
00260 c->cd(11);
00261 if (i==0) {
00262 m_t_rejection_c_eta[i]->Draw();
00263 }
00264 else {
00265 m_t_rejection_c_eta[i]->Draw("same");
00266 }
00267 m_t_rejection_c_phi[i] = (TH1F*)m_c_truth_phi[i]->Clone("");
00268 m_t_rejection_c_phi[i]->Divide(m_c_truth_phi[i],m_t_fake_c_phi[i],1.,1.,"B");
00269 m_t_rejection_c_phi[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST C JETS: #phi");
00270 m_t_rejection_c_phi[i]->SetMarkerColor(i+1);
00271 m_t_rejection_c_phi[i]->SetLineColor(i+1);
00272 m_t_rejection_c_phi[i]->GetYaxis()->SetRangeUser(0,1000);
00273 c->cd(12);
00274 if (i==0) {
00275 m_t_rejection_c_phi[i]->Draw();
00276 }
00277 else {
00278 m_t_rejection_c_phi[i]->Draw("same");
00279 }
00280 m_t_rejection_b_pt[i] = (TH1F*)m_b_truth_pt[i]->Clone("");
00281 m_t_rejection_b_pt[i]->Divide(m_b_truth_pt[i],m_t_fake_b_pt[i],1.,1.,"B");
00282 m_t_rejection_b_pt[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST B JETS: PT (GeV)");
00283 m_t_rejection_b_pt[i]->SetMarkerColor(i+1);
00284 m_t_rejection_b_pt[i]->SetLineColor(i+1);
00285 m_t_rejection_b_pt[i]->GetXaxis()->SetRangeUser(0,120);
00286 m_t_rejection_b_pt[i]->GetYaxis()->SetRangeUser(0,1000);
00287 c->cd(13);
00288 if (i==0) {
00289 m_t_rejection_b_pt[i]->Draw();
00290 }
00291 else {
00292 m_t_rejection_b_pt[i]->Draw("same");
00293 }
00294 m_t_rejection_b_eta[i] = (TH1F*)m_b_truth_eta[i]->Clone("");
00295 m_t_rejection_b_eta[i]->Divide(m_b_truth_eta[i],m_t_fake_b_eta[i],1.,1.,"B");
00296 m_t_rejection_b_eta[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST B JETS: #eta");
00297 m_t_rejection_b_eta[i]->SetMarkerColor(i+1);
00298 m_t_rejection_b_eta[i]->SetLineColor(i+1);
00299 m_t_rejection_b_eta[i]->GetYaxis()->SetRangeUser(0,1000);
00300 c->cd(14);
00301 if (i==0) {
00302 m_t_rejection_b_eta[i]->Draw();
00303 }
00304 else {
00305 m_t_rejection_b_eta[i]->Draw("same");
00306 }
00307 m_t_rejection_b_phi[i] = (TH1F*)m_b_truth_phi[i]->Clone("");
00308 m_t_rejection_b_phi[i]->Divide(m_b_truth_phi[i],m_t_fake_b_phi[i],1.,1.,"B");
00309 m_t_rejection_b_phi[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST B JETS: #phi");
00310 m_t_rejection_b_phi[i]->SetMarkerColor(i+1);
00311 m_t_rejection_b_phi[i]->SetLineColor(i+1);
00312 m_t_rejection_b_phi[i]->GetYaxis()->SetRangeUser(0,1000);
00313 c->cd(15);
00314 if (i==0) {
00315 m_t_rejection_b_phi[i]->Draw();
00316 }
00317 else {
00318 m_t_rejection_b_phi[i]->Draw("same");
00319 }
00320 m_t_rejection_lj_pt[i] = (TH1F*)m_lj_truth_pt[i]->Clone("");
00321 m_t_rejection_lj_pt[i]->Divide(m_lj_truth_pt[i],m_t_fake_lj_pt[i],1.,1.,"B");
00322 m_t_rejection_lj_pt[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST LIGHTJETS: PT (GeV)");
00323 m_t_rejection_lj_pt[i]->SetMarkerColor(i+1);
00324 m_t_rejection_lj_pt[i]->SetLineColor(i+1);
00325 m_t_rejection_lj_pt[i]->GetXaxis()->SetRangeUser(0,120);
00326 m_t_rejection_lj_pt[i]->GetYaxis()->SetRangeUser(0,1000);
00327 c->cd(16);
00328 if (i==0) {
00329 m_t_rejection_lj_pt[i]->Draw();
00330 }
00331 else {
00332 m_t_rejection_lj_pt[i]->Draw("same");
00333 }
00334 m_t_rejection_lj_eta[i] = (TH1F*)m_lj_truth_eta[i]->Clone("");
00335 m_t_rejection_lj_eta[i]->Divide(m_lj_truth_eta[i],m_t_fake_lj_eta[i],1.,1.,"B");
00336 m_t_rejection_lj_eta[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST LIGHTJETS: #eta");
00337 m_t_rejection_lj_eta[i]->SetMarkerColor(i+1);
00338 m_t_rejection_lj_eta[i]->SetLineColor(i+1);
00339 m_t_rejection_lj_eta[i]->GetYaxis()->SetRangeUser(0,1000);
00340 c->cd(17);
00341 if (i==0) {
00342 m_t_rejection_lj_eta[i]->Draw();
00343 }
00344 else {
00345 m_t_rejection_lj_eta[i]->Draw("same");
00346 }
00347 m_t_rejection_lj_phi[i] = (TH1F*)m_lj_truth_phi[i]->Clone("");
00348 m_t_rejection_lj_phi[i]->Divide(m_lj_truth_phi[i],m_t_fake_lj_phi[i],1.,1.,"B");
00349 m_t_rejection_lj_phi[i]->GetXaxis()->SetTitle("REJECTION TAUJETS AGAINST LIGHTJETS: #phi");
00350 m_t_rejection_lj_phi[i]->SetMarkerColor(i+1);
00351 m_t_rejection_lj_phi[i]->SetLineColor(i+1);
00352 m_t_rejection_lj_phi[i]->GetYaxis()->SetRangeUser(0,1000);
00353 c->cd(18);
00354 if (i==0) {
00355 m_t_rejection_lj_phi[i]->Draw();
00356 }
00357 else {
00358 m_t_rejection_lj_phi[i]->Draw("same");
00359 }
00360 }
00361 c->Update();
00362 ps.Close();
00363 }