| 1 | #include "SampleAnalyzer/User/Analyzer/sfs_atlas_conf_2019_040.h"
|
|---|
| 2 | using namespace MA5;
|
|---|
| 3 | using namespace std;
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 | // Overlap Removal
|
|---|
| 7 | template<typename T1, typename T2> std::vector<const T1*>
|
|---|
| 8 | Removal(std::vector<const T1*> &v1, std::vector<const T2*> &v2,
|
|---|
| 9 | const double &drmin)
|
|---|
| 10 | {
|
|---|
| 11 | // Determining with objects should be removed
|
|---|
| 12 | std::vector<bool> mask(v1.size(),false);
|
|---|
| 13 | for (unsigned int j=0;j<v1.size();j++)
|
|---|
| 14 | for (unsigned int i=0;i<v2.size();i++)
|
|---|
| 15 | if (v2[i]->dr(v1[j]) < drmin)
|
|---|
| 16 | {
|
|---|
| 17 | mask[j]=true;
|
|---|
| 18 | break;
|
|---|
| 19 | }
|
|---|
| 20 |
|
|---|
| 21 | // Building the cleaned container
|
|---|
| 22 | std::vector<const T1*> cleaned_v1;
|
|---|
| 23 | for (unsigned int i=0;i<v1.size();i++)
|
|---|
| 24 | if (!mask[i]) cleaned_v1.push_back(v1[i]);
|
|---|
| 25 |
|
|---|
| 26 | return cleaned_v1;
|
|---|
| 27 | }
|
|---|
| 28 |
|
|---|
| 29 |
|
|---|
| 30 |
|
|---|
| 31 | // -----------------------------------------------------------------------------
|
|---|
| 32 | // Initialize
|
|---|
| 33 | // function called one time at the beginning of the analysis
|
|---|
| 34 | // -----------------------------------------------------------------------------
|
|---|
| 35 | bool sfs_atlas_conf_2019_040::Initialize(const MA5::Configuration& cfg, const std::map<std::string,std::string>& parameters)
|
|---|
| 36 | {
|
|---|
| 37 | // Information on the analysis, authors, ...
|
|---|
| 38 | // VERY IMPORTANT FOR DOCUMENTATION, TRACEABILITY, BUG REPORTS
|
|---|
| 39 | INFO << " <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>" << endmsg;
|
|---|
| 40 | INFO << " <> Analysis: atlas_conf_2019_040 <>" << endmsg;
|
|---|
| 41 | INFO << " <> 0 lepton, 2-6 jets = 13 TeV, 139 fb^-1 luminosity <>" << endmsg;
|
|---|
| 42 | INFO << " <> Recast by: F. Ambrogi <>" << endmsg;
|
|---|
| 43 | INFO << " <> Contact: federico.ambrogi@univie.ac.at <>" << endmsg;
|
|---|
| 44 | INFO << " <> Based on MadAnalysis 5 v1.5 and above <>" << endmsg;
|
|---|
| 45 | INFO << " <> For more information, see <>" << endmsg;
|
|---|
| 46 | INFO << " <> http://madanalysis.irmp.ucl.ac.be/wiki/PublicAnalysisDatabase <>" << endmsg;
|
|---|
| 47 | INFO << " <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>" << endmsg;
|
|---|
| 48 |
|
|---|
| 49 |
|
|---|
| 50 | // Initializing PhysicsService for MC
|
|---|
| 51 | PHYSICS->mcConfig().Reset();
|
|---|
| 52 |
|
|---|
| 53 |
|
|---|
| 54 | // definition of the multiparticle "hadronic"
|
|---|
| 55 | PHYSICS->mcConfig().AddHadronicId(-20543);
|
|---|
| 56 | PHYSICS->mcConfig().AddHadronicId(-20533);
|
|---|
| 57 | PHYSICS->mcConfig().AddHadronicId(-20523);
|
|---|
| 58 | PHYSICS->mcConfig().AddHadronicId(-20513);
|
|---|
| 59 | PHYSICS->mcConfig().AddHadronicId(-20433);
|
|---|
| 60 | PHYSICS->mcConfig().AddHadronicId(-20423);
|
|---|
| 61 | PHYSICS->mcConfig().AddHadronicId(-20413);
|
|---|
| 62 | PHYSICS->mcConfig().AddHadronicId(-20323);
|
|---|
| 63 | PHYSICS->mcConfig().AddHadronicId(-20313);
|
|---|
| 64 | PHYSICS->mcConfig().AddHadronicId(-20213);
|
|---|
| 65 | PHYSICS->mcConfig().AddHadronicId(-10543);
|
|---|
| 66 | PHYSICS->mcConfig().AddHadronicId(-10541);
|
|---|
| 67 | PHYSICS->mcConfig().AddHadronicId(-10533);
|
|---|
| 68 | PHYSICS->mcConfig().AddHadronicId(-10531);
|
|---|
| 69 | PHYSICS->mcConfig().AddHadronicId(-10523);
|
|---|
| 70 | PHYSICS->mcConfig().AddHadronicId(-10521);
|
|---|
| 71 | PHYSICS->mcConfig().AddHadronicId(-10513);
|
|---|
| 72 | PHYSICS->mcConfig().AddHadronicId(-10511);
|
|---|
| 73 | PHYSICS->mcConfig().AddHadronicId(-10433);
|
|---|
| 74 | PHYSICS->mcConfig().AddHadronicId(-10431);
|
|---|
| 75 | PHYSICS->mcConfig().AddHadronicId(-10423);
|
|---|
| 76 | PHYSICS->mcConfig().AddHadronicId(-10421);
|
|---|
| 77 | PHYSICS->mcConfig().AddHadronicId(-10413);
|
|---|
| 78 | PHYSICS->mcConfig().AddHadronicId(-10411);
|
|---|
| 79 | PHYSICS->mcConfig().AddHadronicId(-10323);
|
|---|
| 80 | PHYSICS->mcConfig().AddHadronicId(-10321);
|
|---|
| 81 | PHYSICS->mcConfig().AddHadronicId(-10313);
|
|---|
| 82 | PHYSICS->mcConfig().AddHadronicId(-10311);
|
|---|
| 83 | PHYSICS->mcConfig().AddHadronicId(-10213);
|
|---|
| 84 | PHYSICS->mcConfig().AddHadronicId(-10211);
|
|---|
| 85 | PHYSICS->mcConfig().AddHadronicId(-5554);
|
|---|
| 86 | PHYSICS->mcConfig().AddHadronicId(-5544);
|
|---|
| 87 | PHYSICS->mcConfig().AddHadronicId(-5542);
|
|---|
| 88 | PHYSICS->mcConfig().AddHadronicId(-5534);
|
|---|
| 89 | PHYSICS->mcConfig().AddHadronicId(-5532);
|
|---|
| 90 | PHYSICS->mcConfig().AddHadronicId(-5524);
|
|---|
| 91 | PHYSICS->mcConfig().AddHadronicId(-5522);
|
|---|
| 92 | PHYSICS->mcConfig().AddHadronicId(-5514);
|
|---|
| 93 | PHYSICS->mcConfig().AddHadronicId(-5512);
|
|---|
| 94 | PHYSICS->mcConfig().AddHadronicId(-5503);
|
|---|
| 95 | PHYSICS->mcConfig().AddHadronicId(-5444);
|
|---|
| 96 | PHYSICS->mcConfig().AddHadronicId(-5442);
|
|---|
| 97 | PHYSICS->mcConfig().AddHadronicId(-5434);
|
|---|
| 98 | PHYSICS->mcConfig().AddHadronicId(-5432);
|
|---|
| 99 | PHYSICS->mcConfig().AddHadronicId(-5424);
|
|---|
| 100 | PHYSICS->mcConfig().AddHadronicId(-5422);
|
|---|
| 101 | PHYSICS->mcConfig().AddHadronicId(-5414);
|
|---|
| 102 | PHYSICS->mcConfig().AddHadronicId(-5412);
|
|---|
| 103 | PHYSICS->mcConfig().AddHadronicId(-5403);
|
|---|
| 104 | PHYSICS->mcConfig().AddHadronicId(-5401);
|
|---|
| 105 | PHYSICS->mcConfig().AddHadronicId(-5342);
|
|---|
| 106 | PHYSICS->mcConfig().AddHadronicId(-5334);
|
|---|
| 107 | PHYSICS->mcConfig().AddHadronicId(-5332);
|
|---|
| 108 | PHYSICS->mcConfig().AddHadronicId(-5324);
|
|---|
| 109 | PHYSICS->mcConfig().AddHadronicId(-5322);
|
|---|
| 110 | PHYSICS->mcConfig().AddHadronicId(-5314);
|
|---|
| 111 | PHYSICS->mcConfig().AddHadronicId(-5312);
|
|---|
| 112 | PHYSICS->mcConfig().AddHadronicId(-5303);
|
|---|
| 113 | PHYSICS->mcConfig().AddHadronicId(-5301);
|
|---|
| 114 | PHYSICS->mcConfig().AddHadronicId(-5242);
|
|---|
| 115 | PHYSICS->mcConfig().AddHadronicId(-5232);
|
|---|
| 116 | PHYSICS->mcConfig().AddHadronicId(-5224);
|
|---|
| 117 | PHYSICS->mcConfig().AddHadronicId(-5222);
|
|---|
| 118 | PHYSICS->mcConfig().AddHadronicId(-5214);
|
|---|
| 119 | PHYSICS->mcConfig().AddHadronicId(-5212);
|
|---|
| 120 | PHYSICS->mcConfig().AddHadronicId(-5203);
|
|---|
| 121 | PHYSICS->mcConfig().AddHadronicId(-5201);
|
|---|
| 122 | PHYSICS->mcConfig().AddHadronicId(-5142);
|
|---|
| 123 | PHYSICS->mcConfig().AddHadronicId(-5132);
|
|---|
| 124 | PHYSICS->mcConfig().AddHadronicId(-5122);
|
|---|
| 125 | PHYSICS->mcConfig().AddHadronicId(-5114);
|
|---|
| 126 | PHYSICS->mcConfig().AddHadronicId(-5112);
|
|---|
| 127 | PHYSICS->mcConfig().AddHadronicId(-5103);
|
|---|
| 128 | PHYSICS->mcConfig().AddHadronicId(-5101);
|
|---|
| 129 | PHYSICS->mcConfig().AddHadronicId(-4444);
|
|---|
| 130 | PHYSICS->mcConfig().AddHadronicId(-4434);
|
|---|
| 131 | PHYSICS->mcConfig().AddHadronicId(-4432);
|
|---|
| 132 | PHYSICS->mcConfig().AddHadronicId(-4424);
|
|---|
| 133 | PHYSICS->mcConfig().AddHadronicId(-4422);
|
|---|
| 134 | PHYSICS->mcConfig().AddHadronicId(-4414);
|
|---|
| 135 | PHYSICS->mcConfig().AddHadronicId(-4412);
|
|---|
| 136 | PHYSICS->mcConfig().AddHadronicId(-4403);
|
|---|
| 137 | PHYSICS->mcConfig().AddHadronicId(-4334);
|
|---|
| 138 | PHYSICS->mcConfig().AddHadronicId(-4332);
|
|---|
| 139 | PHYSICS->mcConfig().AddHadronicId(-4324);
|
|---|
| 140 | PHYSICS->mcConfig().AddHadronicId(-4322);
|
|---|
| 141 | PHYSICS->mcConfig().AddHadronicId(-4314);
|
|---|
| 142 | PHYSICS->mcConfig().AddHadronicId(-4312);
|
|---|
| 143 | PHYSICS->mcConfig().AddHadronicId(-4303);
|
|---|
| 144 | PHYSICS->mcConfig().AddHadronicId(-4301);
|
|---|
| 145 | PHYSICS->mcConfig().AddHadronicId(-4232);
|
|---|
| 146 | PHYSICS->mcConfig().AddHadronicId(-4224);
|
|---|
| 147 | PHYSICS->mcConfig().AddHadronicId(-4222);
|
|---|
| 148 | PHYSICS->mcConfig().AddHadronicId(-4214);
|
|---|
| 149 | PHYSICS->mcConfig().AddHadronicId(-4212);
|
|---|
| 150 | PHYSICS->mcConfig().AddHadronicId(-4203);
|
|---|
| 151 | PHYSICS->mcConfig().AddHadronicId(-4201);
|
|---|
| 152 | PHYSICS->mcConfig().AddHadronicId(-4132);
|
|---|
| 153 | PHYSICS->mcConfig().AddHadronicId(-4122);
|
|---|
| 154 | PHYSICS->mcConfig().AddHadronicId(-4114);
|
|---|
| 155 | PHYSICS->mcConfig().AddHadronicId(-4112);
|
|---|
| 156 | PHYSICS->mcConfig().AddHadronicId(-4103);
|
|---|
| 157 | PHYSICS->mcConfig().AddHadronicId(-4101);
|
|---|
| 158 | PHYSICS->mcConfig().AddHadronicId(-3334);
|
|---|
| 159 | PHYSICS->mcConfig().AddHadronicId(-3324);
|
|---|
| 160 | PHYSICS->mcConfig().AddHadronicId(-3322);
|
|---|
| 161 | PHYSICS->mcConfig().AddHadronicId(-3314);
|
|---|
| 162 | PHYSICS->mcConfig().AddHadronicId(-3312);
|
|---|
| 163 | PHYSICS->mcConfig().AddHadronicId(-3303);
|
|---|
| 164 | PHYSICS->mcConfig().AddHadronicId(-3224);
|
|---|
| 165 | PHYSICS->mcConfig().AddHadronicId(-3222);
|
|---|
| 166 | PHYSICS->mcConfig().AddHadronicId(-3214);
|
|---|
| 167 | PHYSICS->mcConfig().AddHadronicId(-3212);
|
|---|
| 168 | PHYSICS->mcConfig().AddHadronicId(-3203);
|
|---|
| 169 | PHYSICS->mcConfig().AddHadronicId(-3201);
|
|---|
| 170 | PHYSICS->mcConfig().AddHadronicId(-3122);
|
|---|
| 171 | PHYSICS->mcConfig().AddHadronicId(-3114);
|
|---|
| 172 | PHYSICS->mcConfig().AddHadronicId(-3112);
|
|---|
| 173 | PHYSICS->mcConfig().AddHadronicId(-3103);
|
|---|
| 174 | PHYSICS->mcConfig().AddHadronicId(-3101);
|
|---|
| 175 | PHYSICS->mcConfig().AddHadronicId(-2224);
|
|---|
| 176 | PHYSICS->mcConfig().AddHadronicId(-2214);
|
|---|
| 177 | PHYSICS->mcConfig().AddHadronicId(-2212);
|
|---|
| 178 | PHYSICS->mcConfig().AddHadronicId(-2203);
|
|---|
| 179 | PHYSICS->mcConfig().AddHadronicId(-2114);
|
|---|
| 180 | PHYSICS->mcConfig().AddHadronicId(-2112);
|
|---|
| 181 | PHYSICS->mcConfig().AddHadronicId(-2103);
|
|---|
| 182 | PHYSICS->mcConfig().AddHadronicId(-2101);
|
|---|
| 183 | PHYSICS->mcConfig().AddHadronicId(-1114);
|
|---|
| 184 | PHYSICS->mcConfig().AddHadronicId(-1103);
|
|---|
| 185 | PHYSICS->mcConfig().AddHadronicId(-545);
|
|---|
| 186 | PHYSICS->mcConfig().AddHadronicId(-543);
|
|---|
| 187 | PHYSICS->mcConfig().AddHadronicId(-541);
|
|---|
| 188 | PHYSICS->mcConfig().AddHadronicId(-535);
|
|---|
| 189 | PHYSICS->mcConfig().AddHadronicId(-533);
|
|---|
| 190 | PHYSICS->mcConfig().AddHadronicId(-531);
|
|---|
| 191 | PHYSICS->mcConfig().AddHadronicId(-525);
|
|---|
| 192 | PHYSICS->mcConfig().AddHadronicId(-523);
|
|---|
| 193 | PHYSICS->mcConfig().AddHadronicId(-521);
|
|---|
| 194 | PHYSICS->mcConfig().AddHadronicId(-515);
|
|---|
| 195 | PHYSICS->mcConfig().AddHadronicId(-513);
|
|---|
| 196 | PHYSICS->mcConfig().AddHadronicId(-511);
|
|---|
| 197 | PHYSICS->mcConfig().AddHadronicId(-435);
|
|---|
| 198 | PHYSICS->mcConfig().AddHadronicId(-433);
|
|---|
| 199 | PHYSICS->mcConfig().AddHadronicId(-431);
|
|---|
| 200 | PHYSICS->mcConfig().AddHadronicId(-425);
|
|---|
| 201 | PHYSICS->mcConfig().AddHadronicId(-423);
|
|---|
| 202 | PHYSICS->mcConfig().AddHadronicId(-421);
|
|---|
| 203 | PHYSICS->mcConfig().AddHadronicId(-415);
|
|---|
| 204 | PHYSICS->mcConfig().AddHadronicId(-413);
|
|---|
| 205 | PHYSICS->mcConfig().AddHadronicId(-411);
|
|---|
| 206 | PHYSICS->mcConfig().AddHadronicId(-325);
|
|---|
| 207 | PHYSICS->mcConfig().AddHadronicId(-323);
|
|---|
| 208 | PHYSICS->mcConfig().AddHadronicId(-321);
|
|---|
| 209 | PHYSICS->mcConfig().AddHadronicId(-315);
|
|---|
| 210 | PHYSICS->mcConfig().AddHadronicId(-313);
|
|---|
| 211 | PHYSICS->mcConfig().AddHadronicId(-311);
|
|---|
| 212 | PHYSICS->mcConfig().AddHadronicId(-215);
|
|---|
| 213 | PHYSICS->mcConfig().AddHadronicId(-213);
|
|---|
| 214 | PHYSICS->mcConfig().AddHadronicId(-211);
|
|---|
| 215 | PHYSICS->mcConfig().AddHadronicId(111);
|
|---|
| 216 | PHYSICS->mcConfig().AddHadronicId(113);
|
|---|
| 217 | PHYSICS->mcConfig().AddHadronicId(115);
|
|---|
| 218 | PHYSICS->mcConfig().AddHadronicId(130);
|
|---|
| 219 | PHYSICS->mcConfig().AddHadronicId(211);
|
|---|
| 220 | PHYSICS->mcConfig().AddHadronicId(213);
|
|---|
| 221 | PHYSICS->mcConfig().AddHadronicId(215);
|
|---|
| 222 | PHYSICS->mcConfig().AddHadronicId(221);
|
|---|
| 223 | PHYSICS->mcConfig().AddHadronicId(223);
|
|---|
| 224 | PHYSICS->mcConfig().AddHadronicId(225);
|
|---|
| 225 | PHYSICS->mcConfig().AddHadronicId(310);
|
|---|
| 226 | PHYSICS->mcConfig().AddHadronicId(311);
|
|---|
| 227 | PHYSICS->mcConfig().AddHadronicId(313);
|
|---|
| 228 | PHYSICS->mcConfig().AddHadronicId(315);
|
|---|
| 229 | PHYSICS->mcConfig().AddHadronicId(321);
|
|---|
| 230 | PHYSICS->mcConfig().AddHadronicId(323);
|
|---|
| 231 | PHYSICS->mcConfig().AddHadronicId(325);
|
|---|
| 232 | PHYSICS->mcConfig().AddHadronicId(331);
|
|---|
| 233 | PHYSICS->mcConfig().AddHadronicId(333);
|
|---|
| 234 | PHYSICS->mcConfig().AddHadronicId(335);
|
|---|
| 235 | PHYSICS->mcConfig().AddHadronicId(411);
|
|---|
| 236 | PHYSICS->mcConfig().AddHadronicId(413);
|
|---|
| 237 | PHYSICS->mcConfig().AddHadronicId(415);
|
|---|
| 238 | PHYSICS->mcConfig().AddHadronicId(421);
|
|---|
| 239 | PHYSICS->mcConfig().AddHadronicId(423);
|
|---|
| 240 | PHYSICS->mcConfig().AddHadronicId(425);
|
|---|
| 241 | PHYSICS->mcConfig().AddHadronicId(431);
|
|---|
| 242 | PHYSICS->mcConfig().AddHadronicId(433);
|
|---|
| 243 | PHYSICS->mcConfig().AddHadronicId(435);
|
|---|
| 244 | PHYSICS->mcConfig().AddHadronicId(441);
|
|---|
| 245 | PHYSICS->mcConfig().AddHadronicId(443);
|
|---|
| 246 | PHYSICS->mcConfig().AddHadronicId(445);
|
|---|
| 247 | PHYSICS->mcConfig().AddHadronicId(511);
|
|---|
| 248 | PHYSICS->mcConfig().AddHadronicId(513);
|
|---|
| 249 | PHYSICS->mcConfig().AddHadronicId(515);
|
|---|
| 250 | PHYSICS->mcConfig().AddHadronicId(521);
|
|---|
| 251 | PHYSICS->mcConfig().AddHadronicId(523);
|
|---|
| 252 | PHYSICS->mcConfig().AddHadronicId(525);
|
|---|
| 253 | PHYSICS->mcConfig().AddHadronicId(531);
|
|---|
| 254 | PHYSICS->mcConfig().AddHadronicId(533);
|
|---|
| 255 | PHYSICS->mcConfig().AddHadronicId(535);
|
|---|
| 256 | PHYSICS->mcConfig().AddHadronicId(541);
|
|---|
| 257 | PHYSICS->mcConfig().AddHadronicId(543);
|
|---|
| 258 | PHYSICS->mcConfig().AddHadronicId(545);
|
|---|
| 259 | PHYSICS->mcConfig().AddHadronicId(551);
|
|---|
| 260 | PHYSICS->mcConfig().AddHadronicId(553);
|
|---|
| 261 | PHYSICS->mcConfig().AddHadronicId(555);
|
|---|
| 262 | PHYSICS->mcConfig().AddHadronicId(1103);
|
|---|
| 263 | PHYSICS->mcConfig().AddHadronicId(1114);
|
|---|
| 264 | PHYSICS->mcConfig().AddHadronicId(2101);
|
|---|
| 265 | PHYSICS->mcConfig().AddHadronicId(2103);
|
|---|
| 266 | PHYSICS->mcConfig().AddHadronicId(2112);
|
|---|
| 267 | PHYSICS->mcConfig().AddHadronicId(2114);
|
|---|
| 268 | PHYSICS->mcConfig().AddHadronicId(2203);
|
|---|
| 269 | PHYSICS->mcConfig().AddHadronicId(2212);
|
|---|
| 270 | PHYSICS->mcConfig().AddHadronicId(2214);
|
|---|
| 271 | PHYSICS->mcConfig().AddHadronicId(2224);
|
|---|
| 272 | PHYSICS->mcConfig().AddHadronicId(3101);
|
|---|
| 273 | PHYSICS->mcConfig().AddHadronicId(3103);
|
|---|
| 274 | PHYSICS->mcConfig().AddHadronicId(3112);
|
|---|
| 275 | PHYSICS->mcConfig().AddHadronicId(3114);
|
|---|
| 276 | PHYSICS->mcConfig().AddHadronicId(3122);
|
|---|
| 277 | PHYSICS->mcConfig().AddHadronicId(3201);
|
|---|
| 278 | PHYSICS->mcConfig().AddHadronicId(3203);
|
|---|
| 279 | PHYSICS->mcConfig().AddHadronicId(3212);
|
|---|
| 280 | PHYSICS->mcConfig().AddHadronicId(3214);
|
|---|
| 281 | PHYSICS->mcConfig().AddHadronicId(3222);
|
|---|
| 282 | PHYSICS->mcConfig().AddHadronicId(3224);
|
|---|
| 283 | PHYSICS->mcConfig().AddHadronicId(3303);
|
|---|
| 284 | PHYSICS->mcConfig().AddHadronicId(3312);
|
|---|
| 285 | PHYSICS->mcConfig().AddHadronicId(3314);
|
|---|
| 286 | PHYSICS->mcConfig().AddHadronicId(3322);
|
|---|
| 287 | PHYSICS->mcConfig().AddHadronicId(3324);
|
|---|
| 288 | PHYSICS->mcConfig().AddHadronicId(3334);
|
|---|
| 289 | PHYSICS->mcConfig().AddHadronicId(4101);
|
|---|
| 290 | PHYSICS->mcConfig().AddHadronicId(4103);
|
|---|
| 291 | PHYSICS->mcConfig().AddHadronicId(4112);
|
|---|
| 292 | PHYSICS->mcConfig().AddHadronicId(4114);
|
|---|
| 293 | PHYSICS->mcConfig().AddHadronicId(4122);
|
|---|
| 294 | PHYSICS->mcConfig().AddHadronicId(4132);
|
|---|
| 295 | PHYSICS->mcConfig().AddHadronicId(4201);
|
|---|
| 296 | PHYSICS->mcConfig().AddHadronicId(4203);
|
|---|
| 297 | PHYSICS->mcConfig().AddHadronicId(4212);
|
|---|
| 298 | PHYSICS->mcConfig().AddHadronicId(4214);
|
|---|
| 299 | PHYSICS->mcConfig().AddHadronicId(4222);
|
|---|
| 300 | PHYSICS->mcConfig().AddHadronicId(4224);
|
|---|
| 301 | PHYSICS->mcConfig().AddHadronicId(4232);
|
|---|
| 302 | PHYSICS->mcConfig().AddHadronicId(4301);
|
|---|
| 303 | PHYSICS->mcConfig().AddHadronicId(4303);
|
|---|
| 304 | PHYSICS->mcConfig().AddHadronicId(4312);
|
|---|
| 305 | PHYSICS->mcConfig().AddHadronicId(4314);
|
|---|
| 306 | PHYSICS->mcConfig().AddHadronicId(4322);
|
|---|
| 307 | PHYSICS->mcConfig().AddHadronicId(4324);
|
|---|
| 308 | PHYSICS->mcConfig().AddHadronicId(4332);
|
|---|
| 309 | PHYSICS->mcConfig().AddHadronicId(4334);
|
|---|
| 310 | PHYSICS->mcConfig().AddHadronicId(4403);
|
|---|
| 311 | PHYSICS->mcConfig().AddHadronicId(4412);
|
|---|
| 312 | PHYSICS->mcConfig().AddHadronicId(4414);
|
|---|
| 313 | PHYSICS->mcConfig().AddHadronicId(4422);
|
|---|
| 314 | PHYSICS->mcConfig().AddHadronicId(4424);
|
|---|
| 315 | PHYSICS->mcConfig().AddHadronicId(4432);
|
|---|
| 316 | PHYSICS->mcConfig().AddHadronicId(4434);
|
|---|
| 317 | PHYSICS->mcConfig().AddHadronicId(4444);
|
|---|
| 318 | PHYSICS->mcConfig().AddHadronicId(5101);
|
|---|
| 319 | PHYSICS->mcConfig().AddHadronicId(5103);
|
|---|
| 320 | PHYSICS->mcConfig().AddHadronicId(5112);
|
|---|
| 321 | PHYSICS->mcConfig().AddHadronicId(5114);
|
|---|
| 322 | PHYSICS->mcConfig().AddHadronicId(5122);
|
|---|
| 323 | PHYSICS->mcConfig().AddHadronicId(5132);
|
|---|
| 324 | PHYSICS->mcConfig().AddHadronicId(5142);
|
|---|
| 325 | PHYSICS->mcConfig().AddHadronicId(5201);
|
|---|
| 326 | PHYSICS->mcConfig().AddHadronicId(5203);
|
|---|
| 327 | PHYSICS->mcConfig().AddHadronicId(5212);
|
|---|
| 328 | PHYSICS->mcConfig().AddHadronicId(5214);
|
|---|
| 329 | PHYSICS->mcConfig().AddHadronicId(5222);
|
|---|
| 330 | PHYSICS->mcConfig().AddHadronicId(5224);
|
|---|
| 331 | PHYSICS->mcConfig().AddHadronicId(5232);
|
|---|
| 332 | PHYSICS->mcConfig().AddHadronicId(5242);
|
|---|
| 333 | PHYSICS->mcConfig().AddHadronicId(5301);
|
|---|
| 334 | PHYSICS->mcConfig().AddHadronicId(5303);
|
|---|
| 335 | PHYSICS->mcConfig().AddHadronicId(5312);
|
|---|
| 336 | PHYSICS->mcConfig().AddHadronicId(5314);
|
|---|
| 337 | PHYSICS->mcConfig().AddHadronicId(5322);
|
|---|
| 338 | PHYSICS->mcConfig().AddHadronicId(5324);
|
|---|
| 339 | PHYSICS->mcConfig().AddHadronicId(5332);
|
|---|
| 340 | PHYSICS->mcConfig().AddHadronicId(5334);
|
|---|
| 341 | PHYSICS->mcConfig().AddHadronicId(5342);
|
|---|
| 342 | PHYSICS->mcConfig().AddHadronicId(5401);
|
|---|
| 343 | PHYSICS->mcConfig().AddHadronicId(5403);
|
|---|
| 344 | PHYSICS->mcConfig().AddHadronicId(5412);
|
|---|
| 345 | PHYSICS->mcConfig().AddHadronicId(5414);
|
|---|
| 346 | PHYSICS->mcConfig().AddHadronicId(5422);
|
|---|
| 347 | PHYSICS->mcConfig().AddHadronicId(5424);
|
|---|
| 348 | PHYSICS->mcConfig().AddHadronicId(5432);
|
|---|
| 349 | PHYSICS->mcConfig().AddHadronicId(5434);
|
|---|
| 350 | PHYSICS->mcConfig().AddHadronicId(5442);
|
|---|
| 351 | PHYSICS->mcConfig().AddHadronicId(5444);
|
|---|
| 352 | PHYSICS->mcConfig().AddHadronicId(5503);
|
|---|
| 353 | PHYSICS->mcConfig().AddHadronicId(5512);
|
|---|
| 354 | PHYSICS->mcConfig().AddHadronicId(5514);
|
|---|
| 355 | PHYSICS->mcConfig().AddHadronicId(5522);
|
|---|
| 356 | PHYSICS->mcConfig().AddHadronicId(5524);
|
|---|
| 357 | PHYSICS->mcConfig().AddHadronicId(5532);
|
|---|
| 358 | PHYSICS->mcConfig().AddHadronicId(5534);
|
|---|
| 359 | PHYSICS->mcConfig().AddHadronicId(5542);
|
|---|
| 360 | PHYSICS->mcConfig().AddHadronicId(5544);
|
|---|
| 361 | PHYSICS->mcConfig().AddHadronicId(5554);
|
|---|
| 362 | PHYSICS->mcConfig().AddHadronicId(10111);
|
|---|
| 363 | PHYSICS->mcConfig().AddHadronicId(10113);
|
|---|
| 364 | PHYSICS->mcConfig().AddHadronicId(10211);
|
|---|
| 365 | PHYSICS->mcConfig().AddHadronicId(10213);
|
|---|
| 366 | PHYSICS->mcConfig().AddHadronicId(10221);
|
|---|
| 367 | PHYSICS->mcConfig().AddHadronicId(10223);
|
|---|
| 368 | PHYSICS->mcConfig().AddHadronicId(10311);
|
|---|
| 369 | PHYSICS->mcConfig().AddHadronicId(10313);
|
|---|
| 370 | PHYSICS->mcConfig().AddHadronicId(10321);
|
|---|
| 371 | PHYSICS->mcConfig().AddHadronicId(10323);
|
|---|
| 372 | PHYSICS->mcConfig().AddHadronicId(10331);
|
|---|
| 373 | PHYSICS->mcConfig().AddHadronicId(10333);
|
|---|
| 374 | PHYSICS->mcConfig().AddHadronicId(10411);
|
|---|
| 375 | PHYSICS->mcConfig().AddHadronicId(10413);
|
|---|
| 376 | PHYSICS->mcConfig().AddHadronicId(10421);
|
|---|
| 377 | PHYSICS->mcConfig().AddHadronicId(10423);
|
|---|
| 378 | PHYSICS->mcConfig().AddHadronicId(10431);
|
|---|
| 379 | PHYSICS->mcConfig().AddHadronicId(10433);
|
|---|
| 380 | PHYSICS->mcConfig().AddHadronicId(10441);
|
|---|
| 381 | PHYSICS->mcConfig().AddHadronicId(10443);
|
|---|
| 382 | PHYSICS->mcConfig().AddHadronicId(10511);
|
|---|
| 383 | PHYSICS->mcConfig().AddHadronicId(10513);
|
|---|
| 384 | PHYSICS->mcConfig().AddHadronicId(10521);
|
|---|
| 385 | PHYSICS->mcConfig().AddHadronicId(10523);
|
|---|
| 386 | PHYSICS->mcConfig().AddHadronicId(10531);
|
|---|
| 387 | PHYSICS->mcConfig().AddHadronicId(10533);
|
|---|
| 388 | PHYSICS->mcConfig().AddHadronicId(10541);
|
|---|
| 389 | PHYSICS->mcConfig().AddHadronicId(10543);
|
|---|
| 390 | PHYSICS->mcConfig().AddHadronicId(10551);
|
|---|
| 391 | PHYSICS->mcConfig().AddHadronicId(10553);
|
|---|
| 392 | PHYSICS->mcConfig().AddHadronicId(20113);
|
|---|
| 393 | PHYSICS->mcConfig().AddHadronicId(20213);
|
|---|
| 394 | PHYSICS->mcConfig().AddHadronicId(20223);
|
|---|
| 395 | PHYSICS->mcConfig().AddHadronicId(20313);
|
|---|
| 396 | PHYSICS->mcConfig().AddHadronicId(20323);
|
|---|
| 397 | PHYSICS->mcConfig().AddHadronicId(20333);
|
|---|
| 398 | PHYSICS->mcConfig().AddHadronicId(20413);
|
|---|
| 399 | PHYSICS->mcConfig().AddHadronicId(20423);
|
|---|
| 400 | PHYSICS->mcConfig().AddHadronicId(20433);
|
|---|
| 401 | PHYSICS->mcConfig().AddHadronicId(20443);
|
|---|
| 402 | PHYSICS->mcConfig().AddHadronicId(20513);
|
|---|
| 403 | PHYSICS->mcConfig().AddHadronicId(20523);
|
|---|
| 404 | PHYSICS->mcConfig().AddHadronicId(20533);
|
|---|
| 405 | PHYSICS->mcConfig().AddHadronicId(20543);
|
|---|
| 406 | PHYSICS->mcConfig().AddHadronicId(20553);
|
|---|
| 407 | PHYSICS->mcConfig().AddHadronicId(100443);
|
|---|
| 408 | PHYSICS->mcConfig().AddHadronicId(100553);
|
|---|
| 409 | PHYSICS->mcConfig().AddHadronicId(9900440);
|
|---|
| 410 | PHYSICS->mcConfig().AddHadronicId(9900441);
|
|---|
| 411 | PHYSICS->mcConfig().AddHadronicId(9900443);
|
|---|
| 412 | PHYSICS->mcConfig().AddHadronicId(9900551);
|
|---|
| 413 | PHYSICS->mcConfig().AddHadronicId(9900553);
|
|---|
| 414 | PHYSICS->mcConfig().AddHadronicId(9910441);
|
|---|
| 415 | PHYSICS->mcConfig().AddHadronicId(9910551);
|
|---|
| 416 |
|
|---|
| 417 | // definition of the multiparticle "invisible"
|
|---|
| 418 | PHYSICS->mcConfig().AddInvisibleId(-16);
|
|---|
| 419 | PHYSICS->mcConfig().AddInvisibleId(-14);
|
|---|
| 420 | PHYSICS->mcConfig().AddInvisibleId(-12);
|
|---|
| 421 | PHYSICS->mcConfig().AddInvisibleId(12);
|
|---|
| 422 | PHYSICS->mcConfig().AddInvisibleId(14);
|
|---|
| 423 | PHYSICS->mcConfig().AddInvisibleId(16);
|
|---|
| 424 | PHYSICS->mcConfig().AddInvisibleId(1000022);
|
|---|
| 425 | PHYSICS->mcConfig().AddInvisibleId(1000039);
|
|---|
| 426 |
|
|---|
| 427 | // Initializing PhysicsService for RECO
|
|---|
| 428 | PHYSICS->recConfig().Reset();
|
|---|
| 429 |
|
|---|
| 430 |
|
|---|
| 431 | // Definition of the Signal Regions (SRs) of the analysis
|
|---|
| 432 |
|
|---|
| 433 | Manager()->AddRegionSelection("SR2j_1600");
|
|---|
| 434 | Manager()->AddRegionSelection("SR2j_2200");
|
|---|
| 435 | Manager()->AddRegionSelection("SR2j_2800");
|
|---|
| 436 |
|
|---|
| 437 | Manager()->AddRegionSelection("SR4j_1000");
|
|---|
| 438 | Manager()->AddRegionSelection("SR4j_2200");
|
|---|
| 439 | Manager()->AddRegionSelection("SR4j_3400");
|
|---|
| 440 |
|
|---|
| 441 | Manager()->AddRegionSelection("SR5j_1600");
|
|---|
| 442 |
|
|---|
| 443 | Manager()->AddRegionSelection("SR6j_1000");
|
|---|
| 444 | Manager()->AddRegionSelection("SR6j_2200");
|
|---|
| 445 | Manager()->AddRegionSelection("SR6j_3400");
|
|---|
| 446 |
|
|---|
| 447 |
|
|---|
| 448 | // *** Definition of the prelesection cuts, common to all SRs
|
|---|
| 449 | Manager()->AddCut("Preselection");
|
|---|
| 450 | Manager()->AddCut("njets>=2");
|
|---|
| 451 |
|
|---|
| 452 | // *** Jets multiplicity
|
|---|
| 453 | std::string njets04[] = {"SR4j_1000","SR4j_2200","SR4j_3400"};
|
|---|
| 454 | Manager()->AddCut("njets>=4" , njets04);
|
|---|
| 455 |
|
|---|
| 456 | std::string njets05[] = {"SR5j_1600"};
|
|---|
| 457 | Manager()->AddCut("njets>=5" , njets05);
|
|---|
| 458 |
|
|---|
| 459 | std::string njets06[] = {"SR6j_1000","SR6j_2200","SR6j_3400" };
|
|---|
| 460 | Manager()->AddCut("njets>=6" , njets06);
|
|---|
| 461 |
|
|---|
| 462 |
|
|---|
| 463 | // Definition of the SR specific cuts
|
|---|
| 464 |
|
|---|
| 465 | // *** Delta phi of the first 3 leading jets
|
|---|
| 466 | std::string DPhi3jets04[] = {"SR2j_2200", "SR4j_1000","SR4j_2200","SR4j_3400" , "SR5j_1600" , "SR6j_1000", "SR6j_2200", "SR6j_3400"};
|
|---|
| 467 | Manager()->AddCut("DPhi(jet1,2,(3),ptmiss)>04", DPhi3jets04 );
|
|---|
| 468 |
|
|---|
| 469 | std::string DPhi3jets08[] = {"SR2j_1600","SR2j_2800"};
|
|---|
| 470 | Manager()->AddCut("DPhi(jet1,2,(3),ptmiss)>08", DPhi3jets08);
|
|---|
| 471 |
|
|---|
| 472 |
|
|---|
| 473 | // *** Delta phi of the remaining jets
|
|---|
| 474 | std::string DPhirest02[] = {"SR2j_2200","SR4j_1000","SR4j_2200","SR4j_3400", "SR5j_1600","SR6j_1000","SR6j_2200","SR6j_3400"};
|
|---|
| 475 | Manager()->AddCut("Dphi(ptmiss,j>3)>02" , DPhirest02);
|
|---|
| 476 |
|
|---|
| 477 | std::string DPhirest04[] = {"SR2j_1600", "SR2j_2800" };
|
|---|
| 478 | Manager()->AddCut("Dphi(ptmiss,j>3)>04", DPhirest04);
|
|---|
| 479 |
|
|---|
| 480 |
|
|---|
| 481 | // *** pt of a specific jet
|
|---|
| 482 | std::string jet1pt600[] = {"SR2j_2200","SR5j_1600"};
|
|---|
| 483 | Manager()->AddCut("jet1pt>600" , jet1pt600);
|
|---|
| 484 |
|
|---|
| 485 | std::string jet2pt250[] = {"SR2j_1600" , "SR2j_2800"};
|
|---|
| 486 | Manager()->AddCut("jet2pt>250" , jet2pt250);
|
|---|
| 487 |
|
|---|
| 488 | std::string jet4pt100[] = {"SR4j_1000","SR4j_2200","SR4j_3400"};
|
|---|
| 489 | Manager()->AddCut("jet4pt>100" , jet4pt100);
|
|---|
| 490 |
|
|---|
| 491 | std::string jet6pt75[] = {"SR6j_1000","SR6j_2200","SR6j_3400"};
|
|---|
| 492 | Manager()->AddCut("jet6pt>75" , jet6pt75);
|
|---|
| 493 |
|
|---|
| 494 |
|
|---|
| 495 | // *** Eta of the jets
|
|---|
| 496 | Manager()->AddCut("j2eta<12" , "SR2j_2800");
|
|---|
| 497 | Manager()->AddCut("j2eta<20" , "SR2j_1600");
|
|---|
| 498 | Manager()->AddCut("j2eta<28" , "SR2j_2200");
|
|---|
| 499 |
|
|---|
| 500 | std::string jet4eta20[] = {"SR4j_1000","SR4j_2200","SR4j_3400"};
|
|---|
| 501 | Manager()->AddCut("j4eta<20" , jet4eta20);
|
|---|
| 502 |
|
|---|
| 503 | Manager()->AddCut("j5eta<28" , "SR5j_1600");
|
|---|
| 504 |
|
|---|
| 505 | std::string jet6eta20[] = {"SR6j_1000","SR6j_2200","SR6j_3400"};
|
|---|
| 506 | Manager()->AddCut("j6eta<20" , jet6eta20);
|
|---|
| 507 |
|
|---|
| 508 |
|
|---|
| 509 | // *** Aplanarity
|
|---|
| 510 | std::string Aplanarity004[] = {"SR4j_1000","SR4j_2200","SR4j_3400"};
|
|---|
| 511 | Manager()->AddCut("Aplanarity>004", Aplanarity004);
|
|---|
| 512 |
|
|---|
| 513 | std::string Aplanarity008[] = {"SR6j_1000", "SR6j_2200","SR6j_3400"};
|
|---|
| 514 | Manager()->AddCut("Aplanarity>008", Aplanarity008);
|
|---|
| 515 |
|
|---|
| 516 |
|
|---|
| 517 | // specific cuts on MET over sqrt(HT)
|
|---|
| 518 | std::string MET_HT_16[] = {"SR2j_2200", "SR2j_1600","SR2j_2800", "SR4j_1000","SR4j_2200", "SR6j_1000", "SR6j_2200", "SR5j_1600"};
|
|---|
| 519 | Manager()->AddCut("MET_HT>16" , MET_HT_16 );
|
|---|
| 520 |
|
|---|
| 521 | std::string MET_HT_10[] = {"SR4j_3400" , "SR6j_3400"};
|
|---|
| 522 | Manager()->AddCut("MET_HT>10" , MET_HT_10);
|
|---|
| 523 |
|
|---|
| 524 |
|
|---|
| 525 |
|
|---|
| 526 |
|
|---|
| 527 |
|
|---|
| 528 | // specific cuts on Meff
|
|---|
| 529 | std::string Meff_1000[] = {"SR4j_1000" , "SR6j_1000"};
|
|---|
| 530 | Manager()->AddCut("Meff>1000", Meff_1000);
|
|---|
| 531 |
|
|---|
| 532 | std::string Meff_1600[] = {"SR2j_1600" , "SR5j_1600"};
|
|---|
| 533 | Manager()->AddCut("Meff>1600", Meff_1600);
|
|---|
| 534 |
|
|---|
| 535 | std::string Meff_2200[] = {"SR2j_2200" , "SR4j_2200", "SR6j_2200" };
|
|---|
| 536 | Manager()->AddCut("Meff>2200", Meff_2200);
|
|---|
| 537 |
|
|---|
| 538 | std::string Meff_2800[] = {"SR2j_2800"};
|
|---|
| 539 | Manager()->AddCut("Meff>2800", Meff_2800);
|
|---|
| 540 |
|
|---|
| 541 | std::string Meff_3400[] = {"SR4j_3400", "SR6j_3400"};
|
|---|
| 542 | Manager()->AddCut("Meff>3400", Meff_3400);
|
|---|
| 543 |
|
|---|
| 544 | return true;
|
|---|
| 545 |
|
|---|
| 546 | }
|
|---|
| 547 |
|
|---|
| 548 |
|
|---|
| 549 |
|
|---|
| 550 | // -----------------------------------------------------------------------------
|
|---|
| 551 | // Finalize
|
|---|
| 552 | // function called one time at the end of the analysis
|
|---|
| 553 | // -----------------------------------------------------------------------------
|
|---|
| 554 | void sfs_atlas_conf_2019_040::Finalize(const SampleFormat& summary, const std::vector<SampleFormat>& files)
|
|---|
| 555 | {}
|
|---|
| 556 |
|
|---|
| 557 | // -----------------------------------------------------------------------------
|
|---|
| 558 | // Execute
|
|---|
| 559 | // function called each time one event is read
|
|---|
| 560 | // -----------------------------------------------------------------------------
|
|---|
| 561 | bool sfs_atlas_conf_2019_040::Execute(SampleFormat& sample, const EventFormat& event)
|
|---|
| 562 | {
|
|---|
| 563 |
|
|---|
| 564 | if (event.rec()!=0)
|
|---|
| 565 | {
|
|---|
| 566 |
|
|---|
| 567 |
|
|---|
| 568 | double myEventWeight;
|
|---|
| 569 | if(Configuration().IsNoEventWeight()) myEventWeight=1.;
|
|---|
| 570 | else if(event.mc()->weight()!=0.) myEventWeight=event.mc()->weight();
|
|---|
| 571 | else
|
|---|
| 572 | { //WARNING << "Found one event with a zero weight. Skipping..." << endmsg;
|
|---|
| 573 | return false; }
|
|---|
| 574 |
|
|---|
| 575 | Manager()->InitializeForNewEvent(myEventWeight);
|
|---|
| 576 | vector<const RecLeptonFormat*> electrons, muons ; // isolated electrons and muons (probably non isolated are not necessary...)
|
|---|
| 577 | vector<const RecJetFormat*> signalJets ; // jets
|
|---|
| 578 |
|
|---|
| 579 | // Selecting Jets
|
|---|
| 580 | double jetpt = 50;
|
|---|
| 581 | double jeteta = 2.8 ;
|
|---|
| 582 |
|
|---|
| 583 | for(unsigned int i=0; i<event.rec()->jets().size(); i++)
|
|---|
| 584 | { const RecJetFormat *thisJet= &(event.rec()->jets()[i]);
|
|---|
| 585 | double pT = thisJet->momentum().Pt() , eta = thisJet->eta() ;
|
|---|
| 586 | if (pT > jetpt and fabs(eta) < jeteta )
|
|---|
| 587 | { signalJets.push_back(thisJet); }
|
|---|
| 588 | }
|
|---|
| 589 |
|
|---|
| 590 |
|
|---|
| 591 | SORTER->sort(signalJets);
|
|---|
| 592 |
|
|---|
| 593 |
|
|---|
| 594 | // Selecting leptons (veto on leptons, with different eta requirements for muons and electrons)
|
|---|
| 595 | double muonpt = 6.0;
|
|---|
| 596 | double muoneta = 2.8;
|
|---|
| 597 | double electronpt = 7.0;
|
|---|
| 598 | double electroneta = 2.47 ;
|
|---|
| 599 |
|
|---|
| 600 | // Muons
|
|---|
| 601 | for(unsigned int i=0; i<event.rec()->muons().size(); i++)
|
|---|
| 602 | { const RecLeptonFormat *thisMuon = &(event.rec()->muons()[i]);
|
|---|
| 603 | double pt = thisMuon->pt() , eta = thisMuon->momentum().Eta() ;
|
|---|
| 604 | if ( pt > muonpt and fabs(eta) < muoneta) {
|
|---|
| 605 | muons.push_back(thisMuon); }
|
|---|
| 606 | }
|
|---|
| 607 |
|
|---|
| 608 | // Electrons
|
|---|
| 609 | for(unsigned int i=0; i<event.rec()->electrons().size(); i++)
|
|---|
| 610 | { const RecLeptonFormat *thisElectron = &(event.rec()->electrons()[i]);
|
|---|
| 611 | double pt = thisElectron->pt() , eta = thisElectron->momentum().Eta() ;
|
|---|
| 612 | if (pt> electronpt and fabs(eta) < electroneta ) {
|
|---|
| 613 | electrons.push_back(thisElectron); }
|
|---|
| 614 | }
|
|---|
| 615 |
|
|---|
| 616 | // Overlap removal
|
|---|
| 617 | signalJets = Removal(signalJets, electrons, 0.2);
|
|---|
| 618 | electrons = Removal(electrons, signalJets, 0.4);
|
|---|
| 619 | muons = Removal(muons, signalJets, 0.4);
|
|---|
| 620 |
|
|---|
| 621 |
|
|---|
| 622 | // Definition of HT
|
|---|
| 623 | double HT = 0;
|
|---|
| 624 | for(unsigned int j = 0; j < signalJets.size(); j++)
|
|---|
| 625 | { HT += signalJets[j]->momentum().Pt(); }
|
|---|
| 626 |
|
|---|
| 627 | // Definition of MET
|
|---|
| 628 | MALorentzVector pTmiss = event.rec()->MET().momentum();
|
|---|
| 629 | double MET = pTmiss.Pt();
|
|---|
| 630 |
|
|---|
| 631 | // Definition of Meff
|
|---|
| 632 | double Meff = MET + HT ;
|
|---|
| 633 |
|
|---|
| 634 | // MET over sqrt(HT)
|
|---|
| 635 | double MET_HT = MET/sqrt(HT);
|
|---|
| 636 |
|
|---|
| 637 | //cout << Meff << "_" << MET_HT << "_" << MET << "_" << HT << endl;
|
|---|
| 638 | // Checking the preselection requirements
|
|---|
| 639 | // a. leading jet pt > 200 and 2nd jet pt > 50 GeV
|
|---|
| 640 |
|
|---|
| 641 | bool j1_pt=false;
|
|---|
| 642 | bool j2_pt=false;
|
|---|
| 643 | if (signalJets.size()>0)
|
|---|
| 644 | { j1_pt = signalJets[0]->pt()>200.0;
|
|---|
| 645 | }
|
|---|
| 646 | if (signalJets.size()>1)
|
|---|
| 647 | { j2_pt = signalJets[1]->pt()>50.0; }
|
|---|
| 648 |
|
|---|
| 649 | // b. lepton veto
|
|---|
| 650 | bool leptonVeto = ((electrons.size()+muons.size())==0);
|
|---|
| 651 |
|
|---|
| 652 | // c. Meff > 800 GeV
|
|---|
| 653 | bool Meff_pre = (Meff > 800.0);
|
|---|
| 654 | // d. MET > 300 GeV
|
|---|
| 655 | bool MET_pre = (MET > 300.0);
|
|---|
| 656 |
|
|---|
| 657 |
|
|---|
| 658 | if(!Manager()->ApplyCut(j1_pt && j2_pt && Meff_pre && leptonVeto && MET_pre, "Preselection")) return true;
|
|---|
| 659 |
|
|---|
| 660 | //cout << "jets pt=" << j1_pt << "," << j2_pt << "---" << "meff=" << " " << Meff_pre << " MET=" << MET_pre << " bool Deltaphi" << Dphi_3jets_MET << endl;
|
|---|
| 661 | if(!Manager()->ApplyCut( signalJets.size()>=2 , "njets>=2")) return true;
|
|---|
| 662 |
|
|---|
| 663 | // SR dependent cuts
|
|---|
| 664 | // Njets >= 4
|
|---|
| 665 | if(!Manager()->ApplyCut( signalJets.size()>=4, "njets>=4")) return true;
|
|---|
| 666 | // Njets >= 5
|
|---|
| 667 | if(!Manager()->ApplyCut( signalJets.size()>=5, "njets>=5")) return true;
|
|---|
| 668 | // Njets >= 6
|
|---|
| 669 | if(!Manager()->ApplyCut( signalJets.size()>=6, "njets>=6")) return true;
|
|---|
| 670 |
|
|---|
| 671 | // DPhi of the 3 leading pt jets
|
|---|
| 672 |
|
|---|
| 673 | bool Dphi_3jets_MET_04 = true;
|
|---|
| 674 | //if (signalJets.size()==1) { Dphi_3jets_MET_04 = ( signalJets[0]->dphi_0_pi(pTmiss) > 0.4 ); }
|
|---|
| 675 | if (signalJets.size()==2) { Dphi_3jets_MET_04 = ( signalJets[0]->dphi_0_pi(pTmiss) > 0.4 && signalJets[1]->dphi_0_pi(pTmiss) > 0.4 ); }
|
|---|
| 676 | if (signalJets.size()>=3) { Dphi_3jets_MET_04 = ( signalJets[0]->dphi_0_pi(pTmiss) > 0.4 && signalJets[1]->dphi_0_pi(pTmiss) > 0.4 && signalJets[2]->dphi_0_pi(pTmiss) > 0.4); }
|
|---|
| 677 |
|
|---|
| 678 |
|
|---|
| 679 | if(!Manager()->ApplyCut( Dphi_3jets_MET_04, "DPhi(jet1,2,(3),ptmiss)>04")) return true;
|
|---|
| 680 |
|
|---|
| 681 | bool Dphi_3jets_MET_08 = true;
|
|---|
| 682 | //if (signalJets.size()==1) { Dphi_3jets_MET_08 = ( signalJets[0]->dphi_0_pi(pTmiss) > 0.8 ); }
|
|---|
| 683 | if (signalJets.size()==2) { Dphi_3jets_MET_08 = ( signalJets[0]->dphi_0_pi(pTmiss) > 0.8 && signalJets[1]->dphi_0_pi(pTmiss) > 0.8 ); }
|
|---|
| 684 | if (signalJets.size()>=3) { Dphi_3jets_MET_08 = ( signalJets[0]->dphi_0_pi(pTmiss) > 0.8 && signalJets[1]->dphi_0_pi(pTmiss) > 0.8 && signalJets[2]->dphi_0_pi(pTmiss) > 0.8); }
|
|---|
| 685 |
|
|---|
| 686 | if(!Manager()->ApplyCut( Dphi_3jets_MET_08, "DPhi(jet1,2,(3),ptmiss)>08")) return true;
|
|---|
| 687 |
|
|---|
| 688 | // DPhi of the rest of the jets (from the 4th on)
|
|---|
| 689 | bool DPhiRest02 = true;
|
|---|
| 690 | bool DPhiRest04 = true;
|
|---|
| 691 |
|
|---|
| 692 | for(unsigned int j = 0; j < signalJets.size(); j++) {
|
|---|
| 693 | if (j > 2) {
|
|---|
| 694 | if (signalJets[j]->dphi_0_pi(pTmiss) < 0.2) {
|
|---|
| 695 | DPhiRest02 = false;
|
|---|
| 696 | }
|
|---|
| 697 | if (signalJets[j]->dphi_0_pi(pTmiss) < 0.4) {
|
|---|
| 698 | DPhiRest04 = false;
|
|---|
| 699 | }
|
|---|
| 700 | }
|
|---|
| 701 | }
|
|---|
| 702 |
|
|---|
| 703 | if(!Manager()->ApplyCut( DPhiRest02, "Dphi(ptmiss,j>3)>02")) return true;
|
|---|
| 704 | if(!Manager()->ApplyCut( DPhiRest04, "Dphi(ptmiss,j>3)>04")) return true;
|
|---|
| 705 |
|
|---|
| 706 | // Cut on specific jet pt
|
|---|
| 707 | bool jet1pt_600 = (signalJets[0]->pt() > 600.0);
|
|---|
| 708 | bool jet2pt_250 = (signalJets[1]->pt() > 250.0);
|
|---|
| 709 | bool jet4pt_100 = true;
|
|---|
| 710 | if (signalJets.size() >3) { jet4pt_100 = (signalJets[3]->pt() > 100.0);}
|
|---|
| 711 | bool jet6pt_75 = true;
|
|---|
| 712 | if (signalJets.size() >5) { jet6pt_75 = (signalJets[5]->pt() > 75.0);}
|
|---|
| 713 |
|
|---|
| 714 | if(!Manager()->ApplyCut( jet1pt_600, "jet1pt>600")) return true;
|
|---|
| 715 | if(!Manager()->ApplyCut( jet2pt_250, "jet2pt>250")) return true;
|
|---|
| 716 | if(!Manager()->ApplyCut( jet4pt_100, "jet4pt>100")) return true;
|
|---|
| 717 | if(!Manager()->ApplyCut( jet6pt_75, "jet6pt>75")) return true;
|
|---|
| 718 |
|
|---|
| 719 | // |eta| for the first n signal jets
|
|---|
| 720 | bool j2eta_20 = fabs(signalJets[0]->eta())<2.0 && fabs(signalJets[1]->eta())<2.0 ;
|
|---|
| 721 | bool j2eta_12 = fabs(signalJets[0]->eta())<1.2 && fabs(signalJets[1]->eta())<1.2 ;
|
|---|
| 722 | bool j2eta_28 = fabs(signalJets[0]->eta())<2.8 && fabs(signalJets[1]->eta())<2.8 ;
|
|---|
| 723 | bool j4eta = true;
|
|---|
| 724 | bool j5eta = true;
|
|---|
| 725 | bool j6eta = true;
|
|---|
| 726 |
|
|---|
| 727 | // jeta eta for SR4
|
|---|
| 728 | if ( signalJets.size() > 3 ) { j4eta = fabs(signalJets[0]->eta())<2.0 &&
|
|---|
| 729 | fabs(signalJets[1]->eta())<2.0 &&
|
|---|
| 730 | fabs(signalJets[2]->eta())<2.0 &&
|
|---|
| 731 | fabs(signalJets[3]->eta())<2.0 ; }
|
|---|
| 732 | // jeta eta for SR5
|
|---|
| 733 | if ( signalJets.size() > 4 ) { j5eta = fabs(signalJets[0]->eta())<2.8 &&
|
|---|
| 734 | fabs(signalJets[1]->eta())<2.8 &&
|
|---|
| 735 | fabs(signalJets[2]->eta())<2.8 &&
|
|---|
| 736 | fabs(signalJets[3]->eta())<2.8 &&
|
|---|
| 737 | fabs(signalJets[4]->eta())<2.8 ; }
|
|---|
| 738 | // jeta eta for SR6
|
|---|
| 739 | if ( signalJets.size() > 5 ) { j6eta = fabs(signalJets[0]->eta())<2.0 &&
|
|---|
| 740 | fabs(signalJets[1]->eta())<2.0 &&
|
|---|
| 741 | fabs(signalJets[2]->eta())<2.0 &&
|
|---|
| 742 | fabs(signalJets[3]->eta())<2.0 &&
|
|---|
| 743 | fabs(signalJets[4]->eta())<2.0 &&
|
|---|
| 744 | fabs(signalJets[5]->eta())<2.0 ; }
|
|---|
| 745 |
|
|---|
| 746 | if(!Manager()->ApplyCut( j2eta_12, "j2eta<12" )) return true;
|
|---|
| 747 | if(!Manager()->ApplyCut( j2eta_20, "j2eta<20" )) return true;
|
|---|
| 748 | if(!Manager()->ApplyCut( j2eta_28, "j2eta<28" )) return true;
|
|---|
| 749 | if(!Manager()->ApplyCut( j4eta, "j4eta<20" )) return true;
|
|---|
| 750 | if(!Manager()->ApplyCut( j5eta, "j5eta<28" )) return true;
|
|---|
| 751 | if(!Manager()->ApplyCut( j6eta, "j6eta<20" )) return true;
|
|---|
| 752 |
|
|---|
| 753 | // APLANARITY
|
|---|
| 754 | // Construction of the sphericity tensor, calculation of the aplanarity
|
|---|
| 755 | // using the Cardano algorithm
|
|---|
| 756 | // see http://inspirehep.net/record/1510490/files/atlas_1605_03814.cpp?version=1
|
|---|
| 757 | double S12=0., S31=0., S23=0., S11=0., S22=0., S33=0., Stot=0.;
|
|---|
| 758 | for (unsigned int i=0; i<signalJets.size(); i++)
|
|---|
| 759 | {
|
|---|
| 760 | S11+=signalJets[i]->px()*signalJets[i]->px();
|
|---|
| 761 | S12+=signalJets[i]->px()*signalJets[i]->py();
|
|---|
| 762 | S22+=signalJets[i]->py()*signalJets[i]->py();
|
|---|
| 763 | S23+=signalJets[i]->py()*signalJets[i]->pz();
|
|---|
| 764 | S31+=signalJets[i]->pz()*signalJets[i]->px();
|
|---|
| 765 | S33+=signalJets[i]->pz()*signalJets[i]->pz();
|
|---|
| 766 | Stot+=signalJets[i]->p()*signalJets[i]->p();
|
|---|
| 767 | }
|
|---|
| 768 | S11=S11/Stot; S12=S12/Stot; S22=S22/Stot; S23=S23/Stot; S31=S31/Stot; S33=S33/Stot;
|
|---|
| 769 | double Sii = S11+S22+S33;
|
|---|
| 770 | double C0 = S11*S23*S23 + S22*S31*S31 + S33*S12*S12 - S11*S22*S33 - 2.*S31*S12*S23;
|
|---|
| 771 | double C1 = S11*S22 + S22*S33 + S11*S33 - S12*S12 - S23*S23 - S31*S31;
|
|---|
| 772 | double P = Sii*Sii - 3.*C1;
|
|---|
| 773 | double Q = Sii*(P-1.5*C1) - 13.5*C0;
|
|---|
| 774 | double phi = atan2(sqrt(fabs(27.*(C1*C1/4.*(P-C1) + C0*(Q+6.75*C0)))),Q)/3.;
|
|---|
| 775 | double cth = sqrt(fabs(P))*cos(phi);
|
|---|
| 776 | double sth = sqrt(fabs(P))*sin(phi)/sqrt(3.);
|
|---|
| 777 | double a1 = (Sii-cth)/3.+sth;
|
|---|
| 778 | double a2 = (Sii-cth)/3.-sth;
|
|---|
| 779 | double a3 = (Sii-cth)/3.+cth;
|
|---|
| 780 | double lam3 = 1.5*std::min(std::min(a1,a2),a3);
|
|---|
| 781 |
|
|---|
| 782 |
|
|---|
| 783 | // Aplanarity cut
|
|---|
| 784 | if(!Manager()->ApplyCut(lam3>0.04,"Aplanarity>004")) return true;
|
|---|
| 785 | if(!Manager()->ApplyCut(lam3>0.08,"Aplanarity>008")) return true;
|
|---|
| 786 |
|
|---|
| 787 |
|
|---|
| 788 | // MET over sqrt(HT)
|
|---|
| 789 | if(!Manager()->ApplyCut(MET_HT>16,"MET_HT>16")) return true;
|
|---|
| 790 | if(!Manager()->ApplyCut(MET_HT>10,"MET_HT>10")) return true;
|
|---|
| 791 |
|
|---|
| 792 | // cout << Meff << "_" << MET_HT << "_" << MET << "_" << HT << endl;
|
|---|
| 793 |
|
|---|
| 794 | if(!Manager()->ApplyCut(Meff > 1000.0, "Meff>1000")) return true;
|
|---|
| 795 | if(!Manager()->ApplyCut(Meff > 1600.0, "Meff>1600")) return true;
|
|---|
| 796 | if(!Manager()->ApplyCut(Meff > 2200.0, "Meff>2200")) return true;
|
|---|
| 797 | if(!Manager()->ApplyCut(Meff > 2800.0, "Meff>2800")) return true;
|
|---|
| 798 | if(!Manager()->ApplyCut(Meff > 3400.0, "Meff>3400")) return true;
|
|---|
| 799 |
|
|---|
| 800 |
|
|---|
| 801 |
|
|---|
| 802 | return true;
|
|---|
| 803 |
|
|---|
| 804 | }
|
|---|
| 805 | return true;
|
|---|
| 806 | }
|
|---|
| 807 |
|
|---|
| 808 |
|
|---|
| 809 |
|
|---|