ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UfCode/UserArea/StatTools/countingLimits.C
Revision: 1.1
Committed: Tue Feb 15 14:03:43 2011 UTC (14 years, 2 months ago) by kkotov
Content type: text/plain
Branch: MAIN
CVS Tags: V2012-H-02, V2012-01-00, V2011-01-01, V2011-01-00, AnnaDimuon, V01-00-01, V01-00-00, HEAD
Error occurred while calculating annotation data.
Log Message:
*** empty log message ***

File Contents

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