Rivet analyses referenceATLAS_2011_I8970021-lepton and 2-lepton search for first or second generation leptoquarksExperiment: ATLAS (LHC) Inspire ID: 897002 Status: OBSOLETE Authors:
Beam energies: (3500.0, 3500.0) GeV Run details:
Single and dilepton search for first and second generation scalar leptoquarks by ATLAS at 7 TeV. Event counts in four signal regions (single lepton and dilepton for first and second generation) are implemented as one-bin histograms. Histograms for event transverse energy are implemented for dilepton signal regions and histograms for leptoquark mass are implemented for single lepton signal regions. Histograms for observables in six control regions are implemented. Source code: ATLAS_2011_I897002.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4#include "Rivet/Projections/ChargedFinalState.hh"
5#include "Rivet/Projections/VisibleFinalState.hh"
6#include "Rivet/Projections/IdentifiedFinalState.hh"
7#include "Rivet/Projections/VetoedFinalState.hh"
8#include "Rivet/Projections/FastJets.hh"
9
10namespace Rivet {
11
12
13 /// 1-lepton and 2-lepton search for first or second generation leptoquarks
14 class ATLAS_2011_I897002 : public Analysis {
15 public:
16
17 /// Constructor
18 ATLAS_2011_I897002()
19 : Analysis("ATLAS_2011_I897002"),
20 // DEBUG
21 count(0), vetoe(0), Njetscut(0), //dilept(0),
22 candmumujj(0), candeejj(0), //onelept(0),
23 eTmisscut(0), candmvjj(0), candevjj(0),
24 mumujj(0), eejj(0),
25 mTonelept(0), MLQonelept(0), MtLQonelept(0), Stvonelept(0),
26 mTev(0), MLQev(0), MtLQev(0), Stvev(0),
27 muvjj(0), evjj(0), emuvjj(0),
28 cande(0), candmu(0),
29 tmpe(0), tmpmu(0),
30 mumuZCR(0), eeZCR(0),
31 munuW2CR(0), munuttCR(0),
32 enuW2CR(0), enuttCR(0)
33 { }
34
35
36 /// Book histograms and initialize projections before the run
37 void init() {
38
39 // projection to find the electrons
40 IdentifiedFinalState elecs(Cuts::abseta < 2.47 && Cuts::pT > 20*GeV);
41 elecs.acceptIdPair(PID::ELECTRON);
42 declare(elecs, "elecs");
43
44 // veto region electrons
45 Cut vetocut = Cuts::absetaIn(1.35, 1.52);
46 IdentifiedFinalState veto_elecs(vetocut && Cuts::pT > 10*GeV);
47 veto_elecs.acceptIdPair(PID::ELECTRON);
48 declare(veto_elecs, "veto_elecs");
49
50 /// @todo Clean up DEBUG
51 // projection to find all leptons
52 IdentifiedFinalState all_mu_e;
53 all_mu_e.acceptIdPair(PID::MUON);
54 all_mu_e.acceptIdPair(PID::ELECTRON);
55 declare(all_mu_e, "all_mu_e"); //debug
56
57 // projection to find the muons
58 IdentifiedFinalState muons(Cuts::abseta < 2.4 && Cuts::pT > 20*GeV);
59 muons.acceptIdPair(PID::MUON);
60 declare(muons, "muons");
61
62 // Jet finder
63 VetoedFinalState vfs;
64 vfs.addVetoPairDetail(PID::MUON, 20*GeV, 7000*GeV);
65 vfs.addVetoPairDetail(PID::ELECTRON, 20*GeV, 7000*GeV);
66 declare(FastJets(vfs, JetAlg::ANTIKT, 0.4), "AntiKtJets04");
67
68 // all tracks (to do deltaR with leptons)
69 declare(ChargedFinalState(Cuts::abseta < 3 && Cuts::pT > 0.5*GeV), "cfs");
70
71 // for pTmiss
72 declare(VisibleFinalState(Cuts::abseta < 4.9), "vfs");
73
74 /// Book histograms
75 book(_count_mumujj ,"count_2muons_dijet", 1, 0., 1.);
76 book(_count_eejj ,"count_2elecs_dijet", 1, 0., 1.);
77 book(_count_muvjj ,"count_muon_neutrino_dijet", 1, 0., 1.);
78 book(_count_evjj ,"count_elec_neutrino_dijet", 1, 0., 1.);
79
80 book(_hist_St_mumu ,"hist_mumujj_St", 10, 450., 1650.);
81 book(_hist_St_ee ,"hist_eejj_St", 10, 450., 1650.);
82 book(_hist_MLQ_muv ,"hist_munujj_MLQ", 9, 150., 600.);
83 book(_hist_MLQ_ev ,"hist_enujj_MLQ", 9, 150., 600.);
84
85 book(_hist_St_mumu_ZCR ,"CR_Zjets_St_mumu", 40, 0., 800.);
86 book(_hist_St_ee_ZCR ,"CR_Zjets_Stee", 40, 0., 800.);
87 book(_hist_MLQ_munu_W2CR ,"CR_W2jets_MLQ_munu", 20, 0., 400.);
88 book(_hist_MLQ_enu_W2CR ,"CR_W2jets_MLQ_enu", 20, 0., 400.);
89 book(_hist_MLQ_munu_ttCR ,"CR_tt_MLQ_munu", 35, 0., 700.);
90 book(_hist_MLQ_enu_ttCR ,"CR_tt_MLQ_enu", 35, 0., 700.);
91
92 }
93
94
95
96 /// Perform the per-event analysis
97 void analyze(const Event& event) {
98
99
100 ///DEBUG
101 count +=1; //cerr<< "Event " << count << '\n';
102 // debug
103
104 Particles veto_e = apply<IdentifiedFinalState>(event, "veto_elecs").particles();
105 if ( ! veto_e.empty() ) {
106 MSG_DEBUG("electrons in veto region");
107 vetoEvent;
108 }
109 ++vetoe;
110
111 Jets cand_jets = apply<FastJets>(event, "AntiKtJets04").jetsByPt(Cuts::pT > 20*GeV && Cuts::abseta < 2.8);
112
113 Particles candtemp_e = apply<IdentifiedFinalState>(event, "elecs").particlesByPt();
114 Particles candtemp_mu = apply<IdentifiedFinalState>(event,"muons").particlesByPt();
115 Particles cand_mu;
116 Particles cand_e;
117 Particles vfs_particles = apply<VisibleFinalState>(event, "vfs").particles();
118
119
120 // pTcone around muon track
121 for ( const Particle & mu : candtemp_mu ) {
122 ++tmpmu;
123 double pTinCone = -mu.pT();
124 for ( const Particle & track : vfs_particles ) {
125 if ( deltaR(mu.momentum(),track.momentum()) < 0.2 )
126 pTinCone += track.pT();
127 }
128 if ( pTinCone/mu.pT() < 0.25 )
129 ++candmu;
130 cand_mu.push_back(mu);
131 }
132
133 // pTcone around electron
134 for ( const Particle & e : candtemp_e ) {
135 ++tmpe;
136 double pTinCone = -e.pT();
137 for ( const Particle & track : vfs_particles ) {
138 if ( deltaR(e.momentum(),track.momentum()) < 0.2 )
139 pTinCone += track.pT();
140 }
141 if ( pTinCone/e.pT() < 0.2 )
142 ++cande;
143 cand_e.push_back(e);
144 }
145
146 if ( cand_e.empty() && cand_mu.empty() ) {
147 //cerr<<" ->Event vetoed. No candidate lept"<<'\n';
148 vetoEvent;
149 }
150
151
152 //DEBUG
153 // else{
154 // for (const Particle & mu, cand_mu) {
155 // cerr << "cand mu: " << "Id " << mu.pid() << " eta " << mu.eta() << " pT " << mu.pT() << '\n';
156 // }
157 // for (const Particle & lepton, cand_e) {
158 // cerr << "cand e: " << "Id " << lepton.pid() << " eta " << lepton.eta() << " pT " << lepton.pT() << '\n';
159 // }} // debug
160
161
162
163 // pTmiss
164 FourMomentum pTmiss;
165 for ( const Particle & p : vfs_particles ) {
166 pTmiss -= p.momentum();
167 }
168 double eTmiss = pTmiss.pT();
169
170
171 // discard jets that overlap with leptons
172 Jets recon_jets;
173 for ( const Jet& jet : cand_jets ) {
174 bool away_from_lept = true;
175 for ( const Particle & e : cand_e ) {
176 if ( deltaR(e.momentum(),jet.momentum()) <= 0.5 ) {
177 away_from_lept = false;
178 break;
179 }
180 }
181 for ( const Particle & mu : cand_mu ) {
182 if ( deltaR(mu.momentum(),jet.momentum()) <= 0.5 ) {
183 away_from_lept = false;
184 break;
185 }
186 }
187 if ( away_from_lept )
188 recon_jets.push_back( jet );
189 }
190
191
192
193 //DEBUG
194 // cerr << " Num of recon jets: " << recon_jets.size() << '\n';
195 // cerr << " Num of cand e: " << cand_e.size() << '\n';
196 // cerr << " Num of cand mu: " << cand_mu.size() << '\n';
197 //debug
198
199
200
201 // ================ OBSERVABLES ================
202
203
204 // At least 2 hard jets
205 if ( recon_jets.size() < 2 ) {
206 //cerr << " ->Event vetoed. Not enough hard jets." << '\n';
207 vetoEvent;
208 }
209 ++Njetscut;
210
211
212 // Initialize variables for observables
213 double M_ll=0., M_LQ=0., St_ll=0., Mt_LQ=0., St_v=0., mT=0.;
214 FourMomentum p_l, p_l1, p_l2, p_j[2];
215 p_j[0] = recon_jets[0].momentum();
216 p_j[1] = recon_jets[1].momentum();
217
218 Particles dilept_pair;
219 bool single_lept = false;
220
221 if ( cand_mu.size() == 2 && cand_e.empty() ) {
222 ++candmumujj;
223 for ( const Particle& mu : cand_mu )
224 dilept_pair.push_back(mu);
225 }
226 else if ( cand_e.size() == 2 && cand_mu.empty() ) {
227 ++candeejj;
228 for ( const Particle& e : cand_e )
229 dilept_pair.push_back(e);
230 }
231 else if ( cand_mu.size() == 1 && cand_e.empty() ) {
232 ++candmvjj;
233 p_l = cand_mu[0].momentum();
234 single_lept = true;
235 }
236 else if ( cand_e.size() == 1 && cand_mu.empty() ) {
237 ++candevjj;
238 p_l = cand_e[0].momentum();
239 single_lept = true;
240 }
241
242 // Dilepton channel observables
243 if ( ! dilept_pair.empty() ) {
244
245 double E_l1, E_l2, E_j1, E_j2;
246 double tmpM_LQ1[2], tmpM_LQ2[2], M_LQDiff1, M_LQDiff2;
247
248 p_l1 = dilept_pair[0].momentum();
249 p_l2 = dilept_pair[1].momentum();
250 E_l1 = p_l1.E();
251 E_l2 = p_l2.E();
252
253 E_j1 = p_j[0].E();
254 E_j2 = p_j[1].E();
255
256 // Calculate possible leptoquark mass M_LQ and reconstruct average M_LQ
257
258 tmpM_LQ1[0] = E_l1 + E_j1;
259 tmpM_LQ1[1] = E_l2 + E_j2;
260 M_LQDiff1 = abs( tmpM_LQ1[0] - tmpM_LQ1[1] );
261
262 tmpM_LQ2[0] = E_l1 + E_j2;
263 tmpM_LQ2[1] = E_l2 + E_j1;
264 M_LQDiff2 = abs( tmpM_LQ2[0] - tmpM_LQ2[1] );
265
266 if ( M_LQDiff1 > M_LQDiff2 )
267 M_LQ = ( tmpM_LQ2[0] + tmpM_LQ2[1] ) / 2;
268 else
269 M_LQ = ( tmpM_LQ1[0] + tmpM_LQ1[1] ) / 2;
270
271 // Calculate event transverse energy St
272 St_ll = p_l1.pT() + p_l2.pT() + p_j[0].pT() + p_j[1].pT();
273
274 // Dilept pair invariant mass M_ll
275 M_ll = E_l1 + E_l2;
276
277 }
278
279 // 1-lepton channel observables
280 else if ( single_lept ) {
281
282 double tmpM_LQ[2], tmpMt_LQ[2], dPhi_j[2], M_LQDiff1, M_LQDiff2;
283
284 // List of possible M_LQ, Mt_LQ pairings
285
286 for ( int i = 0; i < 2; ++i ) {
287 tmpM_LQ[i] = p_l.E() + p_j[i].E();
288 dPhi_j[1-i] = deltaPhi( p_j[1-i].phi(), pTmiss.phi() );
289 tmpMt_LQ[i] = sqrt( 2 * p_j[1-i].pT() * eTmiss * (1 - cos( dPhi_j[1-i] )) );
290 }
291
292 // Choose pairing that gives smallest absolute difference
293
294 M_LQDiff1 = abs( tmpM_LQ[0] - tmpMt_LQ[0] );
295 M_LQDiff2 = abs( tmpM_LQ[1] - tmpMt_LQ[1] );
296
297 if ( M_LQDiff1 > M_LQDiff2 ) {
298 M_LQ = tmpM_LQ[1];
299 Mt_LQ = tmpMt_LQ[1];
300 }
301 else {
302 M_LQ = tmpM_LQ[0];
303 Mt_LQ = tmpMt_LQ[0];
304 }
305
306 // Event transverse energy
307 St_v = p_l.pT() + eTmiss + p_j[0].pT() + p_j[1].pT();
308
309 // Transverse mass mT
310 double dPhi_l = deltaPhi( p_l.phi(), pTmiss.phi());
311 mT = sqrt( 2 * p_l.pT() * eTmiss * (1 - cos(dPhi_l)) );
312
313 }
314
315
316 // ============== CONTROL REGIONS ===============
317
318 // mumujj, Z control region
319 if ( cand_mu.size() == 2 ) {
320 if ( M_ll >= 81*GeV && M_ll <= 101*GeV ) {
321 ++mumuZCR;
322 _hist_St_mumu_ZCR->fill(St_ll);
323 }
324 }
325 // eejj, Z control region
326 else if ( cand_e.size() == 2 ) {
327 if ( M_ll >= 81*GeV && M_ll <= 101*GeV ) {
328 ++eeZCR;
329 _hist_St_ee_ZCR->fill(St_ll);
330
331 }
332 }
333
334 if ( cand_mu.size() == 1 ) {
335 // munujj, W+2jets control region
336 if ( recon_jets.size() == 2 &&
337 mT >= 40*GeV && mT <= 150*GeV ) {
338 ++munuW2CR;
339 _hist_MLQ_munu_W2CR->fill(M_LQ);
340 }
341 // munujj, tt control region
342 if ( recon_jets.size() >= 4 &&
343 recon_jets[0].pT() > 50*GeV && recon_jets[1].pT() > 40*GeV && recon_jets[2].pT() > 30*GeV ) {
344 ++munuttCR;
345 _hist_MLQ_munu_ttCR->fill(M_LQ);
346 }
347 }
348 if ( cand_e.size() == 1 ) {
349 // enujj, W+2jets control region
350 if ( recon_jets.size() == 2 &&
351 mT >= 40*GeV && mT <= 150*GeV ) {
352 ++enuW2CR;
353 _hist_MLQ_enu_W2CR->fill(M_LQ);
354 }
355 // enujj, tt control region
356 if ( recon_jets.size() >= 4 &&
357 recon_jets[0].pT() > 50*GeV && recon_jets[1].pT() > 40*GeV && recon_jets[2].pT() > 30*GeV ) {
358 ++enuttCR;
359 _hist_MLQ_enu_ttCR->fill(M_LQ);
360 }
361 }
362
363
364
365
366 // ========= PRESELECTION =======================
367
368
369
370 // Single lepton channel cuts
371 if ( single_lept ) {
372
373 if ( eTmiss <= 25*GeV ) {
374 //cerr << " ->Event vetoed. eTmiss=" << eTmiss << '\n';
375 vetoEvent;
376 }
377 ++eTmisscut;
378
379 if ( mT <= 40*GeV )
380 vetoEvent;
381
382 //++mTcut;
383
384 // enujj channel
385 if ( cand_e.size() == 1 && cand_mu.empty() ) {
386
387 // Triangle cut
388 double dPhi_jet1 = deltaPhi( recon_jets[0].phi(), pTmiss.phi() );
389 double dPhi_jet2 = deltaPhi( recon_jets[1].phi(), pTmiss.phi() );
390
391 if ( dPhi_jet1 <= 1.5 * (1 - eTmiss/45) ||
392 dPhi_jet2 <= 1.5 * (1 - eTmiss/45) ) {
393 ++emuvjj;
394 vetoEvent;
395 }
396 }
397 }
398
399 // ==================== FILL ====================
400
401
402 // mumujj channel
403 if ( cand_mu.size() == 2 ) {
404 if ( M_ll <= 120*GeV ||
405 M_LQ <= 150*GeV ||
406 p_l1.pT() <= 30*GeV || p_l2.pT() <= 30*GeV ||
407 p_j[0].pT() <= 30*GeV || p_j[1].pT() <= 30*GeV ||
408 St_ll <= 450*GeV ) {
409 //cerr<<" ->Dilept event vetoed. Table 4 cuts." << '\n';
410 vetoEvent;
411 }
412 else {
413
414
415 ++mumujj;
416 // cerr<< " ->MUMUJJ event selected." << '\n';
417 _hist_St_mumu->fill(St_ll);
418 _count_mumujj->fill(0.5);
419
420 }
421 }
422 // eejj channel
423 else if ( cand_e.size() == 2 ) {
424 if ( M_ll <= 120*GeV ||
425 M_LQ <= 150*GeV ||
426 p_l1.pT() <= 30*GeV || p_l2.pT() <= 30*GeV ||
427 p_j[0].pT() <= 30*GeV || p_j[1].pT() <= 30*GeV ||
428 St_ll <= 450*GeV ) {
429 //cerr<<" ->Dilept event vetoed. Table 4 cuts." << '\n';
430 vetoEvent;
431 }
432 else {
433
434 ++eejj;
435 //cerr<< " ->EEJJ event selected." << '\n';
436 _hist_St_ee->fill(St_ll);
437 _count_eejj->fill(0.5);
438
439 }
440 }
441
442
443 // muvjj channel
444 else if ( cand_mu.size() == 1 ) {
445
446
447
448 if (M_LQ<=150*GeV) {
449 //cerr<<" ->muvjj event vetoed. Not enough M_LQ: " << M_LQ<< '\n';
450 vetoEvent;
451 }
452 ++MLQonelept;
453 if (Mt_LQ<=150*GeV) {
454 //cerr<<" ->muvjj event vetoed. Not enough Mt_LQ: " << Mt_LQ<< '\n';
455 vetoEvent;
456 }
457 ++MtLQonelept;
458 if (St_v<=400*GeV) {
459 //cerr<<" ->muvjj event vetoed. Not enough St_v: " << St_v<< '\n';
460 vetoEvent;
461 }
462 ++Stvonelept;
463 if (mT<=160*GeV) {
464 //cerr<<" ->muvjj event vetoed. Not enough mT: " << mT<<'\n';
465 vetoEvent;
466 }
467 ++mTonelept;
468 //else {
469 ++muvjj;
470 //cerr<< " ->MUVJJ event selected." << '\n';
471 _hist_MLQ_muv->fill(M_LQ);
472 _count_muvjj->fill(0.5);
473
474 //}
475 }
476
477 // evjj channel
478 else if ( cand_e.size() == 1 ) {
479
480 if (M_LQ<=180*GeV) {
481 //cerr<<" ->evjj event vetoed. Not enough M_LQ: " << M_LQ<< '\n';
482 vetoEvent;
483 }
484 ++MLQev;
485 if (Mt_LQ<=180*GeV) {
486 //cerr<<" ->evjj event vetoed. Not enough Mt_LQ: " << Mt_LQ<< '\n';
487 vetoEvent;
488 }
489 ++MtLQev;
490 if (St_v<=410*GeV) {
491 //cerr<<" ->evjj event vetoed. Not enough St_v: " << St_v<< '\n';
492 vetoEvent;
493 }
494 ++Stvev;
495 if (mT<=200*GeV) {
496 //cerr<<" ->evjj event vetoed. Not enough mT: " << mT<<'\n';
497 vetoEvent;
498 }
499 ++mTev;
500 //else {
501 ++evjj;
502 //cerr<< " ->EVJJ event selected." << '\n';
503 _hist_MLQ_ev->fill(M_LQ);
504 _count_evjj->fill(0.5);
505
506
507
508 // if ( mT <= 200*GeV ||
509 // M_LQ <= 180*GeV ||
510 // Mt_LQ <= 180*GeV ||
511 // St_v <= 410*GeV ) {
512 // cerr<<" ->evjj event vetoed. Doesn't pass table 4 cuts." << '\n';
513 // vetoEvent;
514 // }
515 // else {
516 // ++evjj;
517 // cerr<< " ->EVJJ event selected." << '\n';
518 // _hist_MLQ_ev->fill(M_LQ);
519 // _count_evjj->fill(0.5);
520
521 // }
522
523
524 }
525
526
527 }
528
529
530 void finalize() {
531 // cerr << '\n' << "Of " << count << " events, saw "
532 // << vetoe << " (after veto region cut), "
533 // << Njetscut << " (after 2jet req). "
534 // << '\n'
535 // << "For " << dilept << " dilept events: "
536 // << candmumujj << " cand mumujj events, "
537 // << candeejj << " cand eejj events."
538 // << '\n'
539 // << "For " << onelept << " onelept events: "
540 // << candmvjj << " preselected mvjj events, "
541 // << candevjj << " preselected evjj events; "
542 // << eTmisscut << " (eTmiss req); "
543 // << emuvjj << " leftover; "
544 // << MLQonelept << " (muvjj M_LQ cut), "
545 // << MtLQonelept << " (muvjj Mt_LQ cut), "
546 // << Stvonelept << " (muvjj St_v cut), "
547 // << mTonelept << " (muvjj mT cut); "
548 // << MLQev << " (evjj M_LQ cut), "
549 // << MtLQev << " (evjj Mt_LQ cut), "
550 // << Stvev << " (evjj St_v cut), "
551 // << mTev << " (evjj mT cut). "
552 // << '\n'<<'\n'
553 // ;
554 // cerr << "CR - " << "mumu Z: " << mumuZCR << " ee Z: " << eeZCR << "
555 // munu W+2jets: " << munuW2CR << " munu tt: " << munuttCR << " enu
556 // W+2jets: " << enuW2CR << " enu tt: " << enuttCR << '\n';
557 // cerr << "mumujj: " << mumujj << " eejj: " << eejj << " muvjj: " <<
558 // muvjj << " evjj: " << evjj << '\n';
559
560 scale( _hist_St_ee, 120. * 35. * crossSection()/picobarn/sumOfWeights() );
561 scale( _hist_St_mumu, 120. * 35. * crossSection()/picobarn/sumOfWeights() );
562 scale( _hist_MLQ_muv, 50. * 35. * crossSection()/picobarn/sumOfWeights() );
563 scale( _hist_MLQ_ev, 50. * 35. * crossSection()/picobarn/sumOfWeights() );
564
565 scale( _hist_St_mumu_ZCR, 20. * 35. * crossSection()/picobarn/sumOfWeights() );
566 scale( _hist_St_ee_ZCR, 20. * 35. * crossSection()/picobarn/sumOfWeights() );
567 scale( _hist_MLQ_munu_W2CR, 20. * 35. * crossSection()/picobarn/sumOfWeights() );
568 scale( _hist_MLQ_enu_W2CR, 20. * 35. * crossSection()/picobarn/sumOfWeights() );
569 scale( _hist_MLQ_munu_ttCR, 20. * 35. * crossSection()/picobarn/sumOfWeights() );
570 scale( _hist_MLQ_enu_ttCR, 20. * 35. * crossSection()/picobarn/sumOfWeights() );
571
572 // scale( _hist_eTmiss_mu, binwidth*luminosity* crossSection()/picobarn/sumOfWeights() );
573
574 }
575
576
577 private:
578
579 /// @name Histograms
580 /// @{
581 Histo1DPtr _count_mumujj;
582 Histo1DPtr _count_eejj;
583 Histo1DPtr _count_muvjj;
584 Histo1DPtr _count_evjj;
585
586 Histo1DPtr _hist_St_mumu;
587 Histo1DPtr _hist_St_ee;
588 Histo1DPtr _hist_MLQ_muv;
589 Histo1DPtr _hist_MLQ_ev;
590
591 Histo1DPtr _hist_St_mumu_ZCR;
592 Histo1DPtr _hist_St_ee_ZCR;
593 Histo1DPtr _hist_MLQ_munu_W2CR;
594 Histo1DPtr _hist_MLQ_enu_W2CR;
595 Histo1DPtr _hist_MLQ_munu_ttCR;
596 Histo1DPtr _hist_MLQ_enu_ttCR;
597 /// @}
598
599
600 // DEBUG VARIABLES
601 int count, vetoe, Njetscut;
602 int candmumujj, candeejj, eTmisscut, candmvjj, candevjj, mumujj, eejj;
603 int mTonelept, MLQonelept, MtLQonelept, Stvonelept;
604 int mTev, MLQev, MtLQev, Stvev;
605 int muvjj, evjj, emuvjj, cande, candmu, tmpe, tmpmu;
606 int mumuZCR, eeZCR, munuW2CR, munuttCR, enuW2CR, enuttCR;
607
608 };
609
610
611 RIVET_DECLARE_ALIASED_PLUGIN(ATLAS_2011_I897002, ATLAS_2011_S9041966);
612
613}
|