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

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Tue Aug 18 12:33:40 BST 2009


Author: holsch
Date: Tue Aug 18 12:33:39 2009
New Revision: 1760

Log:
Implemented trigger and event selection requirements, adding pt-cut. Shapes are ok but I don't understand the scaling of the histos, sadly this is not documented in the code. See here for plots: http://users.hepforge.org/~holsch/Rivet/Validation/CDF_1988_S1865951/plots.html

Modified:
   trunk/src/Analyses/CDF_1988_S1865951.cc

Modified: trunk/src/Analyses/CDF_1988_S1865951.cc
==============================================================================
--- trunk/src/Analyses/CDF_1988_S1865951.cc	Tue Aug 18 12:29:26 2009	(r1759)
+++ trunk/src/Analyses/CDF_1988_S1865951.cc	Tue Aug 18 12:33:39 2009	(r1760)
@@ -13,8 +13,9 @@
     /// Default constructor
     CDF_1988_S1865951::CDF_1988_S1865951() 
     : Analysis("CDF_1988_S1865951") {
-      const ChargedFinalState cfs(-1.,1.);
+      const ChargedFinalState cfs(-1.,1., 0.4*GeV);
       addProjection(cfs, "CFS");
+      addProjection(ChargedFinalState(-5.9, 5.9), "CFSAll");
       addProjection(TotalVisibleMomentum(cfs), "Mom");
       addProjection(Beam(), "Beam");
     }
@@ -22,8 +23,8 @@
     /// @name Analysis methods
     //@{
     void CDF_1988_S1865951::init() { 
-      _hist_pt630 = bookHistogram1D(1, 1, 1);
-      _hist_pt1800 = bookHistogram1D(2, 1, 1);
+      _hist_pt1800 = bookHistogram1D(1, 1, 1);
+      _hist_pt630 = bookHistogram1D(2, 1, 1);
     }
     
     void CDF_1988_S1865951::analyze(const Event& event) {
@@ -31,6 +32,34 @@
       const FinalState& fs = applyProjection<ChargedFinalState>(event, "CFS");
       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 (inRange(eta, -5.9, -3.2)) n_trig_1++;
+             else if (inRange(eta, 3.2, 5.9)) n_trig_2++;
+
+             if (inRange(eta, -3.0, 0.0)) n_backward++;
+             else if (inRange(eta, 0.0, 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;
+      
       foreach (Particle p, fs.particles())
       {
         double pt = p.momentum().pT();


More information about the Rivet-svn mailing list