ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/FGolf/Tools/ScaleFactors.cc
(Generate patch)

Comparing UserCode/FGolf/Tools/ScaleFactors.cc (file contents):
Revision 1.2 by kelley, Mon May 28 19:31:28 2012 UTC vs.
Revision 1.5 by fgolf, Sat Jul 14 22:53:12 2012 UTC

# Line 1 | Line 1
1   #include "ScaleFactors.h"
2   #include "CORE/CMS2.h"
3 < //#include "bTagEff_BTV.h"
3 > #include "DileptonHypType.h"
4  
5   float dileptonTagAndProbeScaleFactor(int hyp_idx)
6   {
# Line 16 | Line 16 | float tagAndProbeScaleFactor(int id, flo
16      float feta = fabs(eta);
17  
18      if (aid == 11) {
19 <        if (feta < .1479) {
20 <            if (pt < 40. && pt > 20.)
21 <                return 0.9989;
22 <            else if (pt > 40.)
23 <                return 0.9997;
19 >        if (feta < 0.1479) {
20 >            if (pt < 40.0 && pt > 20.0)
21 >                return 0.9947;
22 >            else if (pt > 40.0)
23 >                return 0.9967;
24              else
25 <                return 0.;
25 >                return 0.0;
26          }
27          else if (feta < 2.4) {
28 <            if (pt < 40. && pt > 20.)
29 <                return 1.0335;
30 <            else if (pt > 40.)
31 <                return 1.0114;
28 >            if (pt < 40.0 && pt > 20.0)
29 >                return 0.9638;
30 >            else if (pt > 40.0)
31 >                return 0.9768;
32              else
33 <                return 0.;
33 >                return 0.0;
34          }
35 <        else return 0.;
35 >        else return 0.0;
36      }
37      else if (aid == 13) {
38 <        if (feta < .1479) {
39 <            if (pt < 40. && pt > 20.)
40 <                return 1.0116;
38 >        if (feta < 0.1479) {
39 >            if (pt < 40.0 && pt > 20.0)
40 >                return 0.9863;
41              else if (pt > 40.)
42 <                return 1.0163;
42 >                return 0.9859;
43              else
44                  return 0.;
45          }
46          else if (feta < 2.4) {
47              if (pt < 40. && pt > 20.)
48 <                return 0.9965;
49 <            else if (pt > 40.)
50 <                return 1.0114;
48 >                return 0.9941;
49 >            else if (pt > 40.0)
50 >                return 0.9921;
51              else
52 <                return 0.;
52 >                return 0.0;
53          }
54 <        else return 0.;
54 >        else return 0.0;
55     }
56  
57 <    return 0.;
57 >    return 0.0;
58   }
59  
60 < float dilepTriggerScaleFactor(enum TrigEffType trig_eff_type, int hyp_idx)
60 > float dilepTriggerScaleFactor(int hyp_idx)
61   {
62 <    float sf1 = triggerScaleFactor(trig_eff_type, cms2.hyp_lt_id().at(hyp_idx), cms2.hyp_lt_p4().at(hyp_idx).pt(), cms2.hyp_lt_p4().at(hyp_idx).eta());
63 <    float sf2 = triggerScaleFactor(trig_eff_type, cms2.hyp_ll_id().at(hyp_idx), cms2.hyp_ll_p4().at(hyp_idx).pt(), cms2.hyp_ll_p4().at(hyp_idx).eta());
64 <    return (sf1 * sf2);
62 >    return dilepTriggerScaleFactor(cms2.hyp_lt_id().at(hyp_idx), cms2.hyp_lt_p4().at(hyp_idx),
63 >                                   cms2.hyp_ll_id().at(hyp_idx), cms2.hyp_ll_p4().at(hyp_idx));
64 > }
65 >
66 > float dilepTriggerScaleFactor(int id1, LorentzVector &vec1, int id2, LorentzVector &vec2)
67 > {
68 >    double eff_1l = 0.0;
69 >    double eff_1t = 0.0;
70 >    double eff_2l = 0.0;
71 >    double eff_2t = 0.0;
72 >    double eff_z  = 0.0;
73 >
74 >    DileptonHypType hyp_type = DILEPTON_EMU;
75 >    if (abs(id1) == 13 && abs(id2) == 13)
76 >        hyp_type = DILEPTON_MUMU;
77 >    else if (abs(id1) == 11 && abs(id2) == 11)
78 >        hyp_type = DILEPTON_EE;
79 >
80 >    if (hyp_type == DILEPTON_EE || hyp_type == DILEPTON_MUMU) {
81 >        eff_1l  = triggerScaleFactor(LeadDbl, id1, vec1);
82 >        eff_1t  = triggerScaleFactor(TrailDbl, id1, vec1);
83 >        eff_2l  = triggerScaleFactor(LeadDbl, id2, vec2);
84 >        eff_2t  = triggerScaleFactor(TrailDbl, id2, vec2);
85 >        if (vec1.pt() > vec2.pt())
86 >            eff_z = triggerScaleFactor(DzDbl, id2, vec2);
87 >        else
88 >            eff_z = triggerScaleFactor(DzDbl, id1, vec1);
89 >
90 >        return (eff_1l * eff_2t + eff_1t * eff_2l - eff_1l * eff_2l) * eff_z;
91 >    }
92 >    else if (hyp_type == DILEPTON_EMU) {
93 >        eff_1l  = triggerScaleFactor(LeadDbl, id1, vec1);
94 >        eff_1t  = triggerScaleFactor(TrailDbl, id1, vec1);
95 >        eff_2l  = triggerScaleFactor(LeadDbl, id2, vec2);
96 >        eff_2t  = triggerScaleFactor(TrailDbl, id2, vec2);
97 >        if (abs(id2))
98 >            eff_z = triggerScaleFactor(DzDbl, id2, vec2);
99 >        else
100 >            eff_z = triggerScaleFactor(DzDbl, id1, vec1);
101 >
102 >        return (eff_1l * eff_2t + eff_1t * eff_2l - eff_1l * eff_2l) * sqrt(eff_z);
103 >    }
104 >
105 >    return 0.0;
106   }
107  
108 < float triggerScaleFactor(enum TrigEffType trig_eff_type, int id, float pt, float eta)
108 > float triggerScaleFactor(enum TrigEffType trig_eff_type, int id, const LorentzVector &p4)
109   {
110 <        unsigned int aid  = abs(id);
111 <        float feta = fabs(eta);
110 >    unsigned int aid  = abs(id);
111 >    float eta = fabs(p4.eta());
112 >    float pt = p4.pt();
113  
114 <        if (aid == 11)
115 <        {
116 <                switch (trig_eff_type)
117 <                {
118 <                        case DzDbl:
119 <                                if (fabs(eta) < 0.000) return 0.;
120 <                                if (fabs(eta) > 2.500) return 0.;
121 <
122 <                                if (pt < 20.000) return 0.;
123 <                                if (pt > 7000.000) return 0.;
124 <
125 <                                if (fabs(eta) < 0.800000) {
126 <                                        if (pt < 22.500000) return 1.000;
127 <                                        else if (pt < 25.000000) return 1.000;
128 <                                        else if (pt < 27.500000) return 0.999;
129 <                                        else if (pt < 30.000000) return 1.000;
130 <                                        else if (pt < 35.000000) return 1.000;
131 <                                        else if (pt < 40.000000) return 1.000;
132 <                                        else if (pt < 50.000000) return 1.000;
133 <                                        else if (pt < 7000.000000) return 1.000;
134 <                                }
135 <                                else if (fabs(eta) < 1.479000) {
136 <                                        if (pt < 22.500000) return 1.000;
137 <                                        else if (pt < 25.000000) return 1.000;
138 <                                        else if (pt < 27.500000) return 0.996;
139 <                                        else if (pt < 30.000000) return 1.000;
140 <                                        else if (pt < 35.000000) return 1.000;
141 <                                        else if (pt < 40.000000) return 1.000;
142 <                                        else if (pt < 50.000000) return 0.999;
143 <                                        else if (pt < 7000.000000) return 1.000;
144 <                                }
145 <                                else if (fabs(eta) < 2.000000) {
146 <                                        if (pt < 22.500000) return 1.000;
147 <                                        else if (pt < 25.000000) return 1.000;
148 <                                        else if (pt < 27.500000) return 1.000;
149 <                                        else if (pt < 30.000000) return 0.997;
150 <                                        else if (pt < 35.000000) return 0.999;
151 <                                        else if (pt < 40.000000) return 0.999;
152 <                                        else if (pt < 50.000000) return 0.998;
153 <                                        else if (pt < 7000.000000) return 0.997;
154 <                                }
155 <                                else if (fabs(eta) < 2.500000) {
156 <                                        if (pt < 22.500000) return 0.974;
157 <                                        else if (pt < 25.000000) return 0.990;
158 <                                        else if (pt < 27.500000) return 0.994;
159 <                                        else if (pt < 30.000000) return 1.000;
160 <                                        else if (pt < 35.000000) return 0.993;
161 <                                        else if (pt < 40.000000) return 0.987;
162 <                                        else if (pt < 50.000000) return 0.989;
163 <                                        else if (pt < 7000.000000) return 0.988;
164 <                                }
165 <                                break;
166 <                        case LeadDbl:
167 <                                if (fabs(eta) < 0.000) return 0.;
168 <                                if (fabs(eta) > 2.500) return 0.;
169 <
170 <                                if (pt < 20.000) return 0.;
171 <                                if (pt > 7000.000) return 0.;
172 <
173 <                                if (fabs(eta) < 0.800000) {
174 <                                        if (pt < 22.500000) return 0.943;
175 <                                        else if (pt < 25.000000) return 0.936;
176 <                                        else if (pt < 27.500000) return 0.960;
177 <                                        else if (pt < 30.000000) return 0.967;
178 <                                        else if (pt < 35.000000) return 0.974;
179 <                                        else if (pt < 40.000000) return 0.977;
180 <                                        else if (pt < 50.000000) return 0.977;
181 <                                        else if (pt < 7000.000000) return 0.971;
182 <                                }
183 <                                else if (fabs(eta) < 1.479000) {
184 <                                        if (pt < 22.500000) return 0.957;
185 <                                        else if (pt < 25.000000) return 0.969;
186 <                                        else if (pt < 27.500000) return 0.987;
187 <                                        else if (pt < 30.000000) return 0.987;
188 <                                        else if (pt < 35.000000) return 0.991;
189 <                                        else if (pt < 40.000000) return 0.993;
190 <                                        else if (pt < 50.000000) return 0.995;
191 <                                        else if (pt < 7000.000000) return 0.993;
192 <                                }
193 <                                else if (fabs(eta) < 2.000000) {
194 <                                        if (pt < 22.500000) return 0.982;
195 <                                        else if (pt < 25.000000) return 0.986;
196 <                                        else if (pt < 27.500000) return 0.984;
197 <                                        else if (pt < 30.000000) return 0.991;
198 <                                        else if (pt < 35.000000) return 0.994;
199 <                                        else if (pt < 40.000000) return 0.994;
200 <                                        else if (pt < 50.000000) return 0.996;
201 <                                        else if (pt < 7000.000000) return 0.995;
202 <                                }
203 <                                else if (fabs(eta) < 2.500000) {
204 <                                        if (pt < 22.500000) return 0.835;
205 <                                        else if (pt < 25.000000) return 0.981;
206 <                                        else if (pt < 27.500000) return 1.000;
207 <                                        else if (pt < 30.000000) return 0.987;
208 <                                        else if (pt < 35.000000) return 0.990;
209 <                                        else if (pt < 40.000000) return 0.986;
210 <                                        else if (pt < 50.000000) return 0.989;
211 <                                        else if (pt < 7000.000000) return 0.994;
212 <                                }
213 <                                break;
214 <                        case Sgl:
215 <                                if (fabs(eta) < 0.000) return 0.;
216 <                                if (fabs(eta) > 2.500) return 0.;
217 <
218 <                                if (pt < 20.000) return 0.;
219 <                                if (pt > 7000.000) return 0.;
220 <
221 <                                if (fabs(eta) < 0.800000) {
222 <                                        if (pt < 22.500000) return 0.000;
223 <                                        else if (pt < 25.000000) return 0.000;
224 <                                        else if (pt < 27.500000) return 0.059;
225 <                                        else if (pt < 30.000000) return 0.740;
226 <                                        else if (pt < 35.000000) return 0.904;
227 <                                        else if (pt < 40.000000) return 0.927;
228 <                                        else if (pt < 50.000000) return 0.945;
229 <                                        else if (pt < 7000.000000) return 0.950;
230 <                                }
231 <                                else if (fabs(eta) < 1.479000) {
232 <                                        if (pt < 22.500000) return 0.000;
233 <                                        else if (pt < 25.000000) return 0.035;
234 <                                        else if (pt < 27.500000) return 0.112;
235 <                                        else if (pt < 30.000000) return 0.647;
236 <                                        else if (pt < 35.000000) return 0.915;
237 <                                        else if (pt < 40.000000) return 0.939;
238 <                                        else if (pt < 50.000000) return 0.956;
239 <                                        else if (pt < 7000.000000) return 0.968;
240 <                                }
241 <                                else if (fabs(eta) < 2.000000) {
242 <                                        if (pt < 22.500000) return 0.000;
243 <                                        else if (pt < 25.000000) return 0.006;
244 <                                        else if (pt < 27.500000) return 0.108;
245 <                                        else if (pt < 30.000000) return 0.448;
246 <                                        else if (pt < 35.000000) return 0.687;
247 <                                        else if (pt < 40.000000) return 0.735;
248 <                                        else if (pt < 50.000000) return 0.767;
249 <                                        else if (pt < 7000.000000) return 0.766;
250 <                                }
251 <                                else if (fabs(eta) < 2.500000) {
252 <                                        if (pt < 22.500000) return 0.000;
253 <                                        else if (pt < 25.000000) return 0.009;
254 <                                        else if (pt < 27.500000) return 0.095;
255 <                                        else if (pt < 30.000000) return 0.305;
256 <                                        else if (pt < 35.000000) return 0.532;
257 <                                        else if (pt < 40.000000) return 0.640;
258 <                                        else if (pt < 50.000000) return 0.695;
259 <                                        else if (pt < 7000.000000) return 0.687;
260 <                                }
261 <                                break;
262 <                        case TrailDbl:
263 <                                if (fabs(eta) < 0.000) return 0.;
264 <                                if (fabs(eta) > 2.500) return 0.;
265 <
266 <                                if (pt < 20.000) return 0.;
267 <                                if (pt > 7000.000) return 0.;
268 <
269 <                                if (fabs(eta) < 0.800000) {
270 <                                        if (pt < 22.500000) return 0.943;
271 <                                        else if (pt < 25.000000) return 0.951;
272 <                                        else if (pt < 27.500000) return 0.963;
273 <                                        else if (pt < 30.000000) return 0.962;
274 <                                        else if (pt < 35.000000) return 0.970;
275 <                                        else if (pt < 40.000000) return 0.974;
276 <                                        else if (pt < 50.000000) return 0.974;
277 <                                        else if (pt < 7000.000000) return 0.970;
278 <                                }
279 <                                else if (fabs(eta) < 1.479000) {
280 <                                        if (pt < 22.500000) return 0.970;
281 <                                        else if (pt < 25.000000) return 0.974;
282 <                                        else if (pt < 27.500000) return 0.977;
283 <                                        else if (pt < 30.000000) return 0.984;
284 <                                        else if (pt < 35.000000) return 0.987;
285 <                                        else if (pt < 40.000000) return 0.987;
286 <                                        else if (pt < 50.000000) return 0.990;
287 <                                        else if (pt < 7000.000000) return 0.987;
288 <                                }
289 <                                else if (fabs(eta) < 2.000000) {
290 <                                        if (pt < 22.500000) return 0.982;
291 <                                        else if (pt < 25.000000) return 0.993;
292 <                                        else if (pt < 27.500000) return 0.979;
293 <                                        else if (pt < 30.000000) return 0.991;
294 <                                        else if (pt < 35.000000) return 0.988;
295 <                                        else if (pt < 40.000000) return 0.989;
296 <                                        else if (pt < 50.000000) return 0.993;
297 <                                        else if (pt < 7000.000000) return 0.992;
298 <                                }
299 <                                else if (fabs(eta) < 2.500000) {
300 <                                        if (pt < 22.500000) return 0.962;
301 <                                        else if (pt < 25.000000) return 0.981;
302 <                                        else if (pt < 27.500000) return 1.000;
303 <                                        else if (pt < 30.000000) return 0.987;
304 <                                        else if (pt < 35.000000) return 0.989;
305 <                                        else if (pt < 40.000000) return 0.985;
306 <                                        else if (pt < 50.000000) return 0.987;
307 <                                        else if (pt < 7000.000000) return 0.992;
308 <                                }
309 <                                break;
310 <                };
311 <        }
312 <        else if (aid == 13)
313 <        {
314 <                switch (trig_eff_type)
315 <                {
316 <                        case DzDbl:
317 <                                if (fabs(eta) < 0.000) return 0.;
318 <                                if (fabs(eta) > 2.400) return 0.;
319 <
320 <                                if (pt < 20.000) return 0.;
321 <                                if (pt > 7000.000) return 0.;
322 <
323 <                                if (fabs(eta) < 0.800000) {
324 <                                        if (pt < 22.500000) return 0.901;
325 <                                        else if (pt < 25.000000) return 0.883;
326 <                                        else if (pt < 27.500000) return 0.912;
327 <                                        else if (pt < 30.000000) return 0.905;
328 <                                        else if (pt < 35.000000) return 0.906;
329 <                                        else if (pt < 40.000000) return 0.909;
330 <                                        else if (pt < 50.000000) return 0.923;
331 <                                        else if (pt < 7000.000000) return 0.927;
332 <                                }
333 <                                else if (fabs(eta) < 1.200000) {
334 <                                        if (pt < 22.500000) return 0.904;
335 <                                        else if (pt < 25.000000) return 0.897;
336 <                                        else if (pt < 27.500000) return 0.926;
337 <                                        else if (pt < 30.000000) return 0.921;
338 <                                        else if (pt < 35.000000) return 0.903;
339 <                                        else if (pt < 40.000000) return 0.896;
340 <                                        else if (pt < 50.000000) return 0.890;
341 <                                        else if (pt < 7000.000000) return 0.876;
342 <                                }
343 <                                else if (fabs(eta) < 2.400000) {
344 <                                        if (pt < 22.500000) return 0.864;
345 <                                        else if (pt < 25.000000) return 0.847;
346 <                                        else if (pt < 27.500000) return 0.864;
347 <                                        else if (pt < 30.000000) return 0.862;
348 <                                        else if (pt < 35.000000) return 0.858;
349 <                                        else if (pt < 40.000000) return 0.840;
350 <                                        else if (pt < 50.000000) return 0.824;
351 <                                        else if (pt < 7000.000000) return 0.810;
352 <                                }
353 <                                break;
354 <                        case LeadDbl:
355 <                                if (fabs(eta) < 0.000) return 0.;
356 <                                if (fabs(eta) > 2.400) return 0.;
357 <
358 <                                if (pt < 20.000) return 0.;
359 <                                if (pt > 7000.000) return 0.;
360 <
361 <                                if (fabs(eta) < 0.800000) {
362 <                                        if (pt < 22.500000) return 0.983;
363 <                                        else if (pt < 25.000000) return 0.976;
364 <                                        else if (pt < 27.500000) return 0.982;
365 <                                        else if (pt < 30.000000) return 0.977;
366 <                                        else if (pt < 35.000000) return 0.976;
367 <                                        else if (pt < 40.000000) return 0.977;
368 <                                        else if (pt < 50.000000) return 0.976;
369 <                                        else if (pt < 7000.000000) return 0.977;
370 <                                }
371 <                                else if (fabs(eta) < 1.200000) {
372 <                                        if (pt < 22.500000) return 0.911;
373 <                                        else if (pt < 25.000000) return 0.935;
374 <                                        else if (pt < 27.500000) return 0.927;
375 <                                        else if (pt < 30.000000) return 0.925;
376 <                                        else if (pt < 35.000000) return 0.938;
377 <                                        else if (pt < 40.000000) return 0.939;
378 <                                        else if (pt < 50.000000) return 0.939;
379 <                                        else if (pt < 7000.000000) return 0.934;
380 <                                }
381 <                                else if (fabs(eta) < 2.400000) {
382 <                                        if (pt < 22.500000) return 0.900;
383 <                                        else if (pt < 25.000000) return 0.915;
384 <                                        else if (pt < 27.500000) return 0.903;
385 <                                        else if (pt < 30.000000) return 0.908;
386 <                                        else if (pt < 35.000000) return 0.917;
387 <                                        else if (pt < 40.000000) return 0.917;
388 <                                        else if (pt < 50.000000) return 0.921;
389 <                                        else if (pt < 7000.000000) return 0.916;
390 <                                }
391 <                                break;
392 <                        case Sgl:
393 <                                if (fabs(eta) < 0.000) return 0.;
394 <                                if (fabs(eta) > 2.400) return 0.;
395 <
396 <                                if (pt < 20.000) return 0.;
397 <                                if (pt > 7000.000) return 0.;
398 <
399 <                                if (fabs(eta) < 0.800000) {
400 <                                        if (pt < 22.500000) return 0.001;
401 <                                        else if (pt < 25.000000) return 0.390;
402 <                                        else if (pt < 27.500000) return 0.870;
403 <                                        else if (pt < 30.000000) return 0.883;
404 <                                        else if (pt < 35.000000) return 0.905;
405 <                                        else if (pt < 40.000000) return 0.916;
406 <                                        else if (pt < 50.000000) return 0.931;
407 <                                        else if (pt < 7000.000000) return 0.944;
408 <                                }
409 <                                else if (fabs(eta) < 1.200000) {
410 <                                        if (pt < 22.500000) return 0.005;
411 <                                        else if (pt < 25.000000) return 0.361;
412 <                                        else if (pt < 27.500000) return 0.803;
413 <                                        else if (pt < 30.000000) return 0.805;
414 <                                        else if (pt < 35.000000) return 0.829;
415 <                                        else if (pt < 40.000000) return 0.847;
416 <                                        else if (pt < 50.000000) return 0.856;
417 <                                        else if (pt < 7000.000000) return 0.850;
418 <                                }
419 <                                else if (fabs(eta) < 2.400000) {
420 <                                        if (pt < 22.500000) return 0.004;
421 <                                        else if (pt < 25.000000) return 0.312;
422 <                                        else if (pt < 27.500000) return 0.590;
423 <                                        else if (pt < 30.000000) return 0.608;
424 <                                        else if (pt < 35.000000) return 0.620;
425 <                                        else if (pt < 40.000000) return 0.653;
426 <                                        else if (pt < 50.000000) return 0.699;
427 <                                        else if (pt < 7000.000000) return 0.710;
428 <                                }
429 <                                break;
430 <                        case TrailDbl:
431 <                                if (fabs(eta) < 0.000) return 0.;
432 <                                if (fabs(eta) > 2.400) return 0.;
433 <
434 <                                if (pt < 20.000) return 0.;
435 <                                if (pt > 7000.000) return 0.;
436 <
437 <                                if (fabs(eta) < 0.800000) {
438 <                                        if (pt < 22.500000) return 0.985;
439 <                                        else if (pt < 25.000000) return 0.977;
440 <                                        else if (pt < 27.500000) return 0.984;
441 <                                        else if (pt < 30.000000) return 0.978;
442 <                                        else if (pt < 35.000000) return 0.977;
443 <                                        else if (pt < 40.000000) return 0.978;
444 <                                        else if (pt < 50.000000) return 0.978;
445 <                                        else if (pt < 7000.000000) return 0.978;
446 <                                }
447 <                                else if (fabs(eta) < 1.200000) {
448 <                                        if (pt < 22.500000) return 0.934;
449 <                                        else if (pt < 25.000000) return 0.946;
450 <                                        else if (pt < 27.500000) return 0.945;
451 <                                        else if (pt < 30.000000) return 0.934;
452 <                                        else if (pt < 35.000000) return 0.949;
453 <                                        else if (pt < 40.000000) return 0.948;
454 <                                        else if (pt < 50.000000) return 0.947;
455 <                                        else if (pt < 7000.000000) return 0.943;
456 <                                }
457 <                                else if (fabs(eta) < 2.400000) {
458 <                                        if (pt < 22.500000) return 0.933;
459 <                                        else if (pt < 25.000000) return 0.948;
460 <                                        else if (pt < 27.500000) return 0.934;
461 <                                        else if (pt < 30.000000) return 0.936;
462 <                                        else if (pt < 35.000000) return 0.940;
463 <                                        else if (pt < 40.000000) return 0.935;
464 <                                        else if (pt < 50.000000) return 0.936;
465 <                                        else if (pt < 7000.000000) return 0.931;
466 <                                }
467 <                                break;
468 <                };
469 <        }
470 <        else
471 <        {
472 <                return 0.0;
473 <        }
474 <        return 0.0;
114 >    if (aid == 11)
115 >    {
116 >        switch (trig_eff_type)
117 >        {
118 >            case DzDbl:
119 >                if (fabs(eta) < 0.000) return 0.;
120 >                if (fabs(eta) > 2.500) return 0.;
121 >
122 >                if (pt < 20.000) return 0.;
123 >                if (pt > 7000.000) return 0.;
124 >
125 >                if (fabs(eta) < 0.800000) {
126 >                    if (pt < 22.500000) return 1.000;
127 >                    else if (pt < 25.000000) return 1.000;
128 >                    else if (pt < 27.500000) return 0.999;
129 >                    else if (pt < 30.000000) return 1.000;
130 >                    else if (pt < 35.000000) return 1.000;
131 >                    else if (pt < 40.000000) return 1.000;
132 >                    else if (pt < 50.000000) return 1.000;
133 >                    else if (pt < 7000.000000) return 1.000;
134 >                }
135 >                else if (fabs(eta) < 1.479000) {
136 >                    if (pt < 22.500000) return 1.000;
137 >                    else if (pt < 25.000000) return 1.000;
138 >                    else if (pt < 27.500000) return 1.000;
139 >                    else if (pt < 30.000000) return 0.999;
140 >                    else if (pt < 35.000000) return 0.999;
141 >                    else if (pt < 40.000000) return 0.999;
142 >                    else if (pt < 50.000000) return 0.999;
143 >                    else if (pt < 7000.000000) return 1.000;
144 >                }
145 >                else if (fabs(eta) < 2.000000) {
146 >                    if (pt < 22.500000) return 1.000;
147 >                    else if (pt < 25.000000) return 1.000;
148 >                    else if (pt < 27.500000) return 0.994;
149 >                    else if (pt < 30.000000) return 0.998;
150 >                    else if (pt < 35.000000) return 0.999;
151 >                    else if (pt < 40.000000) return 0.999;
152 >                    else if (pt < 50.000000) return 0.998;
153 >                    else if (pt < 7000.000000) return 0.997;
154 >                }
155 >                else if (fabs(eta) < 2.500000) {
156 >                    if (pt < 22.500000) return 1.000;
157 >                    else if (pt < 25.000000) return 1.000;
158 >                    else if (pt < 27.500000) return 0.991;
159 >                    else if (pt < 30.000000) return 0.987;
160 >                    else if (pt < 35.000000) return 0.993;
161 >                    else if (pt < 40.000000) return 0.987;
162 >                    else if (pt < 50.000000) return 0.987;
163 >                    else if (pt < 7000.000000) return 0.985;
164 >                }
165 >                break;
166 >            case LeadDbl:
167 >                if (fabs(eta) < 0.000) return 0.;
168 >                if (fabs(eta) > 2.500) return 0.;
169 >
170 >                if (pt < 20.000) return 0.;
171 >                if (pt > 7000.000) return 0.;
172 >
173 >                if (fabs(eta) < 0.800000) {
174 >                    if (pt < 22.500000) return 0.929;
175 >                    else if (pt < 25.000000) return 0.964;
176 >                    else if (pt < 27.500000) return 0.961;
177 >                    else if (pt < 30.000000) return 0.968;
178 >                    else if (pt < 35.000000) return 0.972;
179 >                    else if (pt < 40.000000) return 0.974;
180 >                    else if (pt < 50.000000) return 0.975;
181 >                    else if (pt < 7000.000000) return 0.977;
182 >                }
183 >                else if (fabs(eta) < 1.479000) {
184 >                    if (pt < 22.500000) return 0.955;
185 >                    else if (pt < 25.000000) return 0.972;
186 >                    else if (pt < 27.500000) return 0.985;
187 >                    else if (pt < 30.000000) return 0.985;
188 >                    else if (pt < 35.000000) return 0.986;
189 >                    else if (pt < 40.000000) return 0.992;
190 >                    else if (pt < 50.000000) return 0.995;
191 >                    else if (pt < 7000.000000) return 0.996;
192 >                }
193 >                else if (fabs(eta) < 2.000000) {
194 >                    if (pt < 22.500000) return 0.980;
195 >                    else if (pt < 25.000000) return 0.991;
196 >                    else if (pt < 27.500000) return 0.986;
197 >                    else if (pt < 30.000000) return 0.983;
198 >                    else if (pt < 35.000000) return 0.990;
199 >                    else if (pt < 40.000000) return 0.993;
200 >                    else if (pt < 50.000000) return 0.995;
201 >                    else if (pt < 7000.000000) return 0.994;
202 >                }
203 >                else if (fabs(eta) < 2.500000) {
204 >                    if (pt < 22.500000) return 0.888;
205 >                    else if (pt < 25.000000) return 0.988;
206 >                    else if (pt < 27.500000) return 0.996;
207 >                    else if (pt < 30.000000) return 0.992;
208 >                    else if (pt < 35.000000) return 0.986;
209 >                    else if (pt < 40.000000) return 0.989;
210 >                    else if (pt < 50.000000) return 0.992;
211 >                    else if (pt < 7000.000000) return 0.994;
212 >                }
213 >                break;
214 >            case Sgl:
215 >                if (fabs(eta) < 0.000) return 0.;
216 >                if (fabs(eta) > 2.500) return 0.;
217 >
218 >                if (pt < 20.000) return 0.;
219 >                if (pt > 7000.000) return 0.;
220 >
221 >                if (fabs(eta) < 0.800000) {
222 >                    if (pt < 22.500000) return 0.000;
223 >                    else if (pt < 25.000000) return 0.000;
224 >                    else if (pt < 27.500000) return 0.059;
225 >                    else if (pt < 30.000000) return 0.739;
226 >                    else if (pt < 35.000000) return 0.906;
227 >                    else if (pt < 40.000000) return 0.927;
228 >                    else if (pt < 50.000000) return 0.944;
229 >                    else if (pt < 7000.000000) return 0.952;
230 >                }
231 >                else if (fabs(eta) < 1.479000) {
232 >                    if (pt < 22.500000) return 0.001;
233 >                    else if (pt < 25.000000) return 0.028;
234 >                    else if (pt < 27.500000) return 0.110;
235 >                    else if (pt < 30.000000) return 0.660;
236 >                    else if (pt < 35.000000) return 0.913;
237 >                    else if (pt < 40.000000) return 0.940;
238 >                    else if (pt < 50.000000) return 0.956;
239 >                    else if (pt < 7000.000000) return 0.969;
240 >                }
241 >                else if (fabs(eta) < 2.000000) {
242 >                    if (pt < 22.500000) return 0.000;
243 >                    else if (pt < 25.000000) return 0.007;
244 >                    else if (pt < 27.500000) return 0.113;
245 >                    else if (pt < 30.000000) return 0.456;
246 >                    else if (pt < 35.000000) return 0.691;
247 >                    else if (pt < 40.000000) return 0.746;
248 >                    else if (pt < 50.000000) return 0.767;
249 >                    else if (pt < 7000.000000) return 0.769;
250 >                }
251 >                else if (fabs(eta) < 2.500000) {
252 >                    if (pt < 22.500000) return 0.000;
253 >                    else if (pt < 25.000000) return 0.003;
254 >                    else if (pt < 27.500000) return 0.087;
255 >                    else if (pt < 30.000000) return 0.313;
256 >                    else if (pt < 35.000000) return 0.533;
257 >                    else if (pt < 40.000000) return 0.646;
258 >                    else if (pt < 50.000000) return 0.695;
259 >                    else if (pt < 7000.000000) return 0.691;
260 >                }
261 >                break;
262 >            case TrailDbl:
263 >                if (fabs(eta) < 0.000) return 0.;
264 >                if (fabs(eta) > 2.500) return 0.;
265 >
266 >                if (pt < 20.000) return 0.;
267 >                if (pt > 7000.000) return 0.;
268 >
269 >                if (fabs(eta) < 0.800000) {
270 >                    if (pt < 22.500000) return 0.948;
271 >                    else if (pt < 25.000000) return 0.966;
272 >                    else if (pt < 27.500000) return 0.963;
273 >                    else if (pt < 30.000000) return 0.968;
274 >                    else if (pt < 35.000000) return 0.969;
275 >                    else if (pt < 40.000000) return 0.972;
276 >                    else if (pt < 50.000000) return 0.972;
277 >                    else if (pt < 7000.000000) return 0.976;
278 >                }
279 >                else if (fabs(eta) < 1.479000) {
280 >                    if (pt < 22.500000) return 0.969;
281 >                    else if (pt < 25.000000) return 0.972;
282 >                    else if (pt < 27.500000) return 0.976;
283 >                    else if (pt < 30.000000) return 0.982;
284 >                    else if (pt < 35.000000) return 0.985;
285 >                    else if (pt < 40.000000) return 0.986;
286 >                    else if (pt < 50.000000) return 0.989;
287 >                    else if (pt < 7000.000000) return 0.990;
288 >                }
289 >                else if (fabs(eta) < 2.000000) {
290 >                    if (pt < 22.500000) return 0.973;
291 >                    else if (pt < 25.000000) return 1.000;
292 >                    else if (pt < 27.500000) return 0.983;
293 >                    else if (pt < 30.000000) return 0.979;
294 >                    else if (pt < 35.000000) return 0.988;
295 >                    else if (pt < 40.000000) return 0.987;
296 >                    else if (pt < 50.000000) return 0.990;
297 >                    else if (pt < 7000.000000) return 0.991;
298 >                }
299 >                else if (fabs(eta) < 2.500000) {
300 >                    if (pt < 22.500000) return 0.983;
301 >                    else if (pt < 25.000000) return 0.981;
302 >                    else if (pt < 27.500000) return 0.996;
303 >                    else if (pt < 30.000000) return 0.989;
304 >                    else if (pt < 35.000000) return 0.984;
305 >                    else if (pt < 40.000000) return 0.986;
306 >                    else if (pt < 50.000000) return 0.990;
307 >                    else if (pt < 7000.000000) return 0.992;
308 >                }
309 >                break;
310 >            case N_TrigEffType:
311 >            default:
312 >                return 0;
313 >        };
314 >    }
315 >    else if (aid == 13)
316 >    {
317 >        switch (trig_eff_type)
318 >        {
319 >            case DzDbl:
320 >                if (fabs(eta) < 0.000) return 0.;
321 >                if (fabs(eta) > 2.400) return 0.;
322 >
323 >                if (pt < 20.000) return 0.;
324 >                if (pt > 7000.000) return 0.;
325 >
326 >                if (fabs(eta) < 0.800000) {
327 >                    if (pt < 22.500000) return 0.925;
328 >                    else if (pt < 25.000000) return 0.931;
329 >                    else if (pt < 27.500000) return 0.923;
330 >                    else if (pt < 30.000000) return 0.919;
331 >                    else if (pt < 35.000000) return 0.926;
332 >                    else if (pt < 40.000000) return 0.932;
333 >                    else if (pt < 50.000000) return 0.936;
334 >                    else if (pt < 7000.000000) return 0.941;
335 >                }
336 >                else if (fabs(eta) < 1.200000) {
337 >                    if (pt < 22.500000) return 0.921;
338 >                    else if (pt < 25.000000) return 0.926;
339 >                    else if (pt < 27.500000) return 0.922;
340 >                    else if (pt < 30.000000) return 0.931;
341 >                    else if (pt < 35.000000) return 0.926;
342 >                    else if (pt < 40.000000) return 0.911;
343 >                    else if (pt < 50.000000) return 0.910;
344 >                    else if (pt < 7000.000000) return 0.897;
345 >                }
346 >                else if (fabs(eta) < 2.400000) {
347 >                    if (pt < 22.500000) return 0.879;
348 >                    else if (pt < 25.000000) return 0.871;
349 >                    else if (pt < 27.500000) return 0.874;
350 >                    else if (pt < 30.000000) return 0.877;
351 >                    else if (pt < 35.000000) return 0.880;
352 >                    else if (pt < 40.000000) return 0.871;
353 >                    else if (pt < 50.000000) return 0.854;
354 >                    else if (pt < 7000.000000) return 0.846;
355 >                }
356 >                break;
357 >            case LeadDbl:
358 >                if (fabs(eta) < 0.000) return 0.;
359 >                if (fabs(eta) > 2.400) return 0.;
360 >
361 >                if (pt < 20.000) return 0.;
362 >                if (pt > 7000.000) return 0.;
363 >
364 >                if (fabs(eta) < 0.800000) {
365 >                    if (pt < 22.500000) return 0.971;
366 >                    else if (pt < 25.000000) return 0.972;
367 >                    else if (pt < 27.500000) return 0.980;
368 >                    else if (pt < 30.000000) return 0.970;
369 >                    else if (pt < 35.000000) return 0.975;
370 >                    else if (pt < 40.000000) return 0.977;
371 >                    else if (pt < 50.000000) return 0.976;
372 >                    else if (pt < 7000.000000) return 0.975;
373 >                }
374 >                else if (fabs(eta) < 1.200000) {
375 >                    if (pt < 22.500000) return 0.905;
376 >                    else if (pt < 25.000000) return 0.929;
377 >                    else if (pt < 27.500000) return 0.950;
378 >                    else if (pt < 30.000000) return 0.934;
379 >                    else if (pt < 35.000000) return 0.935;
380 >                    else if (pt < 40.000000) return 0.940;
381 >                    else if (pt < 50.000000) return 0.942;
382 >                    else if (pt < 7000.000000) return 0.935;
383 >                }
384 >                else if (fabs(eta) < 2.400000) {
385 >                    if (pt < 22.500000) return 0.886;
386 >                    else if (pt < 25.000000) return 0.927;
387 >                    else if (pt < 27.500000) return 0.921;
388 >                    else if (pt < 30.000000) return 0.916;
389 >                    else if (pt < 35.000000) return 0.918;
390 >                    else if (pt < 40.000000) return 0.921;
391 >                    else if (pt < 50.000000) return 0.924;
392 >                    else if (pt < 7000.000000) return 0.923;
393 >                }
394 >                break;
395 >            case Sgl:
396 >                if (fabs(eta) < 0.000) return 0.;
397 >                if (fabs(eta) > 2.400) return 0.;
398 >
399 >                if (pt < 20.000) return 0.;
400 >                if (pt > 7000.000) return 0.;
401 >
402 >                if (fabs(eta) < 0.800000) {
403 >                    if (pt < 22.500000) return 0.001;
404 >                    else if (pt < 25.000000) return 0.396;
405 >                    else if (pt < 27.500000) return 0.886;
406 >                    else if (pt < 30.000000) return 0.893;
407 >                    else if (pt < 35.000000) return 0.914;
408 >                    else if (pt < 40.000000) return 0.923;
409 >                    else if (pt < 50.000000) return 0.935;
410 >                    else if (pt < 7000.000000) return 0.945;
411 >                }
412 >                else if (fabs(eta) < 1.200000) {
413 >                    if (pt < 22.500000) return 0.001;
414 >                    else if (pt < 25.000000) return 0.369;
415 >                    else if (pt < 27.500000) return 0.817;
416 >                    else if (pt < 30.000000) return 0.823;
417 >                    else if (pt < 35.000000) return 0.833;
418 >                    else if (pt < 40.000000) return 0.854;
419 >                    else if (pt < 50.000000) return 0.862;
420 >                    else if (pt < 7000.000000) return 0.857;
421 >                }
422 >                else if (fabs(eta) < 2.400000) {
423 >                    if (pt < 22.500000) return 0.006;
424 >                    else if (pt < 25.000000) return 0.305;
425 >                    else if (pt < 27.500000) return 0.597;
426 >                    else if (pt < 30.000000) return 0.617;
427 >                    else if (pt < 35.000000) return 0.624;
428 >                    else if (pt < 40.000000) return 0.658;
429 >                    else if (pt < 50.000000) return 0.703;
430 >                    else if (pt < 7000.000000) return 0.711;
431 >                }
432 >                break;
433 >            case TrailDbl:
434 >                if (fabs(eta) < 0.000) return 0.;
435 >                if (fabs(eta) > 2.400) return 0.;
436 >
437 >                if (pt < 20.000) return 0.;
438 >                if (pt > 7000.000) return 0.;
439 >
440 >                if (fabs(eta) < 0.800000) {
441 >                    if (pt < 22.500000) return 0.975;
442 >                    else if (pt < 25.000000) return 0.973;
443 >                    else if (pt < 27.500000) return 0.983;
444 >                    else if (pt < 30.000000) return 0.971;
445 >                    else if (pt < 35.000000) return 0.977;
446 >                    else if (pt < 40.000000) return 0.978;
447 >                    else if (pt < 50.000000) return 0.978;
448 >                    else if (pt < 7000.000000) return 0.977;
449 >                }
450 >                else if (fabs(eta) < 1.200000) {
451 >                    if (pt < 22.500000) return 0.925;
452 >                    else if (pt < 25.000000) return 0.938;
453 >                    else if (pt < 27.500000) return 0.962;
454 >                    else if (pt < 30.000000) return 0.942;
455 >                    else if (pt < 35.000000) return 0.945;
456 >                    else if (pt < 40.000000) return 0.950;
457 >                    else if (pt < 50.000000) return 0.950;
458 >                    else if (pt < 7000.000000) return 0.943;
459 >                }
460 >                else if (fabs(eta) < 2.400000) {
461 >                    if (pt < 22.500000) return 0.927;
462 >                    else if (pt < 25.000000) return 0.951;
463 >                    else if (pt < 27.500000) return 0.947;
464 >                    else if (pt < 30.000000) return 0.942;
465 >                    else if (pt < 35.000000) return 0.941;
466 >                    else if (pt < 40.000000) return 0.938;
467 >                    else if (pt < 50.000000) return 0.939;
468 >                    else if (pt < 7000.000000) return 0.936;
469 >                }
470 >                break;
471 >            case N_TrigEffType:
472 >            default:
473 >                return 0;
474 >        };
475 >    }
476 >    else
477 >    {
478 >        return 0.0;
479 >    }
480 >    return 0.0;
481   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines