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