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