1 |
#include "cl95cms.C"
|
2 |
|
3 |
//const double lumi = 34.18, lumiErr = 0.052;
|
4 |
const double lumi = 34.74, lumiErr = 0.11;
|
5 |
|
6 |
void run(double qTcut, double qTcutErr, double accCut, double accCutErr, double effCut, double effCutErr, double bgExpect, double bgExpectErr, int bg){
|
7 |
// Full efficiency is the product -> error propagation (assuing absolute errors) is:
|
8 |
double uncertainty = qTcut*accCut*effCut * sqrt( qTcutErr/qTcut*qTcutErr/qTcut + accCutErr/accCut*accCutErr/accCut + effCutErr/effCut*effCutErr/effCut );
|
9 |
double uncertNoAcc = qTcut* effCut * sqrt( qTcutErr/qTcut*qTcutErr/qTcut + effCutErr/effCut*effCutErr/effCut );
|
10 |
|
11 |
cout<<"Efficiency= "<<qTcut*accCut*effCut<<" +- "<<uncertainty<<endl;
|
12 |
|
13 |
double expectedLimitSigma = CLA (lumi, lumi*lumiErr, qTcut*accCut*effCut, uncertainty, bgExpect, bgExpectErr);
|
14 |
double actualLimitSigma = CL95(lumi, lumi*lumiErr, qTcut*accCut*effCut, uncertainty, bgExpect, bgExpectErr, bg);
|
15 |
|
16 |
double expectedLimitSigmaAcc = CLA (lumi, lumi*lumiErr, qTcut*effCut, uncertNoAcc, bgExpect, bgExpectErr);
|
17 |
double actualLimitSigmaAcc = CL95(lumi, lumi*lumiErr, qTcut*effCut, uncertNoAcc, bgExpect, bgExpectErr, bg);
|
18 |
|
19 |
cout<<"Found limit on sigma="<<actualLimitSigma<<" vs. expected limit on sigma="<<expectedLimitSigma<<" (pb)"<<endl;
|
20 |
cout<<"Found limit on sigma x acc="<<actualLimitSigmaAcc<<" vs. expected limit on sigma x acc="<<expectedLimitSigmaAcc<<" (pb)"<<endl;
|
21 |
}
|
22 |
|
23 |
void countingLimits(void){
|
24 |
/*
|
25 |
double qTCI05 = 0.3466; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
26 |
double qTCI05err = 0.006; // and the absolute statistical uncertainty
|
27 |
double accCI05 = 0.589/0.839; // acceptance above qT threshold (from GP's table)
|
28 |
double accCI05err = sqrt(0.007*0.007+0.02*0.02*accCI05*accCI05); // and the absolute statistical (0.009/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
29 |
double effCI05 = 0.839; // selection efficiency above the qT threshold within the acceptance
|
30 |
double effCI05err = sqrt(0.007*0.007+0.015*0.015*effCI05*effCI05); // and the absolute statistical (0.009/sqrt(2)) [+] systematic uncertainty (my calcs)
|
31 |
//double bgExpect300 = 5.3; // From GP's data-driven bg estimation
|
32 |
//double bgExpectErr300 = 2.7;
|
33 |
double bgExpect300 = 3.0;
|
34 |
double bgExpectErr300 = 2.6;
|
35 |
double bgMeasured300 = 5;
|
36 |
|
37 |
cout<<"Contact Interaction M= 500 GeV/c"<<endl;
|
38 |
run(qTCI05,qTCI05err,accCI05,accCI05err,effCI05,effCI05err,bgExpect300,bgExpectErr300,bgMeasured300);
|
39 |
cout<<endl<<endl;
|
40 |
*/
|
41 |
/*
|
42 |
double qTCI10 = 0.478943; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
43 |
double qTCI10err = 0.006; // and the relative statistical uncertainty
|
44 |
double accCI10 = 0.582/0.840; // acceptance above qT threshold (from GP's table)
|
45 |
double accCI10err = sqrt(0.006*0.006+0.02*accCI10*0.02*accCI10); // and the relative statistical (0.008/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
46 |
double effCI10 = 0.840; // selection efficiency above the qT threshold within the acceptance
|
47 |
double effCI10err = sqrt(0.006*0.006+0.015*effCI10*0.015*effCI10); // and the relative statistical (0.008/sqrt(2)) [+] systematic uncertainty (my calcs)
|
48 |
//double bgExpect350 = 2.4; // From GP's data-driven bg estimation
|
49 |
//double bgExpectErr350 = 1.4;
|
50 |
double bgExpect350 = 1.3;
|
51 |
double bgExpectErr350 = 1.25;
|
52 |
double bgMeasured350 = 1;
|
53 |
|
54 |
cout<<"Contact Interaction M = 1000 GeV/c"<<endl;
|
55 |
run(qTCI10,qTCI10err,accCI10,accCI10err,effCI10,effCI10err,bgExpect350,bgExpectErr350,bgMeasured350);
|
56 |
cout<<endl<<endl;
|
57 |
|
58 |
double qTCI15 = 0.544992; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
59 |
double qTCI15err = 0.006; // and the relative statistical uncertainty
|
60 |
double accCI15 = 0.512/0.839; // acceptance above qT threshold (from GP's table)
|
61 |
double accCI15err = sqrt(0.005*0.005+0.02*accCI15*0.02*accCI15); // and the relative statistical (0.007/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
62 |
double effCI15 = 0.839; // selection efficiency above the qT threshold within the acceptance
|
63 |
double effCI15err = sqrt(0.005*0.005+0.015*effCI15*0.015*effCI15); // and the relative statistical (0.007/sqrt(2)) [+] systematic uncertainty (my calcs)
|
64 |
//double bgExpect400 = 1.2; // From GP's data-driven bg estimation
|
65 |
//double bgExpectErr400 = 0.7;
|
66 |
double bgExpect400 = 0.57;
|
67 |
double bgExpectErr400 = 0.58;
|
68 |
double bgMeasured400 = 1;
|
69 |
|
70 |
cout<<"Contact Interaction M = 1500 GeV/c"<<endl;
|
71 |
run(qTCI15,qTCI15err,accCI15,accCI15err,effCI15,effCI15err,bgExpect400,bgExpectErr400,bgMeasured400);
|
72 |
cout<<endl<<endl;
|
73 |
|
74 |
double qTCI20 = 0.581699; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
75 |
double qTCI20err = 0.006; // and the relative statistical uncertainty
|
76 |
double accCI20 = 0.443/0.832; // acceptance above qT threshold (from GP's table)
|
77 |
double accCI20err = sqrt(0.005*0.005+0.02*accCI20*0.02*accCI20); // and the relative statistical (0.007/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
78 |
double effCI20 = 0.832; // selection efficiency above the qT threshold within the acceptance
|
79 |
double effCI20err = sqrt(0.005*0.005+0.015*effCI20*0.015*effCI20); // and the relative statistical (0.007/sqrt(2)) [+] systematic uncertainty (my calcs)
|
80 |
|
81 |
cout<<"Contact Interaction M = 2000 GeV/c"<<endl;
|
82 |
run(qTCI20,qTCI20err,accCI20,accCI20err,effCI20,effCI20err,bgExpect400,bgExpectErr400,bgMeasured400);
|
83 |
cout<<endl<<endl;
|
84 |
*/
|
85 |
double qTGI05 = 0.434767; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
86 |
double qTGI05err = 0.007; // and the absolute statistical uncertainty
|
87 |
double accGI05 = 0.704/0.831; // acceptance above qT threshold (from GP's table)
|
88 |
double accGI05err = sqrt(0.007*0.007+0.02*0.02*accGI05*accGI05); // and the absolute statistical (0.009/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
89 |
double effGI05 = 0.831; // selection efficiency above the qT threshold within the acceptance
|
90 |
double effGI05err = sqrt(0.007*0.007+0.015*0.015*effGI05*effGI05); // and the absolute statistical (0.009/sqrt(2)) [+] systematic uncertainty (my calcs)
|
91 |
//double bgExpect200 = 29; // From GP's data-driven bg estimation
|
92 |
//double bgExpectErr200 = 9;
|
93 |
double bgExpect200 = 20.;
|
94 |
double bgExpectErr200 = 10.1;
|
95 |
double bgMeasured200 = 16;
|
96 |
|
97 |
cout<<"Gauge Interaction M= 500 GeV/c"<<endl;
|
98 |
run(qTGI05,qTGI05err,accGI05,accGI05err,effGI05,effGI05err,bgExpect200,bgExpectErr200,bgMeasured200);
|
99 |
cout<<endl<<endl;
|
100 |
return;
|
101 |
/*
|
102 |
double qTGI07 = 0.71325; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
103 |
double qTGI07err = 0.006; // and the absolute statistical uncertainty
|
104 |
double accGI07 = 0.698/0.831; // acceptance above qT threshold (from GP's table)
|
105 |
double accGI07err = sqrt(0.005*0.005+0.02*0.02*accGI07*accGI07); // and the absolute statistical (0.007/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
106 |
double effGI07 = 0.831; // selection efficiency above the qT threshold within the acceptance
|
107 |
double effGI07err = sqrt(0.005*0.005+0.015*0.015*effGI07*effGI07); // and the absolute statistical (0.007/sqrt(2)) [+] systematic uncertainty (my calcs)
|
108 |
double bgExpect200 = 29; // From GP's data-driven bg estimation
|
109 |
double bgExpectErr200 = 9;
|
110 |
double bgMeasured200 = 16;
|
111 |
|
112 |
cout<<"Gauge Interaction M= 750 GeV/c"<<endl;
|
113 |
run(qTGI07,qTGI07err,accGI07,accGI07err,effGI07,effGI07err,bgExpect200,bgExpectErr200,bgMeasured200);
|
114 |
cout<<endl<<endl;
|
115 |
*/
|
116 |
double qTGI10 = 0.552582; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
117 |
double qTGI10err = 0.007; // and the absolute statistical uncertainty
|
118 |
double accGI10 = 0.701/0.865; // acceptance above qT threshold (from GP's table)
|
119 |
double accGI10err = sqrt(0.005*0.005+0.02*0.02*accGI10*accGI10); // and the absolute statistical (0.007/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
120 |
double effGI10 = 0.865; // selection efficiency above the qT threshold within the acceptance
|
121 |
double effGI10err = sqrt(0.005*0.005+0.015*0.015*effGI10*effGI10); // and the absolute statistical (0.007/sqrt(2)) [+] systematic uncertainty (my calcs)
|
122 |
//double bgExpect350 = 2.4; // From GP's data-driven bg estimation
|
123 |
//double bgExpectErr350 = 1.4;
|
124 |
double bgExpect350 = 1.3;
|
125 |
double bgExpectErr350 = 1.25;
|
126 |
double bgMeasured350 = 1;
|
127 |
|
128 |
cout<<"Gauge Interaction M= 1000 GeV/c"<<endl;
|
129 |
run(qTGI10,qTGI10err,accGI10,accGI10err,effGI10,effGI10err,bgExpect350,bgExpectErr350,bgMeasured350);
|
130 |
cout<<endl<<endl;
|
131 |
/*
|
132 |
double qTGI12 = 0.650356; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
133 |
double qTGI12err = 0.006; // and the absolute statistical uncertainty
|
134 |
double accGI12 = 0.673/0.864; // acceptance above qT threshold (from GP's table)
|
135 |
double accGI12err = sqrt(0.005*0.005+0.02*0.02*accGI12*accGI12); // and the absolute statistical (0.007/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
136 |
double effGI12 = 0.864; // selection efficiency above the qT threshold within the acceptance
|
137 |
double effGI12err = sqrt(0.005*0.005+0.015*0.015*effGI12*effGI12); // and the absolute statistical (0.007/sqrt(2)) [+] systematic uncertainty (my calcs)
|
138 |
double bgExpect350 = 2.4; // From GP's data-driven bg estimation
|
139 |
double bgExpectErr350 = 1.4;
|
140 |
double bgMeasured350 = 1;
|
141 |
|
142 |
cout<<"Gauge Interaction M= 1250 GeV/c"<<endl;
|
143 |
run(qTGI12,qTGI12err,accGI12,accGI12err,effGI12,effGI12err,bgExpect350,bgExpectErr350,bgMeasured350);
|
144 |
cout<<endl<<endl;
|
145 |
*/
|
146 |
double qTGI15 = 0.607149; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
147 |
double qTGI15err = 0.006; // and the absolute statistical uncertainty
|
148 |
double accGI15 = 0.721/0.879; // acceptance above qT threshold (from GP's table)
|
149 |
double accGI15err = sqrt(0.016*0.016+0.02*0.02*accGI15*accGI15); // and the absolute statistical (0.007/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
150 |
double effGI15 = 0.879; // selection efficiency above the qT threshold within the acceptance
|
151 |
double effGI15err = sqrt(0.016*0.016+0.015*0.015*effGI15*effGI15); // and the absolute statistical (0.007/sqrt(2)) [+] systematic uncertainty (my calcs)
|
152 |
//double bgExpect400 = 1.2; // From GP's data-driven bg estimation
|
153 |
//double bgExpectErr400 = 0.7;
|
154 |
double bgExpect400 = 0.57;
|
155 |
double bgExpectErr400 = 0.58;
|
156 |
double bgMeasured400 = 1;
|
157 |
|
158 |
cout<<"Gauge Interaction M= 1500 GeV/c"<<endl;
|
159 |
run(qTGI15,qTGI15err,accGI15,accGI15err,effGI15,effGI15err,bgExpect400,bgExpectErr400,bgMeasured400);
|
160 |
cout<<endl<<endl;
|
161 |
/*
|
162 |
double qTZP05 = 0.320869; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
163 |
double qTZP05err = 0.0114643; // and the absolute statistical uncertainty
|
164 |
double accZP05 = 0.479/0.734; // acceptance above qT threshold (from GP's table)
|
165 |
double accZP05err = sqrt(0.013*0.013+0.02*0.02*accZP05*accZP05); // and the absolute statistical (0.019/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
166 |
double effZP05 = 0.734; // selection efficiency above the qT threshold within the acceptance
|
167 |
double effZP05err = sqrt(0.013*0.013+0.015*0.015*effZP05*effZP05); // and the absolute statistical (0.019/sqrt(2)) [+] systematic uncertainty (my calcs)
|
168 |
// double bgExpect200 = 29; // From GP's data-driven bg estimation
|
169 |
// double bgExpectErr200 = 9;
|
170 |
// double bgMeasured200 = 16;
|
171 |
|
172 |
cout<<"Z' M= 500 GeV/c"<<endl;
|
173 |
run(qTZP05,qTZP05err,accZP05,accZP05err,effZP05,effZP05err,bgExpect200,bgExpectErr200,bgMeasured200);
|
174 |
cout<<endl<<endl;
|
175 |
|
176 |
double qTZP10 = 0.475628; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
177 |
double qTZP10err = 0.00683797; // and the absolute statistical uncertainty
|
178 |
double accZP10 = 0.499/0.822; // acceptance above qT threshold (from GP's table)
|
179 |
double accZP10err = sqrt(0.006*0.006+0.02*0.02*accZP10*accZP10); // and the absolute statistical (0.008/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
180 |
double effZP10 = 0.822; // selection efficiency above the qT threshold within the acceptance
|
181 |
double effZP10err = sqrt(0.006*0.006+0.015*0.015*effZP10*effZP10); // and the absolute statistical (0.008/sqrt(2)) [+] systematic uncertainty (my calcs)
|
182 |
// double bgExpect350 = 2.4; // From GP's data-driven bg estimation
|
183 |
// double bgExpectErr350 = 1.4;
|
184 |
// double bgMeasured350 = 1;
|
185 |
|
186 |
cout<<"Z' M= 1000 GeV/c"<<endl;
|
187 |
run(qTZP10,qTZP10err,accZP10,accZP10err,effZP10,effZP10err,bgExpect350,bgExpectErr350,bgMeasured350);
|
188 |
cout<<endl<<endl;
|
189 |
|
190 |
double qTZP15 = 0.540415; // qT threshold efficiency (generated with boostedZ/cl95cms/cuts.C)
|
191 |
double qTZP15err = 0.00802145; // and the absolute statistical uncertainty
|
192 |
double accZP15 = 0.439/0.822; // acceptance above qT threshold (from GP's table)
|
193 |
double accZP15err = sqrt(0.007*0.007+0.02*0.02*accZP15*accZP15); // and the absolute statistical (0.010/sqrt(2)) [+] systematic uncertainty (from Joe's plots)
|
194 |
double effZP15 = 0.822; // selection efficiency above the qT threshold within the acceptance
|
195 |
double effZP15err = sqrt(0.007*0.007+0.015*0.015*effZP15*effZP15); // and the absolute statistical (0.010/sqrt(2)) [+] systematic uncertainty (my calcs)
|
196 |
// double bgExpect400 = 1.2; // From GP's data-driven bg estimation
|
197 |
// double bgExpectErr400 = 0.7;
|
198 |
// double bgMeasured400 = 1;
|
199 |
|
200 |
cout<<"Z' M= 1500 GeV/c"<<endl;
|
201 |
run(qTZP15,qTZP15err,accZP15,accZP15err,effZP15,effZP15err,bgExpect400,bgExpectErr400,bgMeasured400);
|
202 |
cout<<endl<<endl;
|
203 |
*/
|
204 |
}
|