ATLAS_2011_S9212353.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Analysis.hh" 00003 #include "Rivet/Tools/BinnedHistogram.hh" 00004 #include "Rivet/Projections/FinalState.hh" 00005 #include "Rivet/Projections/ChargedFinalState.hh" 00006 #include "Rivet/Projections/VisibleFinalState.hh" 00007 #include "Rivet/Projections/IdentifiedFinalState.hh" 00008 #include "Rivet/Projections/VetoedFinalState.hh" 00009 #include "Rivet/Projections/FastJets.hh" 00010 00011 namespace Rivet { 00012 00013 using namespace Cuts; 00014 00015 00016 class ATLAS_2011_S9212353 : public Analysis { 00017 public: 00018 00019 /// @name Constructors etc. 00020 //@{ 00021 00022 /// Constructor 00023 00024 ATLAS_2011_S9212353() 00025 : Analysis("ATLAS_2011_S9212353") 00026 { } 00027 00028 //@} 00029 00030 00031 public: 00032 00033 /// @name Analysis methods 00034 //@{ 00035 00036 /// Book histograms and initialize projections before the run 00037 void init() { 00038 00039 // projection to find the electrons 00040 IdentifiedFinalState elecs(etaIn(-2.47, 2.47) 00041 & (pT >= 20.0*GeV)); 00042 elecs.acceptIdPair(PID::ELECTRON); 00043 addProjection(elecs, "elecs"); 00044 00045 00046 // veto region electrons (from 2010 arXiv:1102.2357v2) 00047 Cut vetocut = etaIn(-1.52, -1.37) | etaIn( 1.37, 1.52); 00048 IdentifiedFinalState veto_elecs(vetocut & (pT >= 10.0*GeV)); 00049 veto_elecs.acceptIdPair(PID::ELECTRON); 00050 addProjection(veto_elecs, "veto_elecs"); 00051 00052 00053 // projection to find the muons 00054 IdentifiedFinalState muons(etaIn(-2.4, 2.4) 00055 & (pT >= 10.0*GeV)); 00056 muons.acceptIdPair(PID::MUON); 00057 addProjection(muons, "muons"); 00058 00059 00060 // Jet finder 00061 VetoedFinalState vfs; 00062 vfs.addVetoPairId(PID::MUON); 00063 addProjection(FastJets(vfs, FastJets::ANTIKT, 0.4), 00064 "AntiKtJets04"); 00065 00066 00067 // all tracks (to do deltaR with leptons) 00068 addProjection(ChargedFinalState(-3.0,3.0,0.5*GeV),"cfs"); 00069 00070 00071 // for pTmiss 00072 addProjection(VisibleFinalState(-4.5,4.5),"vfs"); 00073 00074 00075 /// Book histograms 00076 _3jl_count_mu_channel = bookHisto1D("3jl_count_muon_channel", 1, 0., 1.); 00077 _3jl_count_e_channel = bookHisto1D("3jl_count_electron_channel", 1, 0., 1.); 00078 _3jt_count_mu_channel = bookHisto1D("3jt_count_muon_channel", 1, 0., 1.); 00079 _3jt_count_e_channel = bookHisto1D("3jt_count_electron_channel", 1, 0., 1.); 00080 _3j_hist_eTmiss_e = bookHisto1D("3j_Et_miss_e", 65, 0., 650.); 00081 _3j_hist_eTmiss_mu = bookHisto1D("3j_Et_miss_mu", 65, 0., 650.); 00082 _3j_hist_mT_e = bookHisto1D("3j_mT_e", 58, 0., 580.); 00083 _3j_hist_mT_mu = bookHisto1D("3j_mT_mu", 58, 0., 580.); 00084 _3j_hist_m_eff_e = bookHisto1D("3j_m_eff_e", 46, 0., 2300.); 00085 _3j_hist_m_eff_mu = bookHisto1D("3j_m_eff_mu", 46, 0., 2300.); 00086 _3jl_hist_m_eff_e_final = bookHisto1D("3jl_m_eff_e_final", 15, 0., 1500.); 00087 _3jl_hist_m_eff_mu_final = bookHisto1D("3jl_m_eff_mu_final", 15, 0., 1500.); 00088 _3jt_hist_m_eff_e_final = bookHisto1D("3jt_m_eff_e_final", 15, 0., 1500.); 00089 _3jt_hist_m_eff_mu_final = bookHisto1D("3jt_m_eff_mu_final", 15, 0., 1500.); 00090 00091 00092 _4jl_count_mu_channel = bookHisto1D("4jl_count_muon_channel", 1, 0., 1.); 00093 _4jl_count_e_channel = bookHisto1D("4jl_count_electron_channel", 1, 0., 1.); 00094 _4jt_count_mu_channel = bookHisto1D("4jt_count_muon_channel", 1, 0., 1.); 00095 _4jt_count_e_channel = bookHisto1D("4jt_count_electron_channel", 1, 0., 1.); 00096 _4j_hist_eTmiss_e = bookHisto1D("4j_Et_miss_e", 65, 0., 650.); 00097 _4j_hist_eTmiss_mu = bookHisto1D("4j_Et_miss_mu", 65, 0., 650.); 00098 _4j_hist_mT_e = bookHisto1D("4j_mT_e", 58, 0., 580.); 00099 _4j_hist_mT_mu = bookHisto1D("4j_mT_mu", 58, 0., 580.); 00100 _4j_hist_m_eff_e = bookHisto1D("4j_m_eff_e", 46, 0., 2300.); 00101 _4j_hist_m_eff_mu = bookHisto1D("4j_m_eff_mu", 46, 0., 2300.); 00102 _4jl_hist_m_eff_e_final = bookHisto1D("4jl_m_eff_e_final", 15, 0., 1500.); 00103 _4jl_hist_m_eff_mu_final = bookHisto1D("4jl_m_eff_mu_final", 15, 0., 1500.); 00104 _4jt_hist_m_eff_e_final = bookHisto1D("4jt_m_eff_e_final", 15, 0., 1500.); 00105 _4jt_hist_m_eff_mu_final = bookHisto1D("4jt_m_eff_mu_final", 15, 0., 1500.); 00106 00107 00108 } 00109 00110 00111 00112 /// Perform the per-event analysis 00113 void analyze(const Event& event) { 00114 const double weight = event.weight(); 00115 Particles veto_e 00116 = applyProjection<IdentifiedFinalState>(event, "veto_elecs").particles(); 00117 if ( ! veto_e.empty() ) { 00118 MSG_DEBUG("electrons in veto region"); 00119 vetoEvent; 00120 } 00121 00122 Jets cand_jets; 00123 foreach ( const Jet& jet, 00124 applyProjection<FastJets>(event, "AntiKtJets04").jetsByPt(20.0*GeV) ) { 00125 if ( fabs( jet.eta() ) < 2.8 ) { 00126 cand_jets.push_back(jet); 00127 } 00128 } 00129 00130 Particles candtemp_e = 00131 applyProjection<IdentifiedFinalState>(event, "elecs").particlesByPt(); 00132 Particles candtemp_mu = 00133 applyProjection<IdentifiedFinalState>(event,"muons").particlesByPt(); 00134 Particles chg_tracks = 00135 applyProjection<ChargedFinalState>(event, "cfs").particles(); 00136 Particles cand_mu; 00137 Particles cand_e; 00138 00139 00140 // pTcone around muon track 00141 foreach ( const Particle & mu, candtemp_mu ) { 00142 double pTinCone = -mu.pT(); 00143 foreach ( const Particle & track, chg_tracks ) { 00144 if ( deltaR(mu.momentum(),track.momentum()) < 0.2 ) 00145 pTinCone += track.pT(); 00146 } 00147 if ( pTinCone < 1.8*GeV ) 00148 cand_mu.push_back(mu); 00149 } 00150 00151 // pTcone around electron 00152 foreach ( const Particle e, candtemp_e ) { 00153 double pTinCone = -e.pT(); 00154 foreach ( const Particle & track, chg_tracks ) { 00155 if ( deltaR(e.momentum(),track.momentum()) < 0.2 ) 00156 pTinCone += track.pT(); 00157 } 00158 if ( pTinCone < 0.1 * e.pT() ) 00159 cand_e.push_back(e); 00160 } 00161 00162 // discard jets that overlap with electrons 00163 Jets recon_jets; 00164 foreach ( const Jet& jet, cand_jets ) { 00165 bool away_from_e = true; 00166 foreach ( const Particle & e, cand_e ) { 00167 if ( deltaR(e.momentum(),jet.momentum()) < 0.2 ) { 00168 away_from_e = false; 00169 break; 00170 } 00171 } 00172 if ( away_from_e ) 00173 recon_jets.push_back( jet ); 00174 } 00175 00176 // only consider leptons far from jet 00177 Particles recon_e, recon_mu; 00178 foreach ( const Particle & e, cand_e ) { 00179 bool e_near_jet = false; 00180 foreach ( const Jet& jet, recon_jets ) { 00181 if ( deltaR(e.momentum(),jet.momentum()) < 0.4 && 00182 deltaR(e.momentum(),jet.momentum()) > 0.2 ) 00183 e_near_jet = true; 00184 } 00185 if ( ! e_near_jet ) 00186 recon_e.push_back( e ); 00187 } 00188 00189 foreach ( const Particle & mu, cand_mu ) { 00190 bool mu_near_jet = false; 00191 foreach ( const Jet& jet, recon_jets ) { 00192 if ( deltaR(mu.momentum(),jet.momentum()) < 0.4 ) 00193 mu_near_jet = true; 00194 } 00195 if ( ! mu_near_jet ) 00196 recon_mu.push_back( mu ); 00197 } 00198 00199 // pTmiss 00200 Particles vfs_particles 00201 = applyProjection<VisibleFinalState>(event, "vfs").particles(); 00202 FourMomentum pTmiss; 00203 foreach ( const Particle & p, vfs_particles ) { 00204 pTmiss -= p.momentum(); 00205 } 00206 double eTmiss = pTmiss.pT(); 00207 00208 00209 // ==================== observables ==================== 00210 00211 00212 // Njets 00213 int Njets = 0; 00214 double pTmiss_phi = pTmiss.phi(); 00215 foreach ( const Jet& jet, recon_jets ) { 00216 if ( jet.abseta() < 2.8 ) 00217 Njets+=1; 00218 } 00219 if ( Njets < 3 ) { 00220 MSG_DEBUG("Only " << Njets << " jets w/ eta<2.8 left"); 00221 vetoEvent; 00222 } 00223 00224 Particles lepton; 00225 if ( recon_mu.empty() && recon_e.empty() ) { 00226 MSG_DEBUG("No leptons"); 00227 vetoEvent; 00228 } 00229 else { 00230 foreach ( const Particle & mu, recon_mu ) 00231 lepton.push_back(mu); 00232 foreach ( const Particle & e, recon_e ) 00233 lepton.push_back(e); 00234 } 00235 00236 00237 std::sort(lepton.begin(), lepton.end(), cmpMomByPt); 00238 00239 double e_id = 11; 00240 double mu_id = 13; 00241 00242 // one hard leading lepton cut 00243 if ( lepton[0].abspid() == e_id && 00244 lepton[0].pT() <= 25*GeV ) { 00245 vetoEvent; 00246 } 00247 else if ( lepton[0].abspid() == mu_id && 00248 lepton[0].pT() <= 20*GeV ) { 00249 vetoEvent; 00250 } 00251 00252 // exactly one hard leading lepton cut 00253 if(lepton.size()>1) { 00254 if ( lepton[1].abspid() == e_id && 00255 lepton[1].pT() > 20*GeV ) { 00256 vetoEvent; 00257 } 00258 else if ( lepton[1].abspid() == mu_id && 00259 lepton[1].pT() > 10*GeV ) { 00260 vetoEvent; 00261 } 00262 } 00263 00264 // 3JL 00265 if ( recon_jets[0].pT() > 60.0*GeV && 00266 recon_jets[1].pT() > 25.0*GeV && 00267 recon_jets[2].pT() > 25.0*GeV && 00268 deltaPhi( pTmiss_phi, recon_jets[0].phi() ) > 0.2 && 00269 deltaPhi( pTmiss_phi, recon_jets[1].phi() ) > 0.2 && 00270 deltaPhi( pTmiss_phi, recon_jets[2].phi() ) > 0.2 ) { 00271 00272 FourMomentum pT_l = lepton[0].momentum(); 00273 double dPhi = deltaPhi( pT_l.phi(), pTmiss_phi); 00274 double mT = sqrt( 2 * pT_l.pT() * eTmiss * (1 - cos(dPhi)) ); 00275 double m_eff = eTmiss + pT_l.pT() 00276 + recon_jets[0].pT() 00277 + recon_jets[1].pT() 00278 + recon_jets[2].pT(); 00279 00280 if ( lepton[0].abspid() == e_id ) { 00281 _3j_hist_mT_e->fill(mT, weight); 00282 _3j_hist_eTmiss_e->fill(eTmiss, weight); 00283 _3j_hist_m_eff_e->fill(m_eff, weight); 00284 if ( mT > 100*GeV && eTmiss > 125*GeV ) { 00285 _3jl_hist_m_eff_e_final->fill(m_eff, weight); 00286 if ( m_eff > 500*GeV && eTmiss > 0.25*m_eff ) { 00287 _3jl_count_e_channel->fill(0.5,weight); 00288 } 00289 } 00290 } 00291 00292 else if ( lepton[0].abspid() == mu_id ) { 00293 _3j_hist_mT_mu->fill(mT, weight); 00294 _3j_hist_eTmiss_mu->fill(eTmiss, weight); 00295 _3j_hist_m_eff_mu->fill(m_eff, weight); 00296 if ( mT > 100*GeV && eTmiss > 125*GeV ) { 00297 _3jl_hist_m_eff_mu_final->fill(m_eff, weight); 00298 if ( m_eff > 500*GeV && eTmiss > 0.25*m_eff ) { 00299 _3jl_count_mu_channel->fill(0.5,weight); 00300 } 00301 } 00302 } 00303 00304 } 00305 00306 // 3JT 00307 if ( recon_jets[0].pT() > 80.0*GeV && 00308 recon_jets[1].pT() > 25.0*GeV && 00309 recon_jets[2].pT() > 25.0*GeV && 00310 deltaPhi( pTmiss_phi, recon_jets[0].phi() ) > 0.2 && 00311 deltaPhi( pTmiss_phi, recon_jets[1].phi() ) > 0.2 && 00312 deltaPhi( pTmiss_phi, recon_jets[2].phi() ) > 0.2 ) { 00313 00314 FourMomentum pT_l = lepton[0].momentum(); 00315 double dPhi = deltaPhi( pT_l.phi(), pTmiss_phi); 00316 double mT = sqrt( 2 * pT_l.pT() * eTmiss * (1 - cos(dPhi)) ); 00317 double m_eff = eTmiss + pT_l.pT() 00318 + recon_jets[0].pT() 00319 + recon_jets[1].pT() 00320 + recon_jets[2].pT(); 00321 00322 00323 if ( lepton[0].abspid() == e_id ) { 00324 if ( mT > 100*GeV && eTmiss > 240*GeV ) { 00325 _3jt_hist_m_eff_e_final->fill(m_eff, weight); 00326 if ( m_eff > 600*GeV && eTmiss > 0.15*m_eff ) { 00327 _3jt_count_e_channel->fill(0.5,weight); 00328 } 00329 } 00330 } 00331 00332 else if ( lepton[0].abspid() == mu_id ) { 00333 if ( mT > 100*GeV && eTmiss > 240*GeV ) { 00334 _3jt_hist_m_eff_mu_final->fill(m_eff, weight); 00335 if ( m_eff > 600*GeV && eTmiss > 0.15*m_eff ) { 00336 _3jt_count_mu_channel->fill(0.5,weight); 00337 } 00338 } 00339 } 00340 00341 } 00342 00343 if ( Njets < 4 ) { 00344 MSG_DEBUG("Only " << Njets << " jets w/ eta<2.8 left"); 00345 vetoEvent; 00346 } 00347 00348 00349 00350 // 4JL 00351 if ( recon_jets[0].pT() > 60.0*GeV && 00352 recon_jets[1].pT() > 25.0*GeV && 00353 recon_jets[2].pT() > 25.0*GeV && 00354 recon_jets[3].pT() > 25.0*GeV && 00355 deltaPhi( pTmiss_phi, recon_jets[0].phi() ) > 0.2 && 00356 deltaPhi( pTmiss_phi, recon_jets[1].phi() ) > 0.2 && 00357 deltaPhi( pTmiss_phi, recon_jets[2].phi() ) > 0.2 && 00358 deltaPhi( pTmiss_phi, recon_jets[3].phi() ) > 0.2 ) { 00359 00360 FourMomentum pT_l = lepton[0].momentum(); 00361 double dPhi = deltaPhi( pT_l.phi(), pTmiss_phi); 00362 double mT = sqrt( 2 * pT_l.pT() * eTmiss * (1 - cos(dPhi)) ); 00363 double m_eff = eTmiss + pT_l.pT() 00364 + recon_jets[0].pT() 00365 + recon_jets[1].pT() 00366 + recon_jets[2].pT() 00367 + recon_jets[3].pT(); 00368 00369 00370 if ( lepton[0].abspid() == e_id ) { 00371 _4j_hist_mT_e->fill(mT, weight); 00372 _4j_hist_eTmiss_e->fill(eTmiss, weight); 00373 _4j_hist_m_eff_e->fill(m_eff, weight); 00374 if ( mT > 100*GeV && eTmiss > 140*GeV ) { 00375 _4jl_hist_m_eff_e_final->fill(m_eff, weight); 00376 if ( m_eff > 300*GeV && eTmiss > 0.3*m_eff ) { 00377 _4jl_count_e_channel->fill(0.5,weight); 00378 } 00379 } 00380 } 00381 00382 // Muon channel signal region 00383 else if ( lepton[0].abspid() == mu_id ) { 00384 _4j_hist_mT_mu->fill(mT, weight); 00385 _4j_hist_eTmiss_mu->fill(eTmiss, weight); 00386 _4j_hist_m_eff_mu->fill(m_eff, weight); 00387 if ( mT > 100*GeV && eTmiss > 140*GeV ) { 00388 _4jl_hist_m_eff_mu_final->fill(m_eff, weight); 00389 if ( m_eff > 300*GeV && eTmiss > 0.3*m_eff ) { 00390 _4jl_count_mu_channel->fill(0.5,weight); 00391 } 00392 } 00393 } 00394 00395 } 00396 00397 // 4JT 00398 if ( recon_jets[0].pT() > 60.0*GeV && 00399 recon_jets[1].pT() > 40.0*GeV && 00400 recon_jets[2].pT() > 40.0*GeV && 00401 recon_jets[3].pT() > 40.0*GeV && 00402 deltaPhi( pTmiss_phi, recon_jets[0].phi() ) > 0.2 && 00403 deltaPhi( pTmiss_phi, recon_jets[1].phi() ) > 0.2 && 00404 deltaPhi( pTmiss_phi, recon_jets[2].phi() ) > 0.2 && 00405 deltaPhi( pTmiss_phi, recon_jets[3].phi() ) > 0.2 ) { 00406 00407 FourMomentum pT_l = lepton[0].momentum(); 00408 00409 double m_eff = eTmiss + pT_l.pT() 00410 + recon_jets[0].pT() 00411 + recon_jets[1].pT() 00412 + recon_jets[2].pT() 00413 + recon_jets[3].pT(); 00414 00415 00416 if ( lepton[0].abspid() == e_id ) { 00417 if ( eTmiss > 200*GeV ) { 00418 _4jt_hist_m_eff_e_final->fill(m_eff, weight); 00419 if ( m_eff > 500*GeV && eTmiss > 0.15*m_eff ) { 00420 _4jt_count_e_channel->fill(0.5,weight); 00421 } 00422 } 00423 } 00424 00425 // Muon channel signal region 00426 else if ( lepton[0].abspid() == mu_id ) { 00427 if ( eTmiss > 200*GeV ) { 00428 _4jt_hist_m_eff_mu_final->fill(m_eff, weight); 00429 if ( m_eff > 500*GeV && eTmiss > 0.15*m_eff ) { 00430 _4jt_count_mu_channel->fill(0.5,weight); 00431 } 00432 } 00433 } 00434 00435 } 00436 } 00437 00438 //@} 00439 00440 00441 void finalize() { 00442 00443 scale( _3j_hist_eTmiss_e, 10. * 1.04e3 * crossSection()/sumOfWeights() ); 00444 scale( _3j_hist_eTmiss_mu, 10. * 1.04e3 * crossSection()/sumOfWeights() ); 00445 scale( _3j_hist_m_eff_e, 50. * 1.04e3 * crossSection()/sumOfWeights() ); 00446 scale( _3j_hist_m_eff_mu, 50. * 1.04e3 * crossSection()/sumOfWeights() ); 00447 scale( _3j_hist_mT_e, 10. * 1.04e3 * crossSection()/sumOfWeights() ); 00448 scale( _3j_hist_mT_mu, 10. * 1.04e3 * crossSection()/sumOfWeights() ); 00449 scale( _3jl_hist_m_eff_e_final, 100. * 1.04e3 * crossSection()/sumOfWeights() ); 00450 scale( _3jl_hist_m_eff_mu_final, 100. * 1.04e3 * crossSection()/sumOfWeights() ); 00451 scale( _3jt_hist_m_eff_e_final, 100. * 1.04e3 * crossSection()/sumOfWeights() ); 00452 scale( _3jt_hist_m_eff_mu_final, 100. * 1.04e3 * crossSection()/sumOfWeights() ); 00453 00454 scale( _4j_hist_eTmiss_e, 10. * 1.04e3 * crossSection()/sumOfWeights() ); 00455 scale( _4j_hist_eTmiss_mu, 10. * 1.04e3 * crossSection()/sumOfWeights() ); 00456 scale( _4j_hist_m_eff_e, 50. * 1.04e3 * crossSection()/sumOfWeights() ); 00457 scale( _4j_hist_m_eff_mu, 50. * 1.04e3 * crossSection()/sumOfWeights() ); 00458 scale( _4j_hist_mT_e, 10. * 1.04e3 * crossSection()/sumOfWeights() ); 00459 scale( _4j_hist_mT_mu, 10. * 1.04e3 * crossSection()/sumOfWeights() ); 00460 scale( _4jl_hist_m_eff_e_final, 100. * 1.04e3 * crossSection()/sumOfWeights() ); 00461 scale( _4jl_hist_m_eff_mu_final, 100. * 1.04e3 * crossSection()/sumOfWeights() ); 00462 scale( _4jt_hist_m_eff_e_final, 100. * 1.04e3 * crossSection()/sumOfWeights() ); 00463 scale( _4jt_hist_m_eff_mu_final, 100. * 1.04e3 * crossSection()/sumOfWeights() ); 00464 00465 00466 } 00467 00468 private: 00469 00470 /// @name Histograms 00471 //@{ 00472 Histo1DPtr _3jl_count_e_channel; 00473 Histo1DPtr _3jl_count_mu_channel; 00474 Histo1DPtr _3jt_count_e_channel; 00475 Histo1DPtr _3jt_count_mu_channel; 00476 Histo1DPtr _3j_hist_eTmiss_e; 00477 Histo1DPtr _3j_hist_eTmiss_mu; 00478 Histo1DPtr _3j_hist_m_eff_e; 00479 Histo1DPtr _3j_hist_m_eff_mu; 00480 Histo1DPtr _3j_hist_mT_e; 00481 Histo1DPtr _3j_hist_mT_mu; 00482 Histo1DPtr _3jl_hist_m_eff_e_final; 00483 Histo1DPtr _3jl_hist_m_eff_mu_final; 00484 Histo1DPtr _3jt_hist_m_eff_e_final; 00485 Histo1DPtr _3jt_hist_m_eff_mu_final; 00486 00487 00488 00489 Histo1DPtr _4jl_count_e_channel; 00490 Histo1DPtr _4jl_count_mu_channel; 00491 Histo1DPtr _4jt_count_e_channel; 00492 Histo1DPtr _4jt_count_mu_channel; 00493 Histo1DPtr _4j_hist_eTmiss_e; 00494 Histo1DPtr _4j_hist_eTmiss_mu; 00495 Histo1DPtr _4j_hist_m_eff_e; 00496 Histo1DPtr _4j_hist_m_eff_mu; 00497 Histo1DPtr _4j_hist_mT_e; 00498 Histo1DPtr _4j_hist_mT_mu; 00499 Histo1DPtr _4jl_hist_m_eff_e_final; 00500 Histo1DPtr _4jl_hist_m_eff_mu_final; 00501 Histo1DPtr _4jt_hist_m_eff_e_final; 00502 Histo1DPtr _4jt_hist_m_eff_mu_final; 00503 00504 00505 //@} 00506 00507 00508 }; 00509 00510 00511 00512 // The hook for the plugin system 00513 DECLARE_RIVET_PLUGIN(ATLAS_2011_S9212353); 00514 00515 } Generated on Tue Sep 30 2014 19:45:41 for The Rivet MC analysis system by ![]() |