ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Hammad/macros/SelectionEfficiency.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 // little prog to calculate the different selection efficiencies and their errors
2    
3     #include "/home/gregory/Analysis/TtSemiLeptonic/tdrstyle.C"
4    
5     using namespace std;
6    
7     void SelectionEfficiency()
8     {
9     const int NbOfDataSets = 7;
10     TString DataSetsNames[NbOfDataSets] = {"Multi-jets","tt+jets","W+jets","Z+jets","SingleTop (s-channel)","SingleTop (t-channel)","SingleTop (tW-channel)"};
11     float XS[NbOfDataSets];
12     XS[0] = 121675; // XS for multi-jets
13     XS[1] = 414; // XS for tt+jets
14     XS[2] = 45600; // XS for w+jets
15     XS[3] = 4218; // XS for z+jets
16     XS[4] = 5*0.32; // XS for st+jets (s-channel, semi-leptonic decay)
17     XS[5] = 130*0.32; // XS for st+jets (t-channel, semi-leptonic decay)
18     XS[6] = 29; // XS for st+jets (tW-channel, semi-leptonic decay)
19     float InitialNbOfEvts[NbOfDataSets];
20     InitialNbOfEvts[0] = 6351808;
21     InitialNbOfEvts[1] = 946644;
22     InitialNbOfEvts[2] = 9745661;
23     InitialNbOfEvts[3] = 1262816;
24     InitialNbOfEvts[4] = 11999;
25     InitialNbOfEvts[5] = 281756;
26     InitialNbOfEvts[6] = 169048;
27    
28     float PreSelectedNbOfEvts[NbOfDataSets];
29     PreSelectedNbOfEvts[0] = 1095426;
30     PreSelectedNbOfEvts[1] = 218404;
31     PreSelectedNbOfEvts[2] = 57876;
32     PreSelectedNbOfEvts[3] = 13857;
33     PreSelectedNbOfEvts[4] = 1352;
34     PreSelectedNbOfEvts[5] = 21868;
35     PreSelectedNbOfEvts[6] = 27932;
36    
37     float LooseSelectedNbOfEvts[NbOfDataSets];
38     LooseSelectedNbOfEvts[0] = 23091;
39     LooseSelectedNbOfEvts[1] = 67336;
40     LooseSelectedNbOfEvts[2] = 2197;
41     LooseSelectedNbOfEvts[3] = 378;
42     LooseSelectedNbOfEvts[4] = 129;
43     LooseSelectedNbOfEvts[5] = 2559;
44     LooseSelectedNbOfEvts[6] = 5109;
45    
46     float LooseSelectedNbOfEvts_Njets[NbOfDataSets][3]; // 4jets/5jets/>6jets
47     LooseSelectedNbOfEvts_Njets[0][0] = 19155;LooseSelectedNbOfEvts_Njets[0][1] = 3317; LooseSelectedNbOfEvts_Njets[0][2] = 619; // Multi-jets
48     LooseSelectedNbOfEvts_Njets[1][0] = 39261;LooseSelectedNbOfEvts_Njets[1][1] = 18166;LooseSelectedNbOfEvts_Njets[1][2] = 9909;
49     LooseSelectedNbOfEvts_Njets[2][0] = 1764; LooseSelectedNbOfEvts_Njets[2][1] = 358; LooseSelectedNbOfEvts_Njets[2][2] = 75;
50     LooseSelectedNbOfEvts_Njets[3][0] = 311; LooseSelectedNbOfEvts_Njets[3][1] = 54; LooseSelectedNbOfEvts_Njets[3][2] = 13;
51     LooseSelectedNbOfEvts_Njets[4][0] = 106; LooseSelectedNbOfEvts_Njets[4][1] = 19; LooseSelectedNbOfEvts_Njets[4][2] = 4;
52     LooseSelectedNbOfEvts_Njets[5][0] = 1906; LooseSelectedNbOfEvts_Njets[5][1] = 501; LooseSelectedNbOfEvts_Njets[5][2] = 152;
53     LooseSelectedNbOfEvts_Njets[6][0] = 3631; LooseSelectedNbOfEvts_Njets[6][1] = 1130; LooseSelectedNbOfEvts_Njets[6][2] = 348;
54    
55     float LooseSelectedNbOfEvts_Nbjets[NbOfDataSets][4]; // 0bjets/1bjets/2bjets/3bjets
56     LooseSelectedNbOfEvts_Nbjets[0][0] = 9532; LooseSelectedNbOfEvts_Nbjets[0][1] = 10280;LooseSelectedNbOfEvts_Nbjets[0][2] = 3055; LooseSelectedNbOfEvts_Nbjets[0][3] = 212;
57     LooseSelectedNbOfEvts_Nbjets[1][0] = 13416;LooseSelectedNbOfEvts_Nbjets[1][1] = 32023;LooseSelectedNbOfEvts_Nbjets[1][2] = 20113;LooseSelectedNbOfEvts_Nbjets[1][3] = 1716;
58     LooseSelectedNbOfEvts_Nbjets[2][0] = 1917; LooseSelectedNbOfEvts_Nbjets[2][1] = 257; LooseSelectedNbOfEvts_Nbjets[2][2] = 23; LooseSelectedNbOfEvts_Nbjets[2][3] = 0;
59     LooseSelectedNbOfEvts_Nbjets[3][0] = 327; LooseSelectedNbOfEvts_Nbjets[3][1] = 46; LooseSelectedNbOfEvts_Nbjets[3][2] = 4; LooseSelectedNbOfEvts_Nbjets[3][3] = 1;
60     LooseSelectedNbOfEvts_Nbjets[4][0] = 757; LooseSelectedNbOfEvts_Nbjets[4][1] = 62; LooseSelectedNbOfEvts_Nbjets[4][2] = 41; LooseSelectedNbOfEvts_Nbjets[4][3] = 6;
61     LooseSelectedNbOfEvts_Nbjets[5][0] = 549; LooseSelectedNbOfEvts_Nbjets[5][1] = 1230; LooseSelectedNbOfEvts_Nbjets[5][2] = 737; LooseSelectedNbOfEvts_Nbjets[5][3] = 40;
62     LooseSelectedNbOfEvts_Nbjets[6][0] = 1575; LooseSelectedNbOfEvts_Nbjets[6][1] = 2598; LooseSelectedNbOfEvts_Nbjets[6][2] = 864; LooseSelectedNbOfEvts_Nbjets[6][3] = 70;
63     /*
64     float TightSelectedNbOfEvts_Njets[NbOfDataSets][3]; // 4jets/5jets/>6jets
65     TightSelectedNbOfEvts_Njets[0][0] = X; TightSelectedNbOfEvts_Njets[0][1] = X; TightSelectedNbOfEvts_Njets[0][2] = X; // Multi-jets
66     TightSelectedNbOfEvts_Njets[1][0] = X; TightSelectedNbOfEvts_Njets[1][1] = X; TightSelectedNbOfEvts_Njets[1][2] = X;
67     TightSelectedNbOfEvts_Njets[2][0] = X; TightSelectedNbOfEvts_Njets[2][1] = X; TightSelectedNbOfEvts_Njets[2][2] = X;
68     TightSelectedNbOfEvts_Njets[3][0] = X; TightSelectedNbOfEvts_Njets[3][1] = X; TightSelectedNbOfEvts_Njets[3][2] = X;
69     TightSelectedNbOfEvts_Njets[4][0] = X; TightSelectedNbOfEvts_Njets[4][1] = X; TightSelectedNbOfEvts_Njets[4][2] = X;
70     TightSelectedNbOfEvts_Njets[5][0] = X; TightSelectedNbOfEvts_Njets[5][1] = X; TightSelectedNbOfEvts_Njets[5][2] = X;
71     TightSelectedNbOfEvts_Njets[6][0] = X; TightSelectedNbOfEvts_Njets[6][1] = X; TightSelectedNbOfEvts_Njets[6][2] = X;
72     */
73     float TightSelectedNbOfEvts_Nbjets[NbOfDataSets][4]; // 0bjets/1bjets/2bjets/3bjets
74     TightSelectedNbOfEvts_Nbjets[0][0] = 29; TightSelectedNbOfEvts_Nbjets[0][1] = 13; TightSelectedNbOfEvts_Nbjets[0][2] = 2; TightSelectedNbOfEvts_Nbjets[0][3] = 0;
75     TightSelectedNbOfEvts_Nbjets[1][0] = 9123; TightSelectedNbOfEvts_Nbjets[1][1] = 22835;TightSelectedNbOfEvts_Nbjets[1][2] = 14659;TightSelectedNbOfEvts_Nbjets[1][3] = 1232;
76     TightSelectedNbOfEvts_Nbjets[2][0] = 1604; TightSelectedNbOfEvts_Nbjets[2][1] = 206; TightSelectedNbOfEvts_Nbjets[2][2] = 19; TightSelectedNbOfEvts_Nbjets[2][3] = 0;
77     TightSelectedNbOfEvts_Nbjets[3][0] = 304; TightSelectedNbOfEvts_Nbjets[3][1] = 48; TightSelectedNbOfEvts_Nbjets[3][2] = 3; TightSelectedNbOfEvts_Nbjets[3][3] = 1;
78     TightSelectedNbOfEvts_Nbjets[4][0] = 16; TightSelectedNbOfEvts_Nbjets[4][1] = 44; TightSelectedNbOfEvts_Nbjets[4][2] = 28; TightSelectedNbOfEvts_Nbjets[4][3] = 4;
79     TightSelectedNbOfEvts_Nbjets[5][0] = 399; TightSelectedNbOfEvts_Nbjets[5][1] = 945; TightSelectedNbOfEvts_Nbjets[5][2] = 572; TightSelectedNbOfEvts_Nbjets[5][3] = 35;
80     TightSelectedNbOfEvts_Nbjets[6][0] = 1037; TightSelectedNbOfEvts_Nbjets[6][1] = 1801; TightSelectedNbOfEvts_Nbjets[6][2] = 652; TightSelectedNbOfEvts_Nbjets[6][3] = 48;
81    
82     float PreSelEff[NbOfDataSets][3];
83     float ExclSelEff[NbOfDataSets][3];
84    
85     float LooseSelEff[NbOfDataSets][3];
86     float LooseSelEff_Njets[NbOfDataSets][3][3];
87     float LooseSelEff_Nbjets[NbOfDataSets][3][4];
88    
89     float TightSelEff[NbOfDataSets][3];
90     float TightSelEff_Njets[NbOfDataSets][3][3];
91     float TightSelEff_Nbjets[NbOfDataSets][3][4];
92    
93     float T = 0;
94     for(int i = 0; i<NbOfDataSets; i++)
95     {
96     cout<<DataSetsNames[i]<<endl;
97    
98     T = 1/InitialNbOfEvts[i];
99     PreSelEff[i][0] = PreSelectedNbOfEvts[i]/InitialNbOfEvts[i];
100     PreSelEff[i][1] = ((PreSelEff[i][0]+(T/2))/(1+T))-(sqrt(PreSelEff[i][0]*(1-PreSelEff[i][0])*T+(T*T/4)))/(1+T);
101     PreSelEff[i][2] = ((PreSelEff[i][0]+(T/2))/(1+T))+(sqrt(PreSelEff[i][0]*(1-PreSelEff[i][0])*T+(T*T/4)))/(1+T);
102     cout<<"Pre-selection efficiency : "<<PreSelEff[i][0] <<" CI : ["<<PreSelEff[i][1]-PreSelEff[i][0]<<","<<PreSelEff[i][2]-PreSelEff[i][0]<<"]"<<endl;
103    
104     T = 1/PreSelectedNbOfEvts[i];
105     ExclSelEff[i][0] = LooseSelectedNbOfEvts[i]/PreSelectedNbOfEvts[i];
106     ExclSelEff[i][1] = ((ExclSelEff[i][0]+(T/2))/(1+T))-(sqrt(ExclSelEff[i][0]*(1-ExclSelEff[i][0])*T+(T*T/4)))/(1+T);
107     ExclSelEff[i][2] = ((ExclSelEff[i][0]+(T/2))/(1+T))+(sqrt(ExclSelEff[i][0]*(1-ExclSelEff[i][0])*T+(T*T/4)))/(1+T);
108     //cout<<"Excl.selection efficiency : "<<ExclSelEff[i][0]<<" CI : ["<<ExclSelEff[i][1]-ExclSelEff[i][0]<<","<<ExclSelEff[i][2]-ExclSelEff[i][0]<<"]"<<endl;
109    
110     T = 1/InitialNbOfEvts[i];
111     LooseSelEff[i][0] = LooseSelectedNbOfEvts[i]/InitialNbOfEvts[i];
112     LooseSelEff[i][1] = ((LooseSelEff[i][0]+(T/2))/(1+T))-(sqrt(LooseSelEff[i][0]*(1-LooseSelEff[i][0])*T+(T*T/4)))/(1+T);
113     LooseSelEff[i][2] = ((LooseSelEff[i][0]+(T/2))/(1+T))+(sqrt(LooseSelEff[i][0]*(1-LooseSelEff[i][0])*T+(T*T/4)))/(1+T);
114     cout<<"Loose selection efficiency : "<<LooseSelEff[i][0]<<" CI : ["<<LooseSelEff[i][1]-LooseSelEff[i][0]<<","<<LooseSelEff[i][2]-LooseSelEff[i][0]<<"]"<<endl;
115    
116     T = 1/InitialNbOfEvts[i]; TightSelEff[i][0] = 0;
117     for(int j=0;j<4;j++) TightSelEff[i][0] += TightSelectedNbOfEvts_Nbjets[i][j]/InitialNbOfEvts[i];
118     TightSelEff[i][1] = ((TightSelEff[i][0]+(T/2))/(1+T))-(sqrt(TightSelEff[i][0]*(1-TightSelEff[i][0])*T+(T*T/4)))/(1+T);
119     TightSelEff[i][2] = ((TightSelEff[i][0]+(T/2))/(1+T))+(sqrt(TightSelEff[i][0]*(1-TightSelEff[i][0])*T+(T*T/4)))/(1+T);
120     cout<<"Tight selection efficiency : "<<TightSelEff[i][0]<<" CI : ["<<TightSelEff[i][1]-TightSelEff[i][0]<<","<<TightSelEff[i][2]-TightSelEff[i][0]<<"]"<<endl;
121     for(int j=0;j<4;j++)
122     {
123     TightSelEff[i][0] = TightSelectedNbOfEvts_Nbjets[i][j]/InitialNbOfEvts[i];
124     TightSelEff[i][1] = ((TightSelEff[i][0]+(T/2))/(1+T))-(sqrt(TightSelEff[i][0]*(1-TightSelEff[i][0])*T+(T*T/4)))/(1+T);
125     TightSelEff[i][2] = ((TightSelEff[i][0]+(T/2))/(1+T))+(sqrt(TightSelEff[i][0]*(1-TightSelEff[i][0])*T+(T*T/4)))/(1+T);
126     cout<<"- with "<<j<<" b-jet : "<<TightSelEff[i][0]<<" CI : ["<<TightSelEff[i][1]-TightSelEff[i][0]<<","<<TightSelEff[i][2]-TightSelEff[i][0]<<"]"<<endl;
127     }
128     }
129     }