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 |
|
|
}
|