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