MA5SandBox: sfs_test.cpp

File sfs_test.cpp, 36.3 KB (added by Benjamin Fuks, 5 years ago)
Line 
1#include "SampleAnalyzer/User/Analyzer/sfs_test.h"
2
3
4using namespace MA5;
5using namespace std;
6
7// Overlap Removal
8template<typename T1, typename T2> std::vector<const T1*>
9 Removal(std::vector<const T1*> &v1, std::vector<const T2*> &v2,
10 const double &drmin)
11{
12 // Determining with objects should be removed
13 std::vector<bool> mask(v1.size(),false);
14 for (unsigned int j=0;j<v1.size();j++)
15 for (unsigned int i=0;i<v2.size();i++)
16 if (v2[i]->dr(v1[j]) < drmin)
17 {
18 mask[j]=true;
19 break;
20 }
21
22 // Building the cleaned container
23 std::vector<const T1*> cleaned_v1;
24 for (unsigned int i=0;i<v1.size();i++)
25 if (!mask[i]) cleaned_v1.push_back(v1[i]);
26
27 return cleaned_v1;
28}
29// -----------------------------------------------------------------------------
30// Initialize
31// function called one time at the beginning of the analysis
32// -----------------------------------------------------------------------------
33bool sfs_test::Initialize(const MA5::Configuration& cfg, const std::map<std::string,std::string>& parameters)
34{
35 cout << "BEGIN Initialization" << endl;
36 // initialize variables, histos
37 INFO << " <><><><><><><><><><><><><><><><><><><><><><><><><>" << endmsg;
38 INFO << " <> Analysis: ATLAS-SUSY-16-07 <>" << endmsg;
39 INFO << " <> arXiv:1712.02332 <>" << endmsg;
40 INFO << " <> (multijet + MET) <>" << endmsg;
41 INFO << " <> Recasters: G. Chalons & H. Reyes-Gonzales <>" << endmsg;
42 INFO << " <> Contact: fuks@lpthe.jussieu.fr <>" << endmsg;
43 INFO << " <> Based on MadAnalysis 5 v1.6 <>" << endmsg;
44 INFO << " <> For more information, see <>" << endmsg;
45 INFO << " <> http://madanalysis.irmp.ucl.ac.be/wiki/ <>" << endmsg;
46 INFO << " <> /PhysicsAnalysisDatabase <>" << endmsg;
47 INFO << " <><><><><><><><><><><><><><><><><><><><><><><><><>" << endmsg;
48
49 // Initializing PhysicsService for MC
50 PHYSICS->mcConfig().Reset();
51
52
53 // definition of the multiparticle "hadronic"
54 PHYSICS->mcConfig().AddHadronicId(-20543);
55 PHYSICS->mcConfig().AddHadronicId(-20533);
56 PHYSICS->mcConfig().AddHadronicId(-20523);
57 PHYSICS->mcConfig().AddHadronicId(-20513);
58 PHYSICS->mcConfig().AddHadronicId(-20433);
59 PHYSICS->mcConfig().AddHadronicId(-20423);
60 PHYSICS->mcConfig().AddHadronicId(-20413);
61 PHYSICS->mcConfig().AddHadronicId(-20323);
62 PHYSICS->mcConfig().AddHadronicId(-20313);
63 PHYSICS->mcConfig().AddHadronicId(-20213);
64 PHYSICS->mcConfig().AddHadronicId(-10543);
65 PHYSICS->mcConfig().AddHadronicId(-10541);
66 PHYSICS->mcConfig().AddHadronicId(-10533);
67 PHYSICS->mcConfig().AddHadronicId(-10531);
68 PHYSICS->mcConfig().AddHadronicId(-10523);
69 PHYSICS->mcConfig().AddHadronicId(-10521);
70 PHYSICS->mcConfig().AddHadronicId(-10513);
71 PHYSICS->mcConfig().AddHadronicId(-10511);
72 PHYSICS->mcConfig().AddHadronicId(-10433);
73 PHYSICS->mcConfig().AddHadronicId(-10431);
74 PHYSICS->mcConfig().AddHadronicId(-10423);
75 PHYSICS->mcConfig().AddHadronicId(-10421);
76 PHYSICS->mcConfig().AddHadronicId(-10413);
77 PHYSICS->mcConfig().AddHadronicId(-10411);
78 PHYSICS->mcConfig().AddHadronicId(-10323);
79 PHYSICS->mcConfig().AddHadronicId(-10321);
80 PHYSICS->mcConfig().AddHadronicId(-10313);
81 PHYSICS->mcConfig().AddHadronicId(-10311);
82 PHYSICS->mcConfig().AddHadronicId(-10213);
83 PHYSICS->mcConfig().AddHadronicId(-10211);
84 PHYSICS->mcConfig().AddHadronicId(-5554);
85 PHYSICS->mcConfig().AddHadronicId(-5544);
86 PHYSICS->mcConfig().AddHadronicId(-5542);
87 PHYSICS->mcConfig().AddHadronicId(-5534);
88 PHYSICS->mcConfig().AddHadronicId(-5532);
89 PHYSICS->mcConfig().AddHadronicId(-5524);
90 PHYSICS->mcConfig().AddHadronicId(-5522);
91 PHYSICS->mcConfig().AddHadronicId(-5514);
92 PHYSICS->mcConfig().AddHadronicId(-5512);
93 PHYSICS->mcConfig().AddHadronicId(-5503);
94 PHYSICS->mcConfig().AddHadronicId(-5444);
95 PHYSICS->mcConfig().AddHadronicId(-5442);
96 PHYSICS->mcConfig().AddHadronicId(-5434);
97 PHYSICS->mcConfig().AddHadronicId(-5432);
98 PHYSICS->mcConfig().AddHadronicId(-5424);
99 PHYSICS->mcConfig().AddHadronicId(-5422);
100 PHYSICS->mcConfig().AddHadronicId(-5414);
101 PHYSICS->mcConfig().AddHadronicId(-5412);
102 PHYSICS->mcConfig().AddHadronicId(-5403);
103 PHYSICS->mcConfig().AddHadronicId(-5401);
104 PHYSICS->mcConfig().AddHadronicId(-5342);
105 PHYSICS->mcConfig().AddHadronicId(-5334);
106 PHYSICS->mcConfig().AddHadronicId(-5332);
107 PHYSICS->mcConfig().AddHadronicId(-5324);
108 PHYSICS->mcConfig().AddHadronicId(-5322);
109 PHYSICS->mcConfig().AddHadronicId(-5314);
110 PHYSICS->mcConfig().AddHadronicId(-5312);
111 PHYSICS->mcConfig().AddHadronicId(-5303);
112 PHYSICS->mcConfig().AddHadronicId(-5301);
113 PHYSICS->mcConfig().AddHadronicId(-5242);
114 PHYSICS->mcConfig().AddHadronicId(-5232);
115 PHYSICS->mcConfig().AddHadronicId(-5224);
116 PHYSICS->mcConfig().AddHadronicId(-5222);
117 PHYSICS->mcConfig().AddHadronicId(-5214);
118 PHYSICS->mcConfig().AddHadronicId(-5212);
119 PHYSICS->mcConfig().AddHadronicId(-5203);
120 PHYSICS->mcConfig().AddHadronicId(-5201);
121 PHYSICS->mcConfig().AddHadronicId(-5142);
122 PHYSICS->mcConfig().AddHadronicId(-5132);
123 PHYSICS->mcConfig().AddHadronicId(-5122);
124 PHYSICS->mcConfig().AddHadronicId(-5114);
125 PHYSICS->mcConfig().AddHadronicId(-5112);
126 PHYSICS->mcConfig().AddHadronicId(-5103);
127 PHYSICS->mcConfig().AddHadronicId(-5101);
128 PHYSICS->mcConfig().AddHadronicId(-4444);
129 PHYSICS->mcConfig().AddHadronicId(-4434);
130 PHYSICS->mcConfig().AddHadronicId(-4432);
131 PHYSICS->mcConfig().AddHadronicId(-4424);
132 PHYSICS->mcConfig().AddHadronicId(-4422);
133 PHYSICS->mcConfig().AddHadronicId(-4414);
134 PHYSICS->mcConfig().AddHadronicId(-4412);
135 PHYSICS->mcConfig().AddHadronicId(-4403);
136 PHYSICS->mcConfig().AddHadronicId(-4334);
137 PHYSICS->mcConfig().AddHadronicId(-4332);
138 PHYSICS->mcConfig().AddHadronicId(-4324);
139 PHYSICS->mcConfig().AddHadronicId(-4322);
140 PHYSICS->mcConfig().AddHadronicId(-4314);
141 PHYSICS->mcConfig().AddHadronicId(-4312);
142 PHYSICS->mcConfig().AddHadronicId(-4303);
143 PHYSICS->mcConfig().AddHadronicId(-4301);
144 PHYSICS->mcConfig().AddHadronicId(-4232);
145 PHYSICS->mcConfig().AddHadronicId(-4224);
146 PHYSICS->mcConfig().AddHadronicId(-4222);
147 PHYSICS->mcConfig().AddHadronicId(-4214);
148 PHYSICS->mcConfig().AddHadronicId(-4212);
149 PHYSICS->mcConfig().AddHadronicId(-4203);
150 PHYSICS->mcConfig().AddHadronicId(-4201);
151 PHYSICS->mcConfig().AddHadronicId(-4132);
152 PHYSICS->mcConfig().AddHadronicId(-4122);
153 PHYSICS->mcConfig().AddHadronicId(-4114);
154 PHYSICS->mcConfig().AddHadronicId(-4112);
155 PHYSICS->mcConfig().AddHadronicId(-4103);
156 PHYSICS->mcConfig().AddHadronicId(-4101);
157 PHYSICS->mcConfig().AddHadronicId(-3334);
158 PHYSICS->mcConfig().AddHadronicId(-3324);
159 PHYSICS->mcConfig().AddHadronicId(-3322);
160 PHYSICS->mcConfig().AddHadronicId(-3314);
161 PHYSICS->mcConfig().AddHadronicId(-3312);
162 PHYSICS->mcConfig().AddHadronicId(-3303);
163 PHYSICS->mcConfig().AddHadronicId(-3224);
164 PHYSICS->mcConfig().AddHadronicId(-3222);
165 PHYSICS->mcConfig().AddHadronicId(-3214);
166 PHYSICS->mcConfig().AddHadronicId(-3212);
167 PHYSICS->mcConfig().AddHadronicId(-3203);
168 PHYSICS->mcConfig().AddHadronicId(-3201);
169 PHYSICS->mcConfig().AddHadronicId(-3122);
170 PHYSICS->mcConfig().AddHadronicId(-3114);
171 PHYSICS->mcConfig().AddHadronicId(-3112);
172 PHYSICS->mcConfig().AddHadronicId(-3103);
173 PHYSICS->mcConfig().AddHadronicId(-3101);
174 PHYSICS->mcConfig().AddHadronicId(-2224);
175 PHYSICS->mcConfig().AddHadronicId(-2214);
176 PHYSICS->mcConfig().AddHadronicId(-2212);
177 PHYSICS->mcConfig().AddHadronicId(-2203);
178 PHYSICS->mcConfig().AddHadronicId(-2114);
179 PHYSICS->mcConfig().AddHadronicId(-2112);
180 PHYSICS->mcConfig().AddHadronicId(-2103);
181 PHYSICS->mcConfig().AddHadronicId(-2101);
182 PHYSICS->mcConfig().AddHadronicId(-1114);
183 PHYSICS->mcConfig().AddHadronicId(-1103);
184 PHYSICS->mcConfig().AddHadronicId(-545);
185 PHYSICS->mcConfig().AddHadronicId(-543);
186 PHYSICS->mcConfig().AddHadronicId(-541);
187 PHYSICS->mcConfig().AddHadronicId(-535);
188 PHYSICS->mcConfig().AddHadronicId(-533);
189 PHYSICS->mcConfig().AddHadronicId(-531);
190 PHYSICS->mcConfig().AddHadronicId(-525);
191 PHYSICS->mcConfig().AddHadronicId(-523);
192 PHYSICS->mcConfig().AddHadronicId(-521);
193 PHYSICS->mcConfig().AddHadronicId(-515);
194 PHYSICS->mcConfig().AddHadronicId(-513);
195 PHYSICS->mcConfig().AddHadronicId(-511);
196 PHYSICS->mcConfig().AddHadronicId(-435);
197 PHYSICS->mcConfig().AddHadronicId(-433);
198 PHYSICS->mcConfig().AddHadronicId(-431);
199 PHYSICS->mcConfig().AddHadronicId(-425);
200 PHYSICS->mcConfig().AddHadronicId(-423);
201 PHYSICS->mcConfig().AddHadronicId(-421);
202 PHYSICS->mcConfig().AddHadronicId(-415);
203 PHYSICS->mcConfig().AddHadronicId(-413);
204 PHYSICS->mcConfig().AddHadronicId(-411);
205 PHYSICS->mcConfig().AddHadronicId(-325);
206 PHYSICS->mcConfig().AddHadronicId(-323);
207 PHYSICS->mcConfig().AddHadronicId(-321);
208 PHYSICS->mcConfig().AddHadronicId(-315);
209 PHYSICS->mcConfig().AddHadronicId(-313);
210 PHYSICS->mcConfig().AddHadronicId(-311);
211 PHYSICS->mcConfig().AddHadronicId(-215);
212 PHYSICS->mcConfig().AddHadronicId(-213);
213 PHYSICS->mcConfig().AddHadronicId(-211);
214 PHYSICS->mcConfig().AddHadronicId(111);
215 PHYSICS->mcConfig().AddHadronicId(113);
216 PHYSICS->mcConfig().AddHadronicId(115);
217 PHYSICS->mcConfig().AddHadronicId(130);
218 PHYSICS->mcConfig().AddHadronicId(211);
219 PHYSICS->mcConfig().AddHadronicId(213);
220 PHYSICS->mcConfig().AddHadronicId(215);
221 PHYSICS->mcConfig().AddHadronicId(221);
222 PHYSICS->mcConfig().AddHadronicId(223);
223 PHYSICS->mcConfig().AddHadronicId(225);
224 PHYSICS->mcConfig().AddHadronicId(310);
225 PHYSICS->mcConfig().AddHadronicId(311);
226 PHYSICS->mcConfig().AddHadronicId(313);
227 PHYSICS->mcConfig().AddHadronicId(315);
228 PHYSICS->mcConfig().AddHadronicId(321);
229 PHYSICS->mcConfig().AddHadronicId(323);
230 PHYSICS->mcConfig().AddHadronicId(325);
231 PHYSICS->mcConfig().AddHadronicId(331);
232 PHYSICS->mcConfig().AddHadronicId(333);
233 PHYSICS->mcConfig().AddHadronicId(335);
234 PHYSICS->mcConfig().AddHadronicId(411);
235 PHYSICS->mcConfig().AddHadronicId(413);
236 PHYSICS->mcConfig().AddHadronicId(415);
237 PHYSICS->mcConfig().AddHadronicId(421);
238 PHYSICS->mcConfig().AddHadronicId(423);
239 PHYSICS->mcConfig().AddHadronicId(425);
240 PHYSICS->mcConfig().AddHadronicId(431);
241 PHYSICS->mcConfig().AddHadronicId(433);
242 PHYSICS->mcConfig().AddHadronicId(435);
243 PHYSICS->mcConfig().AddHadronicId(441);
244 PHYSICS->mcConfig().AddHadronicId(443);
245 PHYSICS->mcConfig().AddHadronicId(445);
246 PHYSICS->mcConfig().AddHadronicId(511);
247 PHYSICS->mcConfig().AddHadronicId(513);
248 PHYSICS->mcConfig().AddHadronicId(515);
249 PHYSICS->mcConfig().AddHadronicId(521);
250 PHYSICS->mcConfig().AddHadronicId(523);
251 PHYSICS->mcConfig().AddHadronicId(525);
252 PHYSICS->mcConfig().AddHadronicId(531);
253 PHYSICS->mcConfig().AddHadronicId(533);
254 PHYSICS->mcConfig().AddHadronicId(535);
255 PHYSICS->mcConfig().AddHadronicId(541);
256 PHYSICS->mcConfig().AddHadronicId(543);
257 PHYSICS->mcConfig().AddHadronicId(545);
258 PHYSICS->mcConfig().AddHadronicId(551);
259 PHYSICS->mcConfig().AddHadronicId(553);
260 PHYSICS->mcConfig().AddHadronicId(555);
261 PHYSICS->mcConfig().AddHadronicId(1103);
262 PHYSICS->mcConfig().AddHadronicId(1114);
263 PHYSICS->mcConfig().AddHadronicId(2101);
264 PHYSICS->mcConfig().AddHadronicId(2103);
265 PHYSICS->mcConfig().AddHadronicId(2112);
266 PHYSICS->mcConfig().AddHadronicId(2114);
267 PHYSICS->mcConfig().AddHadronicId(2203);
268 PHYSICS->mcConfig().AddHadronicId(2212);
269 PHYSICS->mcConfig().AddHadronicId(2214);
270 PHYSICS->mcConfig().AddHadronicId(2224);
271 PHYSICS->mcConfig().AddHadronicId(3101);
272 PHYSICS->mcConfig().AddHadronicId(3103);
273 PHYSICS->mcConfig().AddHadronicId(3112);
274 PHYSICS->mcConfig().AddHadronicId(3114);
275 PHYSICS->mcConfig().AddHadronicId(3122);
276 PHYSICS->mcConfig().AddHadronicId(3201);
277 PHYSICS->mcConfig().AddHadronicId(3203);
278 PHYSICS->mcConfig().AddHadronicId(3212);
279 PHYSICS->mcConfig().AddHadronicId(3214);
280 PHYSICS->mcConfig().AddHadronicId(3222);
281 PHYSICS->mcConfig().AddHadronicId(3224);
282 PHYSICS->mcConfig().AddHadronicId(3303);
283 PHYSICS->mcConfig().AddHadronicId(3312);
284 PHYSICS->mcConfig().AddHadronicId(3314);
285 PHYSICS->mcConfig().AddHadronicId(3322);
286 PHYSICS->mcConfig().AddHadronicId(3324);
287 PHYSICS->mcConfig().AddHadronicId(3334);
288 PHYSICS->mcConfig().AddHadronicId(4101);
289 PHYSICS->mcConfig().AddHadronicId(4103);
290 PHYSICS->mcConfig().AddHadronicId(4112);
291 PHYSICS->mcConfig().AddHadronicId(4114);
292 PHYSICS->mcConfig().AddHadronicId(4122);
293 PHYSICS->mcConfig().AddHadronicId(4132);
294 PHYSICS->mcConfig().AddHadronicId(4201);
295 PHYSICS->mcConfig().AddHadronicId(4203);
296 PHYSICS->mcConfig().AddHadronicId(4212);
297 PHYSICS->mcConfig().AddHadronicId(4214);
298 PHYSICS->mcConfig().AddHadronicId(4222);
299 PHYSICS->mcConfig().AddHadronicId(4224);
300 PHYSICS->mcConfig().AddHadronicId(4232);
301 PHYSICS->mcConfig().AddHadronicId(4301);
302 PHYSICS->mcConfig().AddHadronicId(4303);
303 PHYSICS->mcConfig().AddHadronicId(4312);
304 PHYSICS->mcConfig().AddHadronicId(4314);
305 PHYSICS->mcConfig().AddHadronicId(4322);
306 PHYSICS->mcConfig().AddHadronicId(4324);
307 PHYSICS->mcConfig().AddHadronicId(4332);
308 PHYSICS->mcConfig().AddHadronicId(4334);
309 PHYSICS->mcConfig().AddHadronicId(4403);
310 PHYSICS->mcConfig().AddHadronicId(4412);
311 PHYSICS->mcConfig().AddHadronicId(4414);
312 PHYSICS->mcConfig().AddHadronicId(4422);
313 PHYSICS->mcConfig().AddHadronicId(4424);
314 PHYSICS->mcConfig().AddHadronicId(4432);
315 PHYSICS->mcConfig().AddHadronicId(4434);
316 PHYSICS->mcConfig().AddHadronicId(4444);
317 PHYSICS->mcConfig().AddHadronicId(5101);
318 PHYSICS->mcConfig().AddHadronicId(5103);
319 PHYSICS->mcConfig().AddHadronicId(5112);
320 PHYSICS->mcConfig().AddHadronicId(5114);
321 PHYSICS->mcConfig().AddHadronicId(5122);
322 PHYSICS->mcConfig().AddHadronicId(5132);
323 PHYSICS->mcConfig().AddHadronicId(5142);
324 PHYSICS->mcConfig().AddHadronicId(5201);
325 PHYSICS->mcConfig().AddHadronicId(5203);
326 PHYSICS->mcConfig().AddHadronicId(5212);
327 PHYSICS->mcConfig().AddHadronicId(5214);
328 PHYSICS->mcConfig().AddHadronicId(5222);
329 PHYSICS->mcConfig().AddHadronicId(5224);
330 PHYSICS->mcConfig().AddHadronicId(5232);
331 PHYSICS->mcConfig().AddHadronicId(5242);
332 PHYSICS->mcConfig().AddHadronicId(5301);
333 PHYSICS->mcConfig().AddHadronicId(5303);
334 PHYSICS->mcConfig().AddHadronicId(5312);
335 PHYSICS->mcConfig().AddHadronicId(5314);
336 PHYSICS->mcConfig().AddHadronicId(5322);
337 PHYSICS->mcConfig().AddHadronicId(5324);
338 PHYSICS->mcConfig().AddHadronicId(5332);
339 PHYSICS->mcConfig().AddHadronicId(5334);
340 PHYSICS->mcConfig().AddHadronicId(5342);
341 PHYSICS->mcConfig().AddHadronicId(5401);
342 PHYSICS->mcConfig().AddHadronicId(5403);
343 PHYSICS->mcConfig().AddHadronicId(5412);
344 PHYSICS->mcConfig().AddHadronicId(5414);
345 PHYSICS->mcConfig().AddHadronicId(5422);
346 PHYSICS->mcConfig().AddHadronicId(5424);
347 PHYSICS->mcConfig().AddHadronicId(5432);
348 PHYSICS->mcConfig().AddHadronicId(5434);
349 PHYSICS->mcConfig().AddHadronicId(5442);
350 PHYSICS->mcConfig().AddHadronicId(5444);
351 PHYSICS->mcConfig().AddHadronicId(5503);
352 PHYSICS->mcConfig().AddHadronicId(5512);
353 PHYSICS->mcConfig().AddHadronicId(5514);
354 PHYSICS->mcConfig().AddHadronicId(5522);
355 PHYSICS->mcConfig().AddHadronicId(5524);
356 PHYSICS->mcConfig().AddHadronicId(5532);
357 PHYSICS->mcConfig().AddHadronicId(5534);
358 PHYSICS->mcConfig().AddHadronicId(5542);
359 PHYSICS->mcConfig().AddHadronicId(5544);
360 PHYSICS->mcConfig().AddHadronicId(5554);
361 PHYSICS->mcConfig().AddHadronicId(10111);
362 PHYSICS->mcConfig().AddHadronicId(10113);
363 PHYSICS->mcConfig().AddHadronicId(10211);
364 PHYSICS->mcConfig().AddHadronicId(10213);
365 PHYSICS->mcConfig().AddHadronicId(10221);
366 PHYSICS->mcConfig().AddHadronicId(10223);
367 PHYSICS->mcConfig().AddHadronicId(10311);
368 PHYSICS->mcConfig().AddHadronicId(10313);
369 PHYSICS->mcConfig().AddHadronicId(10321);
370 PHYSICS->mcConfig().AddHadronicId(10323);
371 PHYSICS->mcConfig().AddHadronicId(10331);
372 PHYSICS->mcConfig().AddHadronicId(10333);
373 PHYSICS->mcConfig().AddHadronicId(10411);
374 PHYSICS->mcConfig().AddHadronicId(10413);
375 PHYSICS->mcConfig().AddHadronicId(10421);
376 PHYSICS->mcConfig().AddHadronicId(10423);
377 PHYSICS->mcConfig().AddHadronicId(10431);
378 PHYSICS->mcConfig().AddHadronicId(10433);
379 PHYSICS->mcConfig().AddHadronicId(10441);
380 PHYSICS->mcConfig().AddHadronicId(10443);
381 PHYSICS->mcConfig().AddHadronicId(10511);
382 PHYSICS->mcConfig().AddHadronicId(10513);
383 PHYSICS->mcConfig().AddHadronicId(10521);
384 PHYSICS->mcConfig().AddHadronicId(10523);
385 PHYSICS->mcConfig().AddHadronicId(10531);
386 PHYSICS->mcConfig().AddHadronicId(10533);
387 PHYSICS->mcConfig().AddHadronicId(10541);
388 PHYSICS->mcConfig().AddHadronicId(10543);
389 PHYSICS->mcConfig().AddHadronicId(10551);
390 PHYSICS->mcConfig().AddHadronicId(10553);
391 PHYSICS->mcConfig().AddHadronicId(20113);
392 PHYSICS->mcConfig().AddHadronicId(20213);
393 PHYSICS->mcConfig().AddHadronicId(20223);
394 PHYSICS->mcConfig().AddHadronicId(20313);
395 PHYSICS->mcConfig().AddHadronicId(20323);
396 PHYSICS->mcConfig().AddHadronicId(20333);
397 PHYSICS->mcConfig().AddHadronicId(20413);
398 PHYSICS->mcConfig().AddHadronicId(20423);
399 PHYSICS->mcConfig().AddHadronicId(20433);
400 PHYSICS->mcConfig().AddHadronicId(20443);
401 PHYSICS->mcConfig().AddHadronicId(20513);
402 PHYSICS->mcConfig().AddHadronicId(20523);
403 PHYSICS->mcConfig().AddHadronicId(20533);
404 PHYSICS->mcConfig().AddHadronicId(20543);
405 PHYSICS->mcConfig().AddHadronicId(20553);
406 PHYSICS->mcConfig().AddHadronicId(100443);
407 PHYSICS->mcConfig().AddHadronicId(100553);
408 PHYSICS->mcConfig().AddHadronicId(9900440);
409 PHYSICS->mcConfig().AddHadronicId(9900441);
410 PHYSICS->mcConfig().AddHadronicId(9900443);
411 PHYSICS->mcConfig().AddHadronicId(9900551);
412 PHYSICS->mcConfig().AddHadronicId(9900553);
413 PHYSICS->mcConfig().AddHadronicId(9910441);
414 PHYSICS->mcConfig().AddHadronicId(9910551);
415
416 // definition of the multiparticle "invisible"
417 PHYSICS->mcConfig().AddInvisibleId(-16);
418 PHYSICS->mcConfig().AddInvisibleId(-14);
419 PHYSICS->mcConfig().AddInvisibleId(-12);
420 PHYSICS->mcConfig().AddInvisibleId(12);
421 PHYSICS->mcConfig().AddInvisibleId(14);
422 PHYSICS->mcConfig().AddInvisibleId(16);
423 PHYSICS->mcConfig().AddInvisibleId(1000022);
424 PHYSICS->mcConfig().AddInvisibleId(1000039);
425
426 // Initializing PhysicsService for RECO
427 PHYSICS->recConfig().Reset();
428
429
430 // Declaration of the signal regions (SR)
431 Manager()->AddRegionSelection("2j_Meff_1200");
432 Manager()->AddRegionSelection("2j_Meff_1600");
433 Manager()->AddRegionSelection("2j_Meff_2000");
434 Manager()->AddRegionSelection("2j_Meff_2400");
435 Manager()->AddRegionSelection("2j_Meff_2800");
436 Manager()->AddRegionSelection("2j_Meff_3600");
437 Manager()->AddRegionSelection("2j_Meff_2100");
438 Manager()->AddRegionSelection("3j_Meff_1300");
439 Manager()->AddRegionSelection("4j_Meff_1000");
440 Manager()->AddRegionSelection("4j_Meff_1400");
441 Manager()->AddRegionSelection("4j_Meff_1800");
442 Manager()->AddRegionSelection("4j_Meff_2200");
443 Manager()->AddRegionSelection("4j_Meff_2600");
444 Manager()->AddRegionSelection("4j_Meff_3000");
445 Manager()->AddRegionSelection("5j_Meff_1700");
446 Manager()->AddRegionSelection("5j_Meff_1600");
447 Manager()->AddRegionSelection("5j_Meff_2000");
448 Manager()->AddRegionSelection("5j_Meff_2600");
449 Manager()->AddRegionSelection("6j_Meff_1200");
450 Manager()->AddRegionSelection("6j_Meff_1800");
451 Manager()->AddRegionSelection("6j_Meff_2200");
452 Manager()->AddRegionSelection("6j_Meff_2600");
453// Manager()->AddRegionSelection("2jB_Meff_1600");
454// Manager()->AddRegionSelection("2jB_Meff_2400");
455
456
457 //Preselection Cuts
458 Manager()->AddCut("Preselection cuts");
459
460 // Declaration of the jet multiplicity cuts
461// std::string SR_2j[]={"2j_Meff_1200","2j_Meff_1600","2j_Meff_2000","2j_Meff_2400","2j_Meff_2800","2j_Meff_3600","2j_Meff_2100"};
462 std::string SR_4j[]={"4j_Meff_1000","4j_Meff_1400","4j_Meff_1800","4j_Meff_2200","4j_Meff_2600","4j_Meff_3000"};
463 std::string SR_5j[]={"5j_Meff_1700","5j_Meff_1600","5j_Meff_2000","5j_Meff_2600"};
464 std::string SR_6j[]={"6j_Meff_1200","6j_Meff_1800","6j_Meff_2200","6j_Meff_2600"};
465 Manager()->AddCut("Njets>=2");
466 Manager()->AddCut("Njets>=3","3j_Meff_1300");
467 Manager()->AddCut("Njets>=4",SR_4j);
468 Manager()->AddCut("Njets>=5",SR_5j);
469 Manager()->AddCut("Njets>=6",SR_6j);
470
471 // Declaration of the MET-jet separation cuts
472 std::string DphijMET_lt3_04[] = {"2j_Meff_2100","3j_Meff_1300","4j_Meff_1000","4j_Meff_1400","4j_Meff_1800","4j_Meff_2200","4j_Meff_2600","4j_Meff_3000","5j_Meff_1600","5j_Meff_1700","5j_Meff_2000","6j_Meff_1200","6j_Meff_1800","6j_Meff_2200","6j_Meff_2600"};
473 std::string DphijMET_lt3_08[] = {"2j_Meff_1200","2j_Meff_1600","2j_Meff_2000","2j_Meff_2400","2j_Meff_2800","2j_Meff_3600","5j_Meff_2600"};
474
475
476
477 Manager()->AddCut("Dphi(j1,j2,(j3),MET)min > 0.4",DphijMET_lt3_04);
478 Manager()->AddCut("Dphi(j1,j2,(j3),MET)min > 0.8",DphijMET_lt3_08);
479
480// std::string DphijMET_gt3_02[] = {"2j_Meff_2100","3j_Meff_1300","5j_Meff_1700","5j_Meff_1600","6j_Meff_1200","6j_Meff_1800","6j_Meff_2200","6j_Meff_2600"};
481 std::string DphijMET_gt3_02[] = {"2j_Meff_2100","3j_Meff_1300","5j_Meff_1700","6j_Meff_1200","6j_Meff_1800","6j_Meff_2200","6j_Meff_2600"};
482 std::string DphijMET_gt3_04[] ={"2j_Meff_1200","2j_Meff_1600","2j_Meff_2000","2j_Meff_2400","2j_Meff_2800","2j_Meff_3600","4j_Meff_1000","4j_Meff_1400","4j_Meff_1800","4j_Meff_2200","4j_Meff_2600","4j_Meff_3000","5j_Meff_2000","5j_Meff_2600"};
483
484
485 Manager()->AddCut("Dphi(>j3,MET)min > 0.2",DphijMET_gt3_02);
486 Manager()->AddCut("Dphi(>j3,MET)min > 0.4",DphijMET_gt3_04);
487
488 // Declaration of the jet-pt cuts
489
490 std::string ptjcut_350[] = {"2j_Meff_2000","2j_Meff_2400","2j_Meff_2800","2j_Meff_3600"};
491 std::string ptj1cut_700[] = {"3j_Meff_1300","5j_Meff_1700"};
492
493 Manager()->AddCut("pT(j1) > 250 GeV","2j_Meff_1200");
494 Manager()->AddCut("pT(j1) > 300 GeV","2j_Meff_1600");
495 Manager()->AddCut("pT(j1) > 350 GeV",ptjcut_350);
496 Manager()->AddCut("pT(j1) > 600 GeV","2j_Meff_2100");
497 Manager()->AddCut("pT(j1) > 700 GeV",ptj1cut_700);
498
499 std::string ptj2cut_50[] = {"2j_Meff_2100","3j_Meff_1300"};
500 Manager()->AddCut("pT(j2) > 250 GeV","2j_Meff_1200");
501 Manager()->AddCut("pT(j2) > 300 GeV","2j_Meff_1600");
502 Manager()->AddCut("pT(j2) > 350 GeV",ptjcut_350);
503 Manager()->AddCut("pT(j2) > 50 GeV",ptj2cut_50);
504// Manager()->AddCut("pT(j2) > 50 GeV","2j_Meff_2100");
505
506 Manager()->AddCut("pT(j3) > 50 GeV","3j_Meff_1300");
507
508 std::string ptj4cut_100[] = {"4j_Meff_1000","4j_Meff_1400","4j_Meff_1800","4j_Meff_2200"};
509 std::string ptj4cut_150[] = {"4j_Meff_2600","4j_Meff_3000"};
510 Manager()->AddCut("pT(j4) > 100 GeV",ptj4cut_100);
511 Manager()->AddCut("pT(j4) > 150 GeV",ptj4cut_150);
512 Manager()->AddCut("pT(j4) > 50 GeV","5j_Meff_1700");
513
514 Manager()->AddCut("pT(j5) > 50 GeV","5j_Meff_1700");
515
516 std::string ptj6cut_100[] = {"6j_Meff_1800","6j_Meff_2200","6j_Meff_2600"};
517
518// Manager()->AddCut("pT(j6) > 50 GeV","6j_Meff_1200");
519 Manager()->AddCut("pT(j6) > 100 GeV",ptj6cut_100);
520
521 // Declaration of the eta cuts on the jets
522
523 std::string etajcut_12_SR2j[] = {"2j_Meff_1600","2j_Meff_2000","2j_Meff_2400","2j_Meff_2800"};
524 std::string etajcut_20_SR4j[] = {"4j_Meff_1400","4j_Meff_1800","4j_Meff_2200","4j_Meff_2600","4j_Meff_3000"};
525 std::string etajcut_20_SR6j[]={"6j_Meff_1200","6j_Meff_1800"};
526
527 Manager()->AddCut("eta(jets) < 0.8","2j_Meff_1200");
528 Manager()->AddCut("eta(jets) < 1.2 SR2j",etajcut_12_SR2j);
529 Manager()->AddCut("eta(jets) < 1.2 SR4j","4j_Meff_1000");
530 Manager()->AddCut("eta(jets) < 2.0 SR4j",etajcut_20_SR4j);
531 Manager()->AddCut("eta(jets) < 2.0 SR6j",etajcut_20_SR6j);
532
533 // Declaration of the Aplanarity cuts
534 std::string Aplanarity_04[] = {"4j_Meff_1000","4j_Meff_1400","4j_Meff_1800","4j_Meff_2200","4j_Meff_2600","4j_Meff_3000","6j_Meff_1800"};
535 std::string Aplanarity_08[] = {"5j_Meff_1600","6j_Meff_2200","6j_Meff_2600"};
536
537 Manager()->AddCut("lam3 > 0.04",Aplanarity_04);
538 Manager()->AddCut("lam3 > 0.08",Aplanarity_08);
539
540 // Declaration of the MET-to-HT/Meff ratio cuts
541
542 std::string METoHT_18[] = {"2j_Meff_1600","2j_Meff_2000","2j_Meff_2400","2j_Meff_2800","2j_Meff_3600","5j_Meff_2600"};
543
544
545 Manager()->AddCut("METtoHT > 14 sqrt(GeV)","2j_Meff_1200");
546 Manager()->AddCut("METtoHT > 15 sqrt(GeV)","5j_Meff_2000");
547 Manager()->AddCut("METtoHT > 16 sqrt(GeV)","3j_Meff_1300");
548 Manager()->AddCut("METtoHT > 18 sqrt(GeV)",METoHT_18);
549 Manager()->AddCut("METtoHT > 26 sqrt(GeV)","2j_Meff_2100");
550
551
552 std::string METoMeff_02_SR4j[] = {"4j_Meff_2600","4j_Meff_3000"};
553 std::string METoMeff_02_SR6j[] = {"6j_Meff_1800","6j_Meff_2200"};
554 std::string METoMeff_025_SR4j[] = {"4j_Meff_1400","4j_Meff_1800","4j_Meff_2200"};
555
556 Manager()->AddCut("METtoMeff(4) > 0.30","4j_Meff_1000");
557 Manager()->AddCut("METtoMeff(4) > 0.25",METoMeff_025_SR4j);
558 Manager()->AddCut("METtoMeff(4) > 0.20",METoMeff_02_SR4j);
559
560 Manager()->AddCut("METtoMeff(5) > 0.30","5j_Meff_1700");
561 Manager()->AddCut("METtoMeff(5) > 0.15","5j_Meff_1600");
562
563 Manager()->AddCut("METtoMeff(6) > 0.15","6j_Meff_2600");
564 Manager()->AddCut("METtoMeff(6) > 0.20",METoMeff_02_SR6j);
565 Manager()->AddCut("METtoMeff(6) > 0.25","6j_Meff_1200");
566
567
568
569 //Declaration of the cuts on Meff
570 std::string Meff_1200[]={"2j_Meff_1200","6j_Meff_1200"};
571 std::string Meff_1600[]={"2j_Meff_1600","5j_Meff_1600"};
572 std::string Meff_1800[]={"4j_Meff_1800","6j_Meff_1800"};
573 std::string Meff_2000[]={"2j_Meff_2000","5j_Meff_2000"};
574 std::string Meff_2200[]={"4j_Meff_2200","6j_Meff_2200"};
575 std::string Meff_2600[]={"4j_Meff_2600","5j_Meff_2600","6j_Meff_2600"};
576
577 Manager()->AddCut("Meff > 1000 GeV","4j_Meff_1000");
578 Manager()->AddCut("Meff > 1200 GeV",Meff_1200);
579 Manager()->AddCut("Meff > 1300 GeV","3j_Meff_1300");
580 Manager()->AddCut("Meff > 1400 GeV","4j_Meff_1400");
581 Manager()->AddCut("Meff > 1600 GeV",Meff_1600);
582 Manager()->AddCut("Meff > 1700 GeV","5j_Meff_1700");
583 Manager()->AddCut("Meff > 1800 GeV",Meff_1800);
584 Manager()->AddCut("Meff > 2000 GeV",Meff_2000);
585 Manager()->AddCut("Meff > 2100 GeV","2j_Meff_2100");
586 Manager()->AddCut("Meff > 2200 GeV",Meff_2200);
587 Manager()->AddCut("Meff > 2400 GeV","2j_Meff_2400");
588 Manager()->AddCut("Meff > 2600 GeV",Meff_2600);
589 Manager()->AddCut("Meff > 2800 GeV","2j_Meff_2800");
590 Manager()->AddCut("Meff > 3000 GeV","4j_Meff_3000");
591 Manager()->AddCut("Meff > 3600 GeV","2j_Meff_3600");
592
593
594 cout << "END Initialization" << endl;
595
596 return true;
597}
598
599// -----------------------------------------------------------------------------
600// Finalize
601// function called one time at the end of the analysis
602// -----------------------------------------------------------------------------
603void sfs_test::Finalize(const SampleFormat& summary, const std::vector<SampleFormat>& files)
604{
605 cout << "BEGIN Finalization" << endl;
606 // saving histos
607 cout << "END Finalization" << endl;
608}
609
610// -----------------------------------------------------------------------------
611// Execute
612// function called each time one event is read
613// -----------------------------------------------------------------------------
614unsigned int Nevents = 0;
615
616bool sfs_test::Execute(SampleFormat& sample, const EventFormat& event)
617{
618 Nevents = Nevents + 1;
619// cout << " N° event = " << Nevents << endl;
620 // Event weight
621 double myEventWeight;
622 if(Configuration().IsNoEventWeight()) myEventWeight=1.;
623 else if(event.mc()->weight()!=0.) myEventWeight=event.mc()->weight();
624 else
625 {
626 ////WARNING << "Found one event with a zero weight. Skipping...\n";
627 return false;
628 }
629 Manager()->InitializeForNewEvent(myEventWeight);
630
631
632 // The event loop start here
633 if(event.rec()!=0)
634 {
635
636 // Containers
637 std::vector<const RecLeptonFormat*> Electrons, Muons;
638 std::vector<const RecJetFormat*> Jets, SignalJets;
639
640 // Electrons
641 for(unsigned int e=0; e<event.rec()->electrons().size(); e++)
642 {
643 const RecLeptonFormat *CurrentElectron = &(event.rec()->electrons()[e]);
644 if(CurrentElectron->pt()>7. && fabs(CurrentElectron->eta())<2.47)
645 Electrons.push_back(CurrentElectron);
646 }
647 SORTER->sort(Electrons);
648
649 // Muons
650 for(unsigned int mu=0; mu<event.rec()->muons().size(); mu++)
651 {
652 const RecLeptonFormat *CurrentMuon = &(event.rec()->muons()[mu]);
653 if(CurrentMuon->pt()>7. && fabs(CurrentMuon->eta())<2.7)
654 Muons.push_back(CurrentMuon);
655 }
656
657 // Jets
658 for(unsigned int j=0; j<event.rec()->jets().size(); j++)
659 {
660 const RecJetFormat *CurrentJet = &(event.rec()->jets()[j]);
661 if(CurrentJet->pt()>20. && fabs(CurrentJet->eta())<2.8)
662 Jets.push_back(CurrentJet);
663 }
664
665 //Overlap removal
666 Jets = Removal(Jets, Electrons, 0.2);
667 Electrons = Removal(Electrons, Jets, 0.4);
668 Muons = Removal(Muons, Jets, 0.4);
669
670 // MET
671 MALorentzVector pTmiss = event.rec()->MET().momentum();
672 double MET = pTmiss.Pt();
673
674 // SR jets, meff and HT, MET/sqrt(HT), Njets
675 double HT=0.;
676 for(unsigned int j=0; j<Jets.size(); j++)
677 {
678 if(Jets[j]->pt()>50.)
679 SignalJets.push_back(Jets[j]);
680 HT+=Jets[j]->pt();
681 }
682 SORTER->sort(SignalJets);
683 double Meff = MET + HT;
684 double METtoHT = MET/sqrt(HT);
685 unsigned int NJets = SignalJets.size();
686
687 // Calculation of the separation between the MET and the jets, as well as meffNj
688 double dphij_1to3=1.e9, dphij_gt3=1.e9;
689 double Meff4j=MET, Meff5j=MET, Meff6j=MET;
690 for (unsigned int i=0; i<NJets; i++)
691 {
692 // Observables
693 double mydphi = SignalJets[i]->dphi_0_pi(pTmiss);
694 double mypt = SignalJets[i]->pt();
695 // dphi(j,met)
696 if(i<3 && mydphi<dphij_1to3) dphij_1to3=mydphi;
697 else if(mydphi<dphij_gt3) dphij_gt3=mydphi;
698 // non-inclusive meff
699 if(i<4) Meff4j+=mypt;
700 if(i<5) Meff5j+=mypt;
701 if(i<6) Meff6j+=mypt;
702 }
703 double METtoMeff4 = MET/Meff4j;
704 double METtoMeff5 = MET/Meff5j;
705 double METtoMeff6 = MET/Meff6j;
706
707
708 // Construction of the sphericity tensor, calculation of the aplanarity
709 // using the Cardano algorithm
710 double S12=0., S31=0., S23=0., S11=0., S22=0., S33=0., Stot=0.;
711 for (unsigned int i=0; i<NJets; i++)
712 {
713 S11+=SignalJets[i]->px()*SignalJets[i]->px();
714 S12+=SignalJets[i]->px()*SignalJets[i]->py();
715 S22+=SignalJets[i]->py()*SignalJets[i]->py();
716 S23+=SignalJets[i]->py()*SignalJets[i]->pz();
717 S31+=SignalJets[i]->pz()*SignalJets[i]->px();
718 S33+=SignalJets[i]->pz()*SignalJets[i]->pz();
719 Stot+=SignalJets[i]->p()*SignalJets[i]->p();
720 }
721 S11=S11/Stot; S12=S12/Stot; S22=S22/Stot; S23=S23/Stot; S31=S31/Stot; S33=S33/Stot;
722 double Sii = S11+S22+S33;
723 double C0 = S11*S23*S23 + S22*S31*S31 + S33*S12*S12 - S11*S22*S33 - 2.*S31*S12*S23;
724 double C1 = S11*S22 + S22*S33 + S11*S33 - S12*S12 - S23*S23 - S31*S31;
725 double P = Sii*Sii - 3.*C1;
726 double Q = Sii*(P-1.5*C1) - 13.5*C0;
727 double phi = atan2(sqrt(fabs(27.*(C1*C1/4.*(P-C1) + C0*(Q+6.75*C0)))),Q)/3.;
728 double cth = sqrt(fabs(P))*cos(phi);
729 double sth = sqrt(fabs(P))*sin(phi)/sqrt(3.);
730 double a1 = (Sii-cth)/3.+sth;
731 double a2 = (Sii-cth)/3.-sth;
732 double a3 = (Sii-cth)/3.+cth;
733 double lam3 = 1.5*std::min(std::min(a1,a2),a3);
734
735
736
737 //Preselection cuts
738 bool IsMET = (MET>250.);
739 bool IsLeptons = ((Electrons.size()+Muons.size())==0);
740 bool IspTj1 = false;
741 bool IsMeff = false;
742 bool IsNJets = false;
743
744 if(NJets>0)
745 {
746 IspTj1 = (SignalJets[0]->pt()>200.);
747 IsMeff = (Meff>800.);
748 IsNJets = (NJets>=2);
749 }
750
751
752
753 if(!Manager()->ApplyCut(IsMET && IspTj1 && IsMeff && IsLeptons,"Preselection cuts")) return true;
754 if(!Manager()->ApplyCut(IsNJets,"Njets>=2")) return true;
755
756 // Jet multiplicity
757 if(!Manager()->ApplyCut(3<=NJets,"Njets>=3")) return true;
758 if(!Manager()->ApplyCut(4<=NJets,"Njets>=4")) return true;
759 if(!Manager()->ApplyCut(5<=NJets,"Njets>=5")) return true;
760 if(!Manager()->ApplyCut(6<=NJets,"Njets>=6")) return true;
761
762 // (MET,jet) separation
763 if(!Manager()->ApplyCut(dphij_1to3>0.8,"Dphi(j1,j2,(j3),MET)min > 0.8")) return true;
764
765 if(!Manager()->ApplyCut(dphij_1to3>0.4,"Dphi(j1,j2,(j3),MET)min > 0.4")) return true;
766
767 if(!Manager()->ApplyCut(dphij_gt3>0.2,"Dphi(>j3,MET)min > 0.2")) return true;
768
769 if(!Manager()->ApplyCut(dphij_gt3>0.4,"Dphi(>j3,MET)min > 0.4")) return true;
770
771
772
773 // Jet pt thresholds
774
775 if(!Manager()->ApplyCut(SignalJets[0]->pt()>250.,"pT(j1) > 250 GeV")) return true;
776 if(!Manager()->ApplyCut(SignalJets[0]->pt()>300.,"pT(j1) > 300 GeV")) return true;
777 if(!Manager()->ApplyCut(SignalJets[0]->pt()>350.,"pT(j1) > 350 GeV")) return true;
778 if(!Manager()->ApplyCut(SignalJets[0]->pt()>600.,"pT(j1) > 600 GeV")) return true;
779 if(!Manager()->ApplyCut(SignalJets[0]->pt()>700.,"pT(j1) > 700 GeV")) return true;
780
781 if(!Manager()->ApplyCut(SignalJets[1]->pt()>50.,"pT(j2) > 50 GeV")) return true;
782 if(!Manager()->ApplyCut(SignalJets[1]->pt()>250.,"pT(j2) > 250 GeV")) return true;
783 if(!Manager()->ApplyCut(SignalJets[1]->pt()>300.,"pT(j2) > 300 GeV")) return true;
784 if(!Manager()->ApplyCut(SignalJets[1]->pt()>350.,"pT(j2) > 350 GeV")) return true;
785
786 if(NJets>2)
787 if(!Manager()->ApplyCut(SignalJets[2]->pt()>50.,"pT(j3) > 50 GeV")) return true;
788
789 if(NJets>3) {
790 if(!Manager()->ApplyCut(SignalJets[3]->pt()>100.,"pT(j4) > 100 GeV")) return true;
791 if(!Manager()->ApplyCut(SignalJets[3]->pt()>150.,"pT(j4) > 150 GeV")) return true;
792 }
793
794
795 if(NJets>4) {
796 if(!Manager()->ApplyCut(SignalJets[3]->pt()>50.,"pT(j4) > 50 GeV")) return true;
797 if(!Manager()->ApplyCut(SignalJets[4]->pt()>50.,"pT(j5) > 50 GeV")) return true;
798 }
799
800 if(NJets>5) {
801
802 if(!Manager()->ApplyCut(100.<SignalJets[5]->pt(),"pT(j6) > 100 GeV")) return true;
803 }
804
805 //eta cuts
806
807 if(!Manager()->ApplyCut(fabs(SignalJets[0]->eta())<0.8 && fabs(SignalJets[1]->eta())<0.8,"eta(jets) < 0.8")) return true;
808
809 if(!Manager()->ApplyCut(fabs(SignalJets[0]->eta())<1.2 && fabs(SignalJets[1]->eta())<1.2,"eta(jets) < 1.2 SR2j")) return true;
810
811 if(NJets>3){
812 if(!Manager()->ApplyCut(fabs(SignalJets[0]->eta())<1.2 && fabs(SignalJets[1]->eta())<1.2 && fabs(SignalJets[2]->eta())<1.2 && fabs(SignalJets[3]->eta())<1.2,"eta(jets) < 1.2 SR4j")) return true;
813 if(!Manager()->ApplyCut(fabs(SignalJets[0]->eta())<2.0 && fabs(SignalJets[1]->eta())<2.0 && fabs(SignalJets[2]->eta())<2.0 && fabs(SignalJets[3]->eta())<2.0,"eta(jets) < 2.0 SR4j")) return true;
814 }
815 if(NJets>5)
816 if(!Manager()->ApplyCut(fabs(SignalJets[0]->eta())<2.0 && fabs(SignalJets[1]->eta())<2.0 && fabs(SignalJets[2]->eta())<2.0 && fabs(SignalJets[3]->eta())<2.0 && fabs(SignalJets[4]->eta())<2.0 && fabs(SignalJets[5]->eta())<2.0,"eta(jets) < 2.0 SR6j")) return true;
817
818 //Aplanarity cuts
819 if(NJets>3)
820 {
821 if(!Manager()->ApplyCut(lam3>0.04,"lam3 > 0.04")) return true;
822 if(!Manager()->ApplyCut(lam3>0.08,"lam3 > 0.08")) return true;
823 }
824
825
826 // MET-to-HT/eff ratio cuts
827 if(NJets>3)
828 {
829 if(!Manager()->ApplyCut(METtoMeff4>0.30,"METtoMeff(4) > 0.30")) return true;
830 if(!Manager()->ApplyCut(METtoMeff4>0.25,"METtoMeff(4) > 0.25")) return true;
831 if(!Manager()->ApplyCut(METtoMeff4>0.20,"METtoMeff(4) > 0.20")) return true;
832 }
833 if(NJets>4)
834 {
835 if(!Manager()->ApplyCut(METtoMeff5>0.30,"METtoMeff(5) > 0.30")) return true;
836 if(!Manager()->ApplyCut(METtoMeff5>0.15,"METtoMeff(5) > 0.15")) return true;
837 }
838
839 if(NJets>5)
840 {
841 if(!Manager()->ApplyCut(METtoMeff6>0.15,"METtoMeff(6) > 0.15")) return true;
842 if(!Manager()->ApplyCut(METtoMeff6>0.20,"METtoMeff(6) > 0.20")) return true;
843 if(!Manager()->ApplyCut(METtoMeff6>0.25,"METtoMeff(6) > 0.25")) return true;
844
845 }
846
847 if(!Manager()->ApplyCut(METtoHT > 14.,"METtoHT > 14 sqrt(GeV)")) return true;
848 if(!Manager()->ApplyCut(METtoHT > 15.,"METtoHT > 15 sqrt(GeV)")) return true;
849 if(!Manager()->ApplyCut(METtoHT > 16.,"METtoHT > 16 sqrt(GeV)")) return true;
850 if(!Manager()->ApplyCut(METtoHT > 18.,"METtoHT > 18 sqrt(GeV)")) return true;
851 if(!Manager()->ApplyCut(METtoHT > 26.,"METtoHT > 26 sqrt(GeV)")) return true;
852
853
854
855 //Meff inclusive cuts
856 if(!Manager()->ApplyCut(Meff>1000.,"Meff > 1000 GeV")) return true;
857 if(!Manager()->ApplyCut(Meff>1200.,"Meff > 1200 GeV")) return true;
858 if(!Manager()->ApplyCut(Meff>1300.,"Meff > 1300 GeV")) return true;
859 if(!Manager()->ApplyCut(Meff>1400.,"Meff > 1400 GeV")) return true;
860 if(!Manager()->ApplyCut(Meff>1600.,"Meff > 1600 GeV")) return true;
861 if(!Manager()->ApplyCut(Meff>1700.,"Meff > 1700 GeV")) return true;
862 if(!Manager()->ApplyCut(Meff>1800.,"Meff > 1800 GeV")) return true;
863 if(!Manager()->ApplyCut(Meff>2000.,"Meff > 2000 GeV")) return true;
864 if(!Manager()->ApplyCut(Meff>2100.,"Meff > 2100 GeV")) return true;
865 if(!Manager()->ApplyCut(Meff>2200.,"Meff > 2200 GeV")) return true;
866 if(!Manager()->ApplyCut(Meff>2400.,"Meff > 2400 GeV")) return true;
867 if(!Manager()->ApplyCut(Meff>2600.,"Meff > 2600 GeV")) return true;
868 if(!Manager()->ApplyCut(Meff>2800.,"Meff > 2800 GeV")) return true;
869 if(!Manager()->ApplyCut(Meff>3000.,"Meff > 3000 GeV")) return true;
870 if(!Manager()->ApplyCut(Meff>3600.,"Meff > 3600 GeV")) return true;
871
872
873
874 }
875
876
877 return true;
878}
879
880