[Rivet-svn] r3659 - trunk/src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Wed Apr 4 15:38:36 BST 2012


Author: richardn
Date: Wed Apr  4 15:38:36 2012
New Revision: 3659

Log:
include b-tagging efficiency and various other minor fixes

Modified:
   trunk/src/Analyses/ATLAS_2011_CONF_2011_098.cc

Modified: trunk/src/Analyses/ATLAS_2011_CONF_2011_098.cc
==============================================================================
--- trunk/src/Analyses/ATLAS_2011_CONF_2011_098.cc	Wed Apr  4 15:37:51 2012	(r3658)
+++ trunk/src/Analyses/ATLAS_2011_CONF_2011_098.cc	Wed Apr  4 15:38:36 2012	(r3659)
@@ -22,8 +22,8 @@
     /// Constructor
     ATLAS_2011_CONF_2011_098()
       : Analysis("ATLAS_2011_CONF_2011_098"),
-//debug variables
-threeJA(0), threeJB(0), threeJC(0), threeJD(0), bj(0), jets(0), zerolept(0), eTmisscut(0)
+	//debug variables
+	threeJA(0), threeJB(0), threeJC(0), threeJD(0), bj(0), jets(0), zerolept(0), eTmisscut(0)
     {    }
 
     //@}
@@ -52,8 +52,6 @@
       muons.acceptIdPair(MUON);
       addProjection(muons, "muons");
 
-
-
       /// Jet finder
       addProjection(FastJets(FinalState(), FastJets::ANTIKT, 0.4),
                     "AntiKtJets04");
@@ -89,7 +87,8 @@
 
       // Temp: calorimeter module failure with 10% acceptance loss;
       // region unknown ==> randomly choose 10% of events to be vetoed
-      if ( rand()/RAND_MAX < 0.1 )
+
+      if ( rand()/static_cast<double>(RAND_MAX) < 0.1 )
         vetoEvent;
 
       Jets tmp_cand_jets;
@@ -138,15 +137,15 @@
         }
         if ( isolated_e == true )
           cand_lept.push_back( e );
-       }
+      }
 
 
-       bool isolated_mu;
-       foreach ( const Particle & mu, cand_mu ) {
-         isolated_mu = true;
-         foreach ( const Jet& jet, cand_jets ) {
-           if ( deltaR(mu.momentum(),jet.momentum()) < 0.4 )
-             isolated_mu = false;
+      bool isolated_mu;
+      foreach ( const Particle & mu, cand_mu ) {
+	isolated_mu = true;
+	foreach ( const Jet& jet, cand_jets ) {
+	  if ( deltaR(mu.momentum(),jet.momentum()) < 0.4 )
+	    isolated_mu = false;
         }
         if ( isolated_mu == true)
           cand_lept.push_back( mu );
@@ -164,11 +163,13 @@
 
 
       // bjets
-      Jets bjets;
+      Jets bjets,recon_jets;
       foreach (const Jet& j, cand_jets) {
-        if ( j.momentum().pT() > 20*GeV ) {
-          if (j.containsBottom()) bjets += j;
-        }
+	if(fabs( j.momentum().eta() ) <= 2.8) {
+	  recon_jets.push_back(j);
+	  if ( j.containsBottom() && rand()/static_cast<double>(RAND_MAX) < 0.5 )
+	    bjets.push_back(j);
+	}
       }
 
       if (bjets.empty())  {
@@ -176,36 +177,36 @@
         vetoEvent;
       }
 
-++bj;
+      ++bj;
 
 
 
       // Jets event selection
-      if ( cand_jets.size() < 3 )
+      if ( recon_jets.size() < 3 )
         vetoEvent;
-      if ( cand_jets[0].momentum().pT() <= 130*GeV )
+      if ( recon_jets[0].momentum().pT() <= 130*GeV )
         vetoEvent;
-      if ( cand_jets[1].momentum().pT() <= 50*GeV ||
-                cand_jets[2].momentum().pT() <= 50*GeV )
+      if ( recon_jets[1].momentum().pT() <= 50*GeV ||
+	   recon_jets[2].momentum().pT() <= 50*GeV )
         vetoEvent;
-++jets;
+      ++jets;
 
       // eTmiss cut
       if ( eTmiss <= 130*GeV )
         vetoEvent;
 
-++eTmisscut;
+      ++eTmisscut;
 
       // 0-lepton requirement
       if ( !cand_lept.empty() )
         vetoEvent;
-++zerolept;
+      ++zerolept;
 
       // m_eff cut
       double m_eff = eTmiss
-        + cand_jets[0].momentum().pT()
-        + cand_jets[1].momentum().pT()
-        + cand_jets[2].momentum().pT();
+        + recon_jets[0].momentum().pT()
+        + recon_jets[1].momentum().pT()
+        + recon_jets[2].momentum().pT();
 
       if ( eTmiss / m_eff <= 0.25 )
         vetoEvent;
@@ -214,7 +215,7 @@
       // min_dPhi
       double min_dPhi = 999.999;
       for ( int i = 0; i < 3; ++i ) {
-        double dPhi = deltaPhi( pTmiss.phi(), cand_jets[i].momentum().phi() );
+        double dPhi = deltaPhi( pTmiss.phi(), recon_jets[i].momentum().phi() );
         min_dPhi = min( min_dPhi, dPhi );
       }
 
@@ -231,17 +232,17 @@
 
         _hist_meff_1bjet->fill(m_eff, weight);
         _hist_eTmiss_1bjet->fill(eTmiss, weight);
-        _hist_pTj_1bjet->fill(cand_jets[0].momentum().pT(), weight);
+        _hist_pTj_1bjet->fill(recon_jets[0].momentum().pT(), weight);
 
         // 3JA region
         if ( m_eff > 200*GeV ) {
-++threeJA;
+	  ++threeJA;
         _count_threeJA->fill(0.5, weight);
         }
 
         // 3JB region
         if ( m_eff > 700*GeV ) {
-++threeJB;
+	  ++threeJB;
         _count_threeJB->fill(0.5, weight);
         }
       }
@@ -251,17 +252,17 @@
 
         _hist_meff_2bjet->fill(m_eff, weight);
         _hist_eTmiss_2bjet->fill(eTmiss, weight);
-        _hist_pTj_2bjet->fill(cand_jets[0].momentum().pT(), weight);
+        _hist_pTj_2bjet->fill(recon_jets[0].momentum().pT(), weight);
 
         // 3JC region
         if ( m_eff > 500*GeV ) {
-++threeJC;
+	  ++threeJC;
           _count_threeJC->fill(0.5, weight);
         }
 
         // 3JD region
         if ( m_eff > 700*GeV ) {
-++threeJD;
+	  ++threeJD;
           _count_threeJD->fill(0.5, weight);
         }
       }


More information about the Rivet-svn mailing list