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
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 kkotov 1.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     }