|
[Rivet-svn] r3684 - in trunk: data/anainfo data/plotinfo src/Analysesblackhole at projects.hepforge.org blackhole at projects.hepforge.orgMon Apr 16 13:10:22 BST 2012
Author: richardn Date: Mon Apr 16 13:10:22 2012 New Revision: 3684 Log: added ATLAS_2012_I1095236, latest b-jet + MET SUSY search Added: trunk/data/anainfo/ATLAS_2012_I1095236.info - copied, changed from r3662, trunk/data/anainfo/ATLAS_2011_CONF_2011_098.info trunk/data/plotinfo/ATLAS_2012_I1095236.plot trunk/src/Analyses/ATLAS_2012_I1095236.cc - copied, changed from r3651, trunk/src/Analyses/ATLAS_2011_S9212183.cc Modified: trunk/data/anainfo/Makefile.am trunk/data/plotinfo/Makefile.am trunk/src/Analyses/Makefile.am Copied and modified: trunk/data/anainfo/ATLAS_2012_I1095236.info (from r3662, trunk/data/anainfo/ATLAS_2011_CONF_2011_098.info) ============================================================================== --- trunk/data/anainfo/ATLAS_2011_CONF_2011_098.info Wed Apr 4 16:20:39 2012 (r3662, copy source) +++ trunk/data/anainfo/ATLAS_2012_I1095236.info Mon Apr 16 13:10:22 2012 (r3684) @@ -1,24 +1,40 @@ -Name: ATLAS_2011_CONF_2011_098 +Name: ATLAS_2012_I1095236 Year: 2011 -Summary: B-jets search for supersymmetry with 0-leptons +Summary: b-jets search for supersymmetry with 0- and 1-leptons Experiment: ATLAS Collider: LHC -SpiresID: +SpiresID: 1095236 Status: UNVALIDATED Authors: - - Angela Chen <aqchen at fas.harvard.edu> + - Peter Richardson <Peter.Richardson at durham.ac.uk> References: - - arXiv:nnnn.nnnn + - arXiv:1203.6193 RunInfo: BSM signal events at 7000 GeV. NumEvents: 25000 for BSM signals Beams: [p+, p+] Energies: [7000] Description: - 'Search for supersymmmetric particles by ATLAS at 7 TeV in events with b-jets, large missing - energy, and no leptons. - Event counts in four signal regions (1 b-jet, m_eff>500*GeV; 1 b-jet, m_eff>700*GeV; 2 b-jets, - m_eff>500*GeV; 2 b-jets, m_eff>700*GeV) are implemented as one-bin histograms. - Histograms for missing transverse energy, effective mass, and pT of the leading jet are - implemented for the 1 b-tag and 2 b-tag signal regions.' - + 'Search for supersymmmetric particles by ATLAS at 7 TeV in events with b-jets, + large missing + energy, and zero or one leptons. + Event counts in six zero lepton and two one lepton signal regions are implemented + as one-bin histograms. + Histograms for missing transverse energy, and effective mass are also + implemented for some signal regions.' +ibKey: ATLAS2012:1095236 +BibTeX: '@article{ATLAS2012:1095236, + author = "Aad, Georges and others", + title = "{Search for supersymmetry in pp collisions at sqrt(s) = 7 + TeV in final states with missing transverse momentum and + b-jets with the ATLAS detector}", + collaboration = "ATLAS Collaboration", + year = "2012", + note = "15 pages plus author list (28 pages total), 11 figures, 8 + tables, submitted to Physical Review D", + eprint = "1203.6193", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + reportNumber = "CERN-PH-EP-2012-052", + SLACcitation = "%%CITATION = ARXIV:1203.6193;%%", +}' Modified: trunk/data/anainfo/Makefile.am ============================================================================== --- trunk/data/anainfo/Makefile.am Mon Apr 16 13:00:38 2012 (r3683) +++ trunk/data/anainfo/Makefile.am Mon Apr 16 13:10:22 2012 (r3684) @@ -44,6 +44,7 @@ ATLAS_2012_I1083318.info \ ATLAS_2012_I1084540.info \ ATLAS_2012_I1094568.info \ + ATLAS_2012_I1095236.info \ ATLAS_2012_CONF_2012_033.info \ ATLAS_2012_CONF_2012_037.info \ BABAR_2005_S6181155.info \ Added: trunk/data/plotinfo/ATLAS_2012_I1095236.plot ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/data/plotinfo/ATLAS_2012_I1095236.plot Mon Apr 16 13:10:22 2012 (r3684) @@ -0,0 +1,98 @@ +# BEGIN PLOT /ATLAS_2012_I1095236/count_SR0_A1 +Title=Number of events in the SR0-A1 signal region +XLabel= +YLabel=Number of Events +LogY=0 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/count_SR0_B1 +Title=Number of events in the SR\0-B1 signal region +XLabel= +YLabel=Number of Events +LogY=0 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/count_SR0_C1 +Title=Number of events in the SR0-C1 signal region +XLabel= +YLabel=Number of Events +LogY=0 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/count_SR0_A2 +Title=Number of events in the SR0-A2 signal region +XLabel= +YLabel=Number of Events +LogY=0 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/count_SR0_B2 +Title=Number of events in the SR0-B2 signal region +XLabel= +YLabel=Number of Events +LogY=0 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/count_SR0_C2 +Title=Number of events in the SR0-C2 signal region +XLabel= +YLabel=Number of Events +LogY=0 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/count_SR1_D +Title=Number of events in the SR1-D signal region +XLabel= +YLabel=Number of Events +LogY=0 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/count_SR1_E +Title=Number of events in the SR1-E signal region +XLabel= +YLabel=Number of Events +LogY=0 +# END PLOT + +# BEGIN PLOT /ATLAS_2012_I1095236/hist_m_eff_SR0_A1 +Title=Effective Mass for events in signal region SR0-A1 +XLabel=$m_{\mathrm{eff}}$ [GeV] +YLabel=$\mathrm{Events}/100 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/hist_met_SR0_A1 +Title=Missing transverse Energy for events in signal region SR0-A1 +XLabel=$E_{\mathrm{T}}^{\rm miss}$ [GeV] +YLabel=$\mathrm{Events}/50 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/hist_m_eff_SR0_A2 +Title=Effective Mass for events in signal region SR0-A2 +XLabel=$m_{\mathrm{eff}}$ [GeV] +YLabel=$\mathrm{Events}/100 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/hist_met_SR0_A2 +Title=Missing transverse Energy for events in signal region SR0-A2 +XLabel=$E_{\mathrm{T}}^{\rm miss}$ [GeV] +YLabel=$\mathrm{Events}/50 \mathrm{GeV}$ +LogY=1 +# END PLOT + +# BEGIN PLOT /ATLAS_2012_I1095236/hist_meff_SR1_D_e +Title=Effective Mass for events with an electron in the SR1-D signal region +XLabel=$m_{\mathrm{eff}}$ [GeV] +YLabel=$\mathrm{Events}/100 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/hist_met_SR1_D_e +Title=Missing transverse Energy for events with an electron in the SR1-D signal region +XLabel=$E_{\mathrm{T}}^{\rm miss}$ [GeV] +YLabel=$\mathrm{Events}/40 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/hist_meff_SR1_D_mu +Title=Effective Mass for events with an muon in the SR1-D signal region +XLabel=$m_{\mathrm{eff}}$ [GeV] +YLabel=$\mathrm{Events}/100 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_I1095236/hist_met_SR1_D_mu +Title=Missing transverse Energy for events with an muon in the SR1-D signal region +XLabel=$E_{\mathrm{T}}^{\rm miss}$ [GeV] +YLabel=$\mathrm{Events}/40 \mathrm{GeV}$ +LogY=1 +# END PLOT Modified: trunk/data/plotinfo/Makefile.am ============================================================================== --- trunk/data/plotinfo/Makefile.am Mon Apr 16 13:00:38 2012 (r3683) +++ trunk/data/plotinfo/Makefile.am Mon Apr 16 13:10:22 2012 (r3684) @@ -41,6 +41,7 @@ ATLAS_2012_I1083318.plot \ ATLAS_2012_I1084540.plot \ ATLAS_2012_I1094568.plot \ + ATLAS_2012_I1095236.plot \ ATLAS_2012_CONF_2012_033.plot \ ATLAS_2012_CONF_2012_037.plot \ BABAR_2005_S6181155.plot \ Copied and modified: trunk/src/Analyses/ATLAS_2012_I1095236.cc (from r3651, trunk/src/Analyses/ATLAS_2011_S9212183.cc) ============================================================================== --- trunk/src/Analyses/ATLAS_2011_S9212183.cc Sun Mar 25 11:21:04 2012 (r3651, copy source) +++ trunk/src/Analyses/ATLAS_2012_I1095236.cc Mon Apr 16 13:10:22 2012 (r3684) @@ -6,22 +6,23 @@ #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/ChargedFinalState.hh" #include "Rivet/Projections/VisibleFinalState.hh" +#include "Rivet/Projections/VetoedFinalState.hh" #include "Rivet/Projections/IdentifiedFinalState.hh" #include "Rivet/Projections/FastJets.hh" +#include "Rivet/Tools/ParticleIdUtils.hh" namespace Rivet { - - /// @author Chris Wymant - class ATLAS_2011_S9212183 : public Analysis { + /// @author Peter Richardson + class ATLAS_2012_I1095236 : public Analysis { public: /// @name Constructors etc. //@{ /// Constructor - ATLAS_2011_S9212183() - : Analysis("ATLAS_2011_S9212183") + ATLAS_2012_I1095236() + : Analysis("ATLAS_2012_I1095236") { } //@} @@ -50,264 +51,261 @@ addProjection(muons, "muons"); // Jet finder - addProjection(FastJets(FinalState(), FastJets::ANTIKT, 0.4), "AntiKtJets04"); + VetoedFinalState vfs; + vfs.addVetoPairId(MUON); + addProjection(FastJets(vfs, FastJets::ANTIKT, 0.4), "AntiKtJets04"); // All tracks (to do deltaR with leptons) addProjection(ChargedFinalState(-3.0,3.0),"cfs"); - // Used for pTmiss (N.B. the real 'vfs' extends beyond 4.5 to |eta| = 4.9) - addProjection(VisibleFinalState(-4.5,4.5),"vfs"); - + // Used for pTmiss + addProjection(VisibleFinalState(-4.9,4.9),"vfs"); // Book histograms - _count_2j = bookHistogram1D("count_2j", 1, 0., 1.); - _count_3j = bookHistogram1D("count_3j", 1, 0., 1.); - _count_4j5 = bookHistogram1D("count_4j5", 1, 0., 1.); - _count_4j10 = bookHistogram1D("count_4j10", 1, 0., 1.); - _count_HM = bookHistogram1D("count_HM", 1, 0., 1.); - - _hist_meff_2j = bookHistogram1D("m_eff_2j", 30, 0., 3000.); - _hist_meff_3j = bookHistogram1D("m_eff_3j", 30, 0., 3000.); - _hist_meff_4j = bookHistogram1D("m_eff_4j", 30, 0., 3000.); - _hist_meff_HM = bookHistogram1D("m_eff_HM", 20, 0., 3000.); + _count_SR0_A1 = bookHistogram1D("count_SR0_A1", 1, 0., 1.); + _count_SR0_B1 = bookHistogram1D("count_SR0_B1", 1, 0., 1.); + _count_SR0_C1 = bookHistogram1D("count_SR0_C1", 1, 0., 1.); + _count_SR0_A2 = bookHistogram1D("count_SR0_A2", 1, 0., 1.); + _count_SR0_B2 = bookHistogram1D("count_SR0_B2", 1, 0., 1.); + _count_SR0_C2 = bookHistogram1D("count_SR0_C2", 1, 0., 1.); + _count_SR1_D = bookHistogram1D("count_SR1_D" , 1, 0., 1.); + _count_SR1_E = bookHistogram1D("count_SR1_E" , 1, 0., 1.); + + _hist_meff_SR0_A1 = bookHistogram1D("hist_m_eff_SR0_A1", 14, 400., 1800.); + _hist_meff_SR0_A2 = bookHistogram1D("hist_m_eff_SR0_A2", 14, 400., 1800.); + _hist_meff_SR1_D_e = bookHistogram1D("hist_meff_SR1_D_e" , 16, 600., 2200.); + _hist_meff_SR1_D_mu = bookHistogram1D("hist_meff_SR1_D_mu", 16, 600., 2200.); + + _hist_met_SR0_A1 = bookHistogram1D("hist_met_SR0_A1", 14, 0., 700.); + _hist_met_SR0_A2 = bookHistogram1D("hist_met_SR0_A2", 14, 0., 700.); + _hist_met_SR0_D_e = bookHistogram1D("hist_met_SR1_D_e" , 15, 0., 600.); + _hist_met_SR0_D_mu = bookHistogram1D("hist_met_SR1_D_mu", 15, 0., 600.); - _hist_eTmiss = bookHistogram1D("Et_miss", 20, 0., 1000.); } /// Perform the per-event analysis void analyze(const Event& event) { const double weight = event.weight(); - + Jets cand_jets; const Jets jets = applyProjection<FastJets>(event, "AntiKtJets04").jetsByPt(20.0*GeV); foreach (const Jet& jet, jets) { - if ( fabs( jet.momentum().eta() ) < 4.9 ) { - cand_jets.push_back(jet); - } + if ( fabs( jet.momentum().eta() ) < 2.8 ) { + cand_jets.push_back(jet); + } } const ParticleVector cand_e = applyProjection<IdentifiedFinalState>(event, "elecs").particlesByPt(); - // Muon isolation not mentioned in hep-exp 1109.6572, unlike in 1102.5290, - // but assumed to still be applicable - ParticleVector cand_mu; - const ParticleVector chg_tracks = applyProjection<ChargedFinalState>(event, "cfs").particles(); - const ParticleVector muons = applyProjection<IdentifiedFinalState>(event, "muons").particlesByPt(); - foreach (const Particle& mu, muons) { - double pTinCone = -mu.momentum().pT(); - foreach (const Particle& track, chg_tracks) { - if ( deltaR(mu.momentum(),track.momentum()) <= 0.2 ) { - pTinCone += track.momentum().pT(); - } - } - if ( pTinCone < 1.8*GeV ) cand_mu.push_back(mu); - } - + const ParticleVector cand_mu = applyProjection<IdentifiedFinalState>(event, "muons").particlesByPt(); // Resolve jet-lepton overlap for jets with |eta| < 2.8 - Jets cand_jets_2; + Jets recon_jets; foreach ( const Jet& jet, cand_jets ) { - if ( fabs( jet.momentum().eta() ) >= 2.8 ) { - cand_jets_2.push_back( jet ); - } else { - bool away_from_e = true; - foreach ( const Particle & e, cand_e ) { - if ( deltaR(e.momentum(),jet.momentum()) <= 0.2 ) { - away_from_e = false; - break; - } - } - if ( away_from_e ) cand_jets_2.push_back( jet ); - } - } - - - ParticleVector recon_e, recon_mu; - + if ( fabs( jet.momentum().eta() ) >= 2.8 ) continue; + bool away_from_e = true; + foreach ( const Particle & e, cand_e ) { + if ( deltaR(e.momentum(),jet.momentum()) <= 0.2 ) { + away_from_e = false; + break; + } + } + if ( away_from_e ) recon_jets.push_back( jet ); + } + + // get the loose leptons used to define the 0 lepton channel + ParticleVector loose_e, loose_mu; foreach ( const Particle & e, cand_e ) { bool away = true; - foreach ( const Jet& jet, cand_jets_2 ) { + foreach ( const Jet& jet, recon_jets ) { if ( deltaR(e.momentum(),jet.momentum()) < 0.4 ) { away = false; break; } } - if ( away ) recon_e.push_back( e ); + if ( away ) loose_e.push_back( e ); } - foreach ( const Particle & mu, cand_mu ) { bool away = true; - foreach ( const Jet& jet, cand_jets_2 ) { + foreach ( const Jet& jet, recon_jets ) { if ( deltaR(mu.momentum(),jet.momentum()) < 0.4 ) { away = false; break; } } - if ( away ) recon_mu.push_back( mu ); + if ( away ) loose_mu.push_back( mu ); + } + // tight leptons for the 1-lepton channel + ParticleVector tight_mu; + ParticleVector chg_tracks = + applyProjection<ChargedFinalState>(event, "cfs").particles(); + foreach ( const Particle & mu, loose_mu) { + if(mu.momentum().perp()<20.) continue; + double pTinCone = -mu.momentum().pT(); + foreach ( const Particle & track, chg_tracks ) { + if ( deltaR(mu.momentum(),track.momentum()) <= 0.2 ) + pTinCone += track.momentum().pT(); + } + if ( pTinCone < 1.8*GeV ) + tight_mu.push_back(mu); + } + ParticleVector tight_e; + foreach ( const Particle & e, loose_e ) { + if(e.momentum().perp()<25.) continue; + double pTinCone = -e.momentum().perp(); + foreach ( const Particle & track, chg_tracks ) { + if ( deltaR(e.momentum(),track.momentum()) <= 0.2 ) + pTinCone += track.momentum().pT(); + } + if (pTinCone/e.momentum().perp()<0.1) { + tight_e.push_back(e); + } } - // pTmiss - // Based on all candidate electrons, muons and jets, plus everything else with |eta| < 4.5 - // i.e. everything in our projection "vfs" plus the jets with |eta| > 4.5 - ParticleVector vfs_particles = applyProjection<VisibleFinalState>(event, "vfs").particles(); + ParticleVector vfs_particles = + applyProjection<VisibleFinalState>(event, "vfs").particles(); FourMomentum pTmiss; foreach ( const Particle & p, vfs_particles ) { pTmiss -= p.momentum(); } - foreach ( const Jet& jet, cand_jets_2 ) { - if ( fabs( jet.momentum().eta() ) > 4.5 ) pTmiss -= jet.momentum(); - } double eTmiss = pTmiss.pT(); + // get the number of b-tagged jets + unsigned int ntagged=0; + foreach (const Jet & jet, recon_jets ) { + if(jet.momentum().perp()>50. && abs(jet.momentum().eta())<2.5 && + jet.containsBottom() && rand()/static_cast<double>(RAND_MAX)<=0.60) + ++ntagged; + } + + // ATLAS calo problem + if(rand()/static_cast<double>(RAND_MAX)<=0.42) { + foreach ( const Jet & jet, recon_jets ) { + double eta = jet.momentum().rapidity(); + double phi = jet.momentum().azimuthalAngle(MINUSPI_PLUSPI); + if(jet.momentum().perp()>50 && eta>-0.1&&eta<1.5&&phi>-0.9&&phi<-0.5) + vetoEvent; + } + } + + // at least 1 b tag + if(ntagged==0) vetoEvent; + + // minumum Et miss + if(eTmiss<80.) vetoEvent; + + // at least 3 jets pT > 50 + if(recon_jets.size()<3 || recon_jets[2].momentum().perp()<50.) + vetoEvent; - // Final jet filter - Jets recon_jets; - foreach ( const Jet& jet, cand_jets_2 ) { - if ( fabs( jet.momentum().eta() ) <= 2.8 ) recon_jets.push_back( jet ); - } - // NB. It seems that jets with |eta| > 2.8 could have been thrown away at - // the start; we don't do so, in order to follow both the structure of - // the paper and the similar Rivet analysis ATLAS_2011_S8983313 - - // 'candidate' muons needed only 10 GeV, to cause a veto they need 20 GeV - ParticleVector veto_mu; - foreach ( const Particle & mu, cand_mu ) { - if ( mu.momentum().pT() >= 20.0*GeV ) veto_mu.push_back(mu); - } - - if ( ! ( veto_mu.empty() && recon_e.empty() ) ) { - MSG_DEBUG("Charged leptons left after selection"); - vetoEvent; - } - - if ( eTmiss <= 130 * GeV ) { - MSG_DEBUG("Not enough eTmiss: " << eTmiss << " < 130"); - vetoEvent; - } - - if ( recon_jets.empty() || recon_jets[0].momentum().pT() <= 130.0 * GeV ) { - MSG_DEBUG("No hard leading jet in " << recon_jets.size() << " jets"); - vetoEvent; - } - - // ==================== observables ==================== + // m_eff + double m_eff = eTmiss; + for(unsigned int ix=0;ix<3;++ix) + m_eff += recon_jets[ix].momentum().perp(); - int Njets = 0; + // delta Phi double min_dPhi = 999.999; double pTmiss_phi = pTmiss.phi(); - foreach ( const Jet& jet, recon_jets ) { - if ( jet.momentum().pT() > 40 * GeV ) { - if ( Njets < 3 ) { - min_dPhi = min( min_dPhi, deltaPhi( pTmiss_phi, jet.momentum().phi() ) ); - } - ++Njets; - } + for(unsigned int ix=0;ix<3;++ix) { + min_dPhi = min( min_dPhi, deltaPhi( pTmiss_phi, recon_jets[ix].momentum().phi() ) ); } - int NjetsHighMass = 0; - foreach ( const Jet& jet, recon_jets ) { - if ( jet.momentum().pT() > 80.0 * GeV ) { - ++NjetsHighMass; - } - } - - if ( Njets < 2 ) { - MSG_DEBUG("Only " << Njets << " >40 GeV jets left"); - vetoEvent; - } - - if ( min_dPhi <= 0.4 ) { - MSG_DEBUG("dPhi too small"); - vetoEvent; - } - - // m_eff - double m_eff_2j = eTmiss + recon_jets[0].momentum().pT() + recon_jets[1].momentum().pT(); - double m_eff_3j = recon_jets.size() < 3 ? -999.0 : m_eff_2j + recon_jets[2].momentum().pT(); - double m_eff_4j = recon_jets.size() < 4 ? -999.0 : m_eff_3j + recon_jets[3].momentum().pT(); - double m_eff_HM = eTmiss; - foreach ( const Jet& jet, recon_jets ) { - if ( jet.momentum().pT() > 40.0 * GeV ) m_eff_HM += jet.momentum().pT(); - } - - double et_meff_2j = eTmiss / m_eff_2j; - double et_meff_3j = eTmiss / m_eff_3j; - double et_meff_4j = eTmiss / m_eff_4j; - double et_meff_HM = eTmiss / m_eff_HM; - - - // ==================== FILL ==================== - - MSG_DEBUG( "Trying to fill " - << Njets << ' ' - << m_eff_2j << ' ' - << et_meff_2j << ' ' - << m_eff_3j << ' ' - << et_meff_3j << ' ' - << m_eff_4j << ' ' - << et_meff_4j << ' ' - << m_eff_HM << ' ' - << et_meff_HM ); - - - _hist_eTmiss->fill(eTmiss, weight); - - - // 2j region - if ( et_meff_2j > 0.3 ) { - _hist_meff_2j->fill(m_eff_2j, weight); - if ( m_eff_2j > 1000 * GeV ) { - MSG_DEBUG("Hits 2j"); - _count_2j->fill(0.5, weight); - } + // 0-lepton channels + if(loose_e.empty() && loose_mu.empty() && + recon_jets[0].momentum().perp()>130. && eTmiss>130. && + eTmiss/m_eff>0.25 && min_dPhi>0.4) { + // jet charge cut + bool jetCharge = true; + for(unsigned int ix=0;ix<3;++ix) { + if(fabs(recon_jets[ix].momentum().eta())>2.) continue; + double trackpT=0; + foreach(const Particle & p, recon_jets[ix].particles()) { + if(PID::threeCharge(p.pdgId())==0) continue; + trackpT += p.momentum().perp(); + } + if(trackpT/recon_jets[ix].momentum().perp()<0.05) + jetCharge = false; + } + if(jetCharge) { + // SR0-A region + if(m_eff>500.) { + _count_SR0_A1->fill(0.5,weight); + _hist_meff_SR0_A1->fill(m_eff,weight); + _hist_met_SR0_A1 ->fill(eTmiss,weight); + if(ntagged>=2) { + _count_SR0_A2->fill(0.5,weight); + _hist_meff_SR0_A2->fill(m_eff,weight); + _hist_met_SR0_A2 ->fill(eTmiss,weight); + } + } + // SR0-B + if(m_eff>700.) { + _count_SR0_B1->fill(0.5,weight); + if(ntagged>=2) _count_SR0_B2->fill(0.5,weight); + } + // SR0-C + if(m_eff>900.) { + _count_SR0_C1->fill(0.5,weight); + if(ntagged>=2) _count_SR0_C2->fill(0.5,weight); + } + } + } + + // 1-lepton channels + if(tight_e.size() + tight_mu.size() == 1 && + recon_jets.size()>=4 && recon_jets[3].momentum().perp()>50.&& + recon_jets[0].momentum().perp()>60.) { + Particle lepton = tight_e.empty() ? tight_mu[0] : tight_e[0]; + m_eff += lepton.momentum().perp() + recon_jets[3].momentum().perp(); + // transverse mass cut + double mT = 2.*(lepton.momentum().perp()*eTmiss- + lepton.momentum().x()*pTmiss.x()- + lepton.momentum().y()*pTmiss.y()); + mT = sqrt(mT); + if(mT>100.&&m_eff>700.) { + // D region + _count_SR1_D->fill(0.5,weight); + if(abs(lepton.pdgId())==ELECTRON) { + _hist_meff_SR1_D_e->fill(m_eff,weight); + _hist_met_SR0_D_e->fill(eTmiss,weight); + } + else { + _hist_meff_SR1_D_mu->fill(m_eff,weight); + _hist_met_SR0_D_mu->fill(eTmiss,weight); + } + // E region + if(eTmiss>200.) { + _count_SR1_E->fill(0.5,weight); + } + } } - - - // 3j region - if ( Njets >= 3 && et_meff_3j > 0.25 ) { - _hist_meff_3j->fill(m_eff_3j, weight); - if ( m_eff_3j > 1000 * GeV ) { - MSG_DEBUG("Hits 3j"); - _count_3j->fill(0.5, weight); - } - } - - - // 4j5 & 4j10 regions - if ( Njets >= 4 && et_meff_4j > 0.25 ) { - _hist_meff_4j->fill(m_eff_4j, weight); - if ( m_eff_4j > 500 * GeV ) { - MSG_DEBUG("Hits 4j5"); - _count_4j5->fill(0.5, weight); - } - if ( m_eff_4j > 1000 * GeV ) { - MSG_DEBUG("Hits 4j10"); - _count_4j10->fill(0.5, weight); - } - } - - - // High mass region - if ( NjetsHighMass >= 4 && et_meff_HM > 0.2 ) { - _hist_meff_HM->fill(m_eff_HM, weight); - if ( m_eff_HM > 1100 * GeV ) { - MSG_DEBUG("Hits HM"); - _count_HM->fill(0.5, weight); - } - } - } void finalize() { - // Two, three and four jet channels have bin width = 100 (GeV) - // High mass channel has bin width = 150 (GeV) - // Integrated luminosity = 1040 (pb) - scale( _hist_meff_2j, 100. * 1040 * crossSection()/sumOfWeights() ); - scale( _hist_meff_3j, 100. * 1040 * crossSection()/sumOfWeights() ); - scale( _hist_meff_4j, 100. * 1040 * crossSection()/sumOfWeights() ); - scale( _hist_meff_HM, 150. * 1040 * crossSection()/sumOfWeights() ); + + double norm = crossSection()/femtobarn*2.05/sumOfWeights(); + // these are number of events at 2.05fb^-1 per 100 GeV + scale( _hist_meff_SR0_A1 , 100. * norm ); + scale( _hist_meff_SR0_A2 , 100. * norm ); + scale( _hist_meff_SR1_D_e , 100. * norm ); + scale( _hist_meff_SR1_D_mu , 100. * norm ); + // these are number of events at 2.05fb^-1 per 50 GeV + scale( _hist_met_SR0_A1, 50. * norm ); + scale( _hist_met_SR0_A2, 40. * norm ); + // these are number of events at 2.05fb^-1 per 40 GeV + scale( _hist_met_SR0_D_e , 40. * norm ); + scale( _hist_met_SR0_D_mu, 40. * norm ); + // these are number of events at 2.05fb^-1 + scale(_count_SR0_A1,norm); + scale(_count_SR0_B1,norm); + scale(_count_SR0_C1,norm); + scale(_count_SR0_A2,norm); + scale(_count_SR0_B2,norm); + scale(_count_SR0_C2,norm); + scale(_count_SR1_D ,norm); + scale(_count_SR1_E ,norm); } //@} @@ -315,21 +313,28 @@ private: - AIDA::IHistogram1D* _count_2j; - AIDA::IHistogram1D* _count_3j; - AIDA::IHistogram1D* _count_4j5; - AIDA::IHistogram1D* _count_4j10; - AIDA::IHistogram1D* _count_HM; - AIDA::IHistogram1D* _hist_meff_2j; - AIDA::IHistogram1D* _hist_meff_3j; - AIDA::IHistogram1D* _hist_meff_4j; - AIDA::IHistogram1D* _hist_meff_HM; - AIDA::IHistogram1D* _hist_eTmiss; - + AIDA::IHistogram1D* _count_SR0_A1; + AIDA::IHistogram1D* _count_SR0_B1; + AIDA::IHistogram1D* _count_SR0_C1; + AIDA::IHistogram1D* _count_SR0_A2; + AIDA::IHistogram1D* _count_SR0_B2; + AIDA::IHistogram1D* _count_SR0_C2; + AIDA::IHistogram1D* _count_SR1_D; + AIDA::IHistogram1D* _count_SR1_E; + + AIDA::IHistogram1D* _hist_meff_SR0_A1; + AIDA::IHistogram1D* _hist_meff_SR0_A2; + AIDA::IHistogram1D* _hist_meff_SR1_D_e; + AIDA::IHistogram1D* _hist_meff_SR1_D_mu; + AIDA::IHistogram1D* _hist_met_SR0_A1; + AIDA::IHistogram1D* _hist_met_SR0_A2; + AIDA::IHistogram1D* _hist_met_SR0_D_e; + AIDA::IHistogram1D* _hist_met_SR0_D_mu; + }; // This global object acts as a hook for the plugin system - DECLARE_RIVET_PLUGIN(ATLAS_2011_S9212183); + DECLARE_RIVET_PLUGIN(ATLAS_2012_I1095236); } Modified: trunk/src/Analyses/Makefile.am ============================================================================== --- trunk/src/Analyses/Makefile.am Mon Apr 16 13:00:38 2012 (r3683) +++ trunk/src/Analyses/Makefile.am Mon Apr 16 13:10:22 2012 (r3684) @@ -77,6 +77,7 @@ ATLAS_2011_S9108483.cc \ ATLAS_2011_S9225137.cc \ ATLAS_2012_I1083318.cc \ + ATLAS_2012_I1095236.cc \ ATLAS_2012_CONF_2012_033.cc \ ATLAS_2012_CONF_2012_037.cc endif
More information about the Rivet-svn mailing list |