[Rivet-svn] r3760 - in branches/2011-07-aida2yoda: data/anainfo data/plotinfo src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Fri Jun 8 15:39:55 BST 2012


Author: hoeth
Date: Fri Jun  8 15:39:55 2012
New Revision: 3760

Log:
merge c3729, 3731, 3747 from trunk

Modified:
   branches/2011-07-aida2yoda/data/anainfo/ATLAS_2012_CONF_2012_001.info
   branches/2011-07-aida2yoda/data/plotinfo/ATLAS_2012_CONF_2012_001.plot
   branches/2011-07-aida2yoda/src/Analyses/ATLAS_2012_CONF_2012_001.cc
   branches/2011-07-aida2yoda/src/Analyses/Makefile.am

Modified: branches/2011-07-aida2yoda/data/anainfo/ATLAS_2012_CONF_2012_001.info
==============================================================================
--- branches/2011-07-aida2yoda/data/anainfo/ATLAS_2012_CONF_2012_001.info	Fri Jun  8 15:33:43 2012	(r3759)
+++ branches/2011-07-aida2yoda/data/anainfo/ATLAS_2012_CONF_2012_001.info	Fri Jun  8 15:39:55 2012	(r3760)
@@ -1,5 +1,5 @@
 Name: ATLAS_2012_CONF_2012_001
-Year: 2011
+Year: 2012
 Summary: 4 or more lepton plus missing transverse energy SUSY search
 Experiment: ATLAS
 Collider: LHC
@@ -8,6 +8,7 @@
  - Peter Richardson <peter.richardson at durham.ac.uk>
 References:
  - ATLAS-CONF-2012-001
+ - ATLAS-CONF-2012-035
 RunInfo:
   BSM signal events at 7000 GeV.
 NumEvents: 25000 for BSM signals

Modified: branches/2011-07-aida2yoda/data/plotinfo/ATLAS_2012_CONF_2012_001.plot
==============================================================================
--- branches/2011-07-aida2yoda/data/plotinfo/ATLAS_2012_CONF_2012_001.plot	Fri Jun  8 15:33:43 2012	(r3759)
+++ branches/2011-07-aida2yoda/data/plotinfo/ATLAS_2012_CONF_2012_001.plot	Fri Jun  8 15:39:55 2012	(r3760)
@@ -60,3 +60,57 @@
 YLabel=$\mathrm{Events}/50$\,GeV
 LogY=1
 # END PLOT
+
+
+
+
+
+# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_lepton_pT_1
+Title=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ for the leading lepton
+XLabel=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ [GeV]
+YLabel=$\mathrm{Events}/10 \mathrm{GeV}$
+LogY=1
+# END PLOT
+# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_lepton_pT_2
+Title=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ for the $2^{\rm nd}$ leading lepton
+XLabel=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ [GeV]
+YLabel=$\mathrm{Events}/10 \mathrm{GeV}$
+LogY=1
+# END PLOT
+# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_lepton_pT_3
+Title=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ for the  $3^{\rm rd}$ leading lepton
+XLabel=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ [GeV]
+YLabel=$\mathrm{Events}/5 \mathrm{GeV}$
+LogY=1
+# END PLOT
+# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_lepton_pT_4
+Title=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ for the  $4^{\rm th}$ leading lepton
+XLabel=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ [GeV]
+YLabel=$\mathrm{Events}/5 \mathrm{GeV}$
+LogY=1
+# END PLOT
+
+# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_njet
+Title=Number of Jets
+XLabel=Number of Jets
+YLabel=Events
+LogY=1
+# END PLOT
+# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_etmiss
+Title=Missing Transverse Energy
+XLabel=$E^{\rm miss}_{\mathrm{T}}$ [GeV]
+YLabel=$\mathrm{Events}/20$\,GeV
+LogY=1
+# END PLOT
+# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_m_SFOS
+Title=Mass of SFOF lepton pair closest to the $Z^0$ mass
+XLabel=$M_{\mathrm{SFOS}}$ [GeV]
+YLabel=$\mathrm{Events}/20$\,GeV
+LogY=1
+# END PLOT
+# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_m_eff
+Title=Effective Mass
+XLabel=$M_{\mathrm{eff}}$ [GeV]
+YLabel=$\mathrm{Events}/50$\,GeV
+LogY=1
+# END PLOT

Modified: branches/2011-07-aida2yoda/src/Analyses/ATLAS_2012_CONF_2012_001.cc
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/ATLAS_2012_CONF_2012_001.cc	Fri Jun  8 15:33:43 2012	(r3759)
+++ branches/2011-07-aida2yoda/src/Analyses/ATLAS_2012_CONF_2012_001.cc	Fri Jun  8 15:39:55 2012	(r3760)
@@ -68,10 +68,20 @@
       _hist_leptonpT.push_back(bookHisto1D(2,1,1));
       _hist_leptonpT.push_back(bookHisto1D(3,1,1));
       _hist_leptonpT.push_back(bookHisto1D(4,1,1));
-      _hist_njet      = bookHisto1D(5,1,1);
-      _hist_etmiss    = bookHisto1D(6,1,1);
-      _hist_mSFOS     = bookHisto1D(7,1,1);
-      _hist_meff      = bookHisto1D(8,1,1);
+      _hist_njet   = bookHisto1D(5,1,1);
+      _hist_etmiss = bookHisto1D(6,1,1);
+      _hist_mSFOS  = bookHisto1D(7,1,1);
+      _hist_meff   = bookHisto1D(8,1,1);
+
+      _hist_leptonpT_MC.push_back(bookHisto1D("hist_lepton_pT_1", 26, 0., 260));
+      _hist_leptonpT_MC.push_back(bookHisto1D("hist_lepton_pT_2", 15, 0., 150));
+      _hist_leptonpT_MC.push_back(bookHisto1D("hist_lepton_pT_3", 20, 0., 100));
+      _hist_leptonpT_MC.push_back(bookHisto1D("hist_lepton_pT_4", 20, 0., 100));
+      _hist_njet_MC   = bookHisto1D("hist_njet", 7, -0.5, 6.5);
+      _hist_etmiss_MC = bookHisto1D("hist_etmiss",11,0.,220.);
+      _hist_mSFOS_MC  = bookHisto1D("hist_m_SFOS",13,0.,260.);
+      _hist_meff_MC   = bookHisto1D("hist_m_eff",19,0.,950.);
+
       _count_SR1 = bookHisto1D("count_SR1", 1, 0., 1.);
       _count_SR2 = bookHisto1D("count_SR2", 1, 0., 1.);
     }
@@ -138,7 +148,9 @@
 
       // only keep electrons more than R=0.4 from jets
       ParticleVector recon_e;
-      foreach ( const Particle & e, cand_e ) {
+      for(unsigned int ie=0;ie<cand_e.size();++ie) {
+        const Particle & e = cand_e[ie];
+        // at least 0.4 from any jets
         bool away = true;
         foreach ( const Jet& jet, recon_jets ) {
           if ( deltaR(e.momentum(),jet.momentum()) < 0.4 ) {
@@ -147,22 +159,33 @@
           }
         }
         // and 0.1 from any muons
-        if ( ! away ) {
-          foreach ( const Particle & mu, cand_e ) {
+        if ( away ) {
+          foreach ( const Particle & mu, cand_mu ) {
             if ( deltaR(mu.momentum(),e.momentum()) < 0.1 ) {
               away = false;
               break;
             }
           }
         }
+        // and 0.1 from electrons
+        for(unsigned int ie2=0;ie2<cand_e.size();++ie2) {
+          if(ie==ie2) continue;
+          if ( deltaR(e.momentum(),cand_e[ie2].momentum()) < 0.1 ) {
+            away = false;
+            break;
+          }
+        }
+        // if isolated keep it
         if ( away )
           recon_e.push_back( e );
       }
 
       // only keep muons more than R=0.4 from jets
       ParticleVector recon_mu;
-      foreach ( const Particle & mu, cand_mu ) {
+      for(unsigned int imu=0;imu<cand_mu.size();++imu) {
+        const Particle & mu = cand_mu[imu];
         bool away = true;
+        // at least 0.4 from any jets
         foreach ( const Jet& jet, recon_jets ) {
           if ( deltaR(mu.momentum(),jet.momentum()) < 0.4 ) {
             away = false;
@@ -170,7 +193,7 @@
           }
         }
         // and 0.1 from any electrona
-        if ( ! away ) {
+        if ( away ) {
           foreach ( const Particle & e, cand_e ) {
             if ( deltaR(mu.momentum(),e.momentum()) < 0.1 ) {
               away = false;
@@ -178,6 +201,14 @@
             }
           }
         }
+        // and 0.1 from muons
+        for(unsigned int imu2=0;imu2<cand_mu.size();++imu2) {
+          if(imu==imu2) continue;
+          if ( deltaR(mu.momentum(),cand_mu[imu2].momentum()) < 0.1 ) {
+            away = false;
+            break;
+          }
+        }
         if ( away )
           recon_mu.push_back( mu );
       }
@@ -233,7 +264,7 @@
         if(pT>40.) meff += pT;
       }
 
-      double mSFOS=1e30, mdiff=1e30;
+      double mSFOS=1e30, mdiff=1e30,mMin=1e30;
       // mass of SFOS pairs closest to the Z mass
       for(unsigned int ix=0;ix<recon_e.size();++ix) {
         for(unsigned int iy=ix+1;iy<recon_e.size();++iy) {
@@ -243,18 +274,28 @@
             mSFOS = mtest;
             mdiff = fabs(mtest-90.);
           }
+          else if(mMin>mtest) {
+            mMin = mtest;
+          }
         }
       }
       for(unsigned int ix=0;ix<recon_mu.size();++ix) {
         for(unsigned int iy=ix+1;iy<recon_mu.size();++iy) {
           if(recon_mu[ix].pdgId()*recon_mu[iy].pdgId()>0) continue;
           double mtest = (recon_mu[ix].momentum()+recon_mu[iy].momentum()).mass();
-          if(fabs(mtest-90.)<mdiff) {
+          if(fabs(mtest-91.118)<mdiff) {
             mSFOS = mtest;
-            mdiff = fabs(mtest-90.);
+            mdiff = fabs(mtest-91.118);
+          }
+          else if(mMin>mtest) {
+            mMin = mtest;
           }
         }
       }
+      // cut to reject low mass Drell-Yan
+      if(mMin<=20.) {
+        vetoEvent;
+      }
 
       // make the control plots
       // lepton pT
@@ -265,25 +306,33 @@
         double pTmu = imu<recon_mu.size() ?
           recon_mu[imu].momentum().perp() : -1*GeV;
         if(pTe>pTmu) {
-          _hist_leptonpT[ix]->fill(pTe ,weight);
+          _hist_leptonpT   [ix]->fill(pTe ,weight);
+          _hist_leptonpT_MC[ix]->fill(pTe ,weight);
           ++ie;
         }
         else {
-          _hist_leptonpT[ix]->fill(pTmu,weight);
+          _hist_leptonpT   [ix]->fill(pTmu,weight);
+          _hist_leptonpT_MC[ix]->fill(pTmu,weight);
           ++imu;
         }
       }
       // njet
-      _hist_njet->fill(recon_jets.size(),weight);
+      _hist_njet   ->fill(recon_jets.size(),weight);
+      _hist_njet_MC->fill(recon_jets.size(),weight);
       // etmiss
-      _hist_etmiss->fill(eTmiss,weight);
-      if(mSFOS<1e30) _hist_mSFOS->fill(mSFOS,weight);
-      _hist_meff->fill(meff,weight);
+      _hist_etmiss   ->fill(eTmiss,weight);
+      _hist_etmiss_MC->fill(eTmiss,weight);
+      if(mSFOS<1e30) {
+        _hist_mSFOS   ->fill(mSFOS,weight);
+        _hist_mSFOS_MC->fill(mSFOS,weight);
+      }
+      _hist_meff   ->fill(meff,weight);
+      _hist_meff_MC->fill(meff,weight);
 
       // finally the counts
       if(eTmiss>50.) {
         _count_SR1->fill(0.5,weight);
-        if(mdiff<10.) _count_SR2->fill(0.5,weight);
+        if(mdiff>10.) _count_SR2->fill(0.5,weight);
       }
     }
 
@@ -292,18 +341,26 @@
     void finalize() {
       double norm = crossSection()/femtobarn*2.06/sumOfWeights();
       // these are number of events at 2.06fb^-1 per 10 GeV
-      scale(_hist_leptonpT[0],norm*10.);
-      scale(_hist_leptonpT[1],norm*10.);
+      scale(_hist_leptonpT   [0],norm*10.);
+      scale(_hist_leptonpT   [1],norm*10.);
+      scale(_hist_leptonpT_MC[0],norm*10.);
+      scale(_hist_leptonpT_MC[1],norm*10.);
       // these are number of events at 2.06fb^-1 per 5 GeV
-      scale(_hist_leptonpT[2],norm*5.);
-      scale(_hist_leptonpT[3],norm*5.);
+      scale(_hist_leptonpT   [2],norm*5.);
+      scale(_hist_leptonpT   [3],norm*5.);
+      scale(_hist_leptonpT_MC[2],norm*5.);
+      scale(_hist_leptonpT_MC[3],norm*5.);
       // these are number of events at 2.06fb^-1 per 20 GeV
-      scale(_hist_etmiss   ,norm*20.);
-      scale(_hist_mSFOS    ,norm*20.);
+      scale(_hist_etmiss      ,norm*20.);
+      scale(_hist_mSFOS       ,norm*20.);
+      scale(_hist_etmiss_MC   ,norm*20.);
+      scale(_hist_mSFOS_MC    ,norm*20.);
       // these are number of events at 2.06fb^-1 per 50 GeV
-      scale(_hist_meff     ,norm*50.);
+      scale(_hist_meff_MC     ,norm*50.);
+      scale(_hist_meff_MC     ,norm*50.);
       // these are number of events at 2.06fb^-1
-      scale(_hist_njet     ,norm);
+      scale(_hist_njet        ,norm);
+      scale(_hist_njet_MC     ,norm);
       scale(_count_SR1,norm);
       scale(_count_SR2,norm);
     }
@@ -312,11 +369,15 @@
 
     /// @name Histograms
     //@{
-    vector<Histo1DPtr> _hist_leptonpT;
+    vector<Histo1DPtr> _hist_leptonpT,_hist_leptonpT_MC;
     Histo1DPtr _hist_njet;
+    Histo1DPtr _hist_njet_MC;
     Histo1DPtr _hist_etmiss;
+    Histo1DPtr _hist_etmiss_MC;
     Histo1DPtr _hist_mSFOS;
+    Histo1DPtr _hist_mSFOS_MC;
     Histo1DPtr _hist_meff;
+    Histo1DPtr _hist_meff_MC;
     Histo1DPtr _count_SR1;
     Histo1DPtr _count_SR2;
     //@}

Modified: branches/2011-07-aida2yoda/src/Analyses/Makefile.am
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/Makefile.am	Fri Jun  8 15:33:43 2012	(r3759)
+++ branches/2011-07-aida2yoda/src/Analyses/Makefile.am	Fri Jun  8 15:39:55 2012	(r3760)
@@ -73,6 +73,7 @@
     ATLAS_2012_I1112263.cc
 if ENABLE_PRELIMINARY
 RivetATLASAnalyses_la_SOURCES += \
+    ATLAS_2012_CONF_2012_001.cc \
     ATLAS_2012_CONF_2012_033.cc \
     ATLAS_2012_CONF_2012_037.cc
 endif
@@ -88,7 +89,6 @@
     ATLAS_2012_I1083318.cc \
     ATLAS_2012_I1095236.cc \
     ATLAS_2012_I1082009.cc \
-    ATLAS_2012_CONF_2012_001.cc \
     ATLAS_2012_CONF_2012_041.cc
 endif
 


More information about the Rivet-svn mailing list