ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Hammad/macros/CompareEfficiencyPlot.h
Revision: 1.1
Committed: Mon Aug 31 11:53:54 2009 UTC (15 years, 8 months ago) by ghammad
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
personal code : first version

File Contents

# User Rev Content
1 ghammad 1.1 #include "/home/gregory/Analysis/TtSemiLeptonic/tdrstyle.C"
2     #include "map.h"
3    
4     void CompareEfficiencyPlot(){
5    
6     //using namespace std;
7    
8     //
9     // load framework libraries
10     //
11     //gSystem->Load( "libFWCoreFWLite" );
12     //AutoLibraryLoader::enable();
13     //
14     // Set P-TDR plots style
15     //
16    
17     setTDRStyle();
18    
19     TFile *InputFile_0 = TFile::Open("Plots/rootfiles/multijets_EvtSelect_NonIso_VetoIso_4jetsPt30_JetComb_MediumBtagging_eff.root");
20     TFile *InputFile_1 = TFile::Open("Plots/rootfiles/allprocesses_EvtSelect_NonIso_VetoIso_4jetsPt30_JetComb_MediumBtagging_eff.root");
21    
22     TString ControlHistoFile = "allprocesses_EvtSelect_NonIso_VetoIso_4jetsPt30_JetComb_MediumBtagging_compeff.ps";
23    
24     TFile *OutputFile = new TFile("allprocesses_EvtSelect_NonIso_VetoIso_4jetsPt30_JetComb_MediumBtagging_compeff.root","RECREATE");
25    
26     const int NbOfObs = 19;
27    
28     TString ObsName[NbOfObs]={"MuonPt","HT","HTall","CaloIso","TrackIso","RelCaloIso","RelTrackIso","RelIso","d0Sig","MT","PtRel","DRMuJet","Njets","MuonEta","Nbjets","Mqq","EtaLeadJet","Chi2","LeptMT"};
29    
30     std::cout<<"Initialization done"<<std::endl;
31    
32     // --------------------------------------------------------------
33     // Pointers to histograms
34     // --------------------------------------------------------------
35    
36     TString ObsToGet = "";
37     TString ObsToGet_EffX = "";
38     TString ObsToGet_EffY = "";
39     Int_t Index = 0;
40    
41     TH1F *hHistoEff_X[NbOfObs*(NbOfObs-1)/2][2];
42     TH1F *hHistoEff_Y[NbOfObs*(NbOfObs-1)/2][2];
43    
44     Double_t Eff_X = 0;
45    
46     OutputFile->cd();
47    
48     TCanvas c("dummy","",1);
49     c.Print(ControlHistoFile + "[");
50     TLegend *leg0 = new TLegend(0.65,0.78,0.93,0.9);
51    
52     for(Int_t i = 0; i<NbOfObs ; i++)
53     {
54     for(Int_t j = i+1; j<NbOfObs ; j++)
55     {
56     ObsToGet = "Obs_"; ObsToGet += ObsName[i]; ObsToGet +="_vs_Obs_"; ObsToGet += ObsName[j];
57     ObsToGet_EffX = ObsToGet; ObsToGet_EffX += "_EffX";
58     ObsToGet_EffY = ObsToGet; ObsToGet_EffY += "_EffY";
59     cout<<ObsToGet<<endl;
60    
61     ////////////////// Efficiency along the X axis /////////////////////////////
62     hHistoEff_X[Index][0] = (TH1F *) InputFile_0->Get(ObsToGet_EffX);
63     hHistoEff_X[Index][1] = (TH1F *) InputFile_1->Get(ObsToGet_EffX);
64    
65     ////////////////// Efficiency along the Y axis /////////////////////////////
66     hHistoEff_Y[Index][0] = (TH1F *) InputFile_0->Get(ObsToGet_EffY);
67     hHistoEff_Y[Index][1] = (TH1F *) InputFile_1->Get(ObsToGet_EffY);
68    
69    
70     hHistoEff_X[Index][0]->SetMarkerColor(kBlack);
71     hHistoEff_X[Index][0]->SetMarkerStyle(4);
72     leg0->AddEntry(hHistoEff_X[Index][0],"Multi-jets","p");
73     hHistoEff_X[Index][0]->Draw();
74     hHistoEff_X[Index][1]->SetMarkerColor(kRed);
75     hHistoEff_X[Index][1]->SetMarkerStyle(23);
76     leg0->AddEntry(hHistoEff_X[Index][1],"All processes","p");
77     hHistoEff_X[Index][1]->Draw("same");
78     leg0->Draw("same");
79    
80     c.Write(ObsToGet_EffX);
81     c.Print(ControlHistoFile);
82    
83     hHistoEff_Y[Index][0]->SetMarkerColor(kBlack);
84     hHistoEff_Y[Index][0]->SetMarkerStyle(4);
85     //leg0->AddEntry(hHistoEff_Y[Index][0],"Multi-jets","p");
86     hHistoEff_Y[Index][0]->Draw();
87     hHistoEff_Y[Index][1]->SetMarkerColor(kRed);
88     hHistoEff_Y[Index][1]->SetMarkerStyle(23);
89     //leg0->AddEntry(hHistoEff_Y[Index][1],"All processes","p");
90     hHistoEff_Y[Index][1]->Draw("same");
91     leg0->Draw("same");
92    
93     c.Write(ObsToGet_EffY);
94     c.Print(ControlHistoFile);
95    
96     Index++;
97     leg0->Clear();
98     }
99     }
100    
101     //--------------------------------------------------------------------------------------------------------------------------------------------
102     //--------------------------------------------------------------------------------------------------------------------------------------------
103     //--------------------------------------------------------------------------------------------------------------------------------------------
104    
105     OutputFile->Close();
106     c.Print(ControlHistoFile + "]");
107     gROOT->ProcessLine(".q");
108    
109     }
110    
111     Double_t EffError(Double_t S, Double_t Total)
112     {
113     Double_t Eff = S/Total;
114     return (sqrt(S*(1-Eff))/Total);
115     }
116    
117