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

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Mon Aug 17 18:11:15 BST 2009


Author: holsch
Date: Mon Aug 17 18:11:15 2009
New Revision: 1757

Log:
Filling |eta| instead of eta, implemented trigger requirements from BBC counters and event selection criterion from TimeProjectionChambers -- something is still missing, we overshoot in the central eta region.

Modified:
   trunk/src/Analyses/CDF_1990_S2089246.cc

Modified: trunk/src/Analyses/CDF_1990_S2089246.cc
==============================================================================
--- trunk/src/Analyses/CDF_1990_S2089246.cc	Mon Aug 17 17:06:34 2009	(r1756)
+++ trunk/src/Analyses/CDF_1990_S2089246.cc	Mon Aug 17 18:11:15 2009	(r1757)
@@ -16,6 +16,7 @@
   {
     setBeams(PROTON, ANTIPROTON);
     addProjection(ChargedFinalState(-3.5, 3.5), "FS");
+    addProjection(ChargedFinalState(-5.9, 5.9), "CFSAll");
     addProjection(Beam(), "Beam");
   }
 
@@ -33,13 +34,42 @@
     const double sqrtS = applyProjection<Beam>(event, "Beam").sqrtS();
     const double weight = event.weight();
 
+    // Minimum Bias trigger requirements from the BBC counters
+    int n_trig_1 = 0;
+    int n_trig_2 = 0;
+
+    // Event selection based on tracks in VTPC (time projection chambers)
+    // Require at least 4 tracks with at least one in each of the forward
+    // and backward hemispheres
+    int n_backward= 0;
+    int n_forward = 0;
+    
+    const ChargedFinalState& cfs = applyProjection<ChargedFinalState>(event, "CFSAll");
+    foreach (const Particle& p, cfs.particles()) {
+         double eta = p.momentum().pseudorapidity();
+         if ( ( -5.9 < eta ) && ( eta < -3.2 ) ) n_trig_1++;
+         else if ( ( 3.2 < eta ) && ( eta < 5.9 ) ) n_trig_2++;
+
+         if ( ( -3.0 < eta ) && ( eta < 0.0 ) ) n_backward++;
+         else if ( ( 0.0 < eta ) && ( eta < 3.0 ) ) n_forward++;
+    }
+        
+    // Require at least one coincidence hit in both BBC counters
+    if ( n_trig_1* n_trig_2 < 1. ) vetoEvent; 
+    getLog() << Log::DEBUG << "Trigger 1: " << n_trig_1 << " Trigger 2: " << n_trig_2 << endl;
+  
+    // Further event selection cut
+    if ( (  n_backward+n_forward < 4 ) || ( n_backward*n_forward < 1.) ) vetoEvent;
+    getLog() << Log::DEBUG << " Num. forward: " << n_forward  << " Num. backward: " << n_backward << endl;
+
+    // Loop over final state charged particles 
     const FinalState& fs = applyProjection<FinalState>(event, "FS");
     foreach (const Particle& p, fs.particles()) {
       const double eta = p.momentum().pseudorapidity();
       if (fuzzyEquals(sqrtS/GeV, 630)) {
-        _hist_eta630->fill(eta, weight);
+        _hist_eta630->fill(fabs(eta), weight);
       } else if (fuzzyEquals(sqrtS/GeV, 1800)) {
-        _hist_eta1800->fill(eta, weight);
+        _hist_eta1800->fill(fabs(eta), weight);
       }
     }
   }


More information about the Rivet-svn mailing list