|
[Rivet-svn] r1760 - trunk/src/Analysesblackhole at projects.hepforge.org blackhole at projects.hepforge.orgTue 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 |