[Rivet-svn] r2409 - in trunk: . include/Rivet include/Rivet/Analyses include/Rivet/Math include/Rivet/Projections include/Rivet/Tools src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Wed Apr 21 16:48:23 BST 2010


Author: buckley
Date: Wed Apr 21 16:48:22 2010
New Revision: 2409

Log:
Adding more Doxygen @brief sections to remaining classes, and hiding some internal-only definitions from Doxygen

Modified:
   trunk/ChangeLog
   trunk/include/Rivet/Analyses/MC_JetAnalysis.hh
   trunk/include/Rivet/Analysis.hh
   trunk/include/Rivet/AnalysisLoader.hh
   trunk/include/Rivet/Cmp.hh
   trunk/include/Rivet/Event.hh
   trunk/include/Rivet/Exceptions.hh
   trunk/include/Rivet/Math/LorentzTrans.hh
   trunk/include/Rivet/Math/Matrix3.hh
   trunk/include/Rivet/Math/MatrixN.hh
   trunk/include/Rivet/Math/Vector3.hh
   trunk/include/Rivet/Math/Vector4.hh
   trunk/include/Rivet/ParticleBase.hh
   trunk/include/Rivet/Projection.hh
   trunk/include/Rivet/ProjectionApplier.hh
   trunk/include/Rivet/Projections/AxesDefinition.hh
   trunk/include/Rivet/Projections/Beam.hh
   trunk/include/Rivet/Projections/CentralEtHCM.hh
   trunk/include/Rivet/Projections/ChargedFinalState.hh
   trunk/include/Rivet/Projections/ChargedLeptons.hh
   trunk/include/Rivet/Projections/ClusteredPhotons.hh
   trunk/include/Rivet/Projections/DISKinematics.hh
   trunk/include/Rivet/Projections/DISLepton.hh
   trunk/include/Rivet/Projections/FastJets.hh
   trunk/include/Rivet/Projections/FinalState.hh
   trunk/include/Rivet/Projections/FinalStateHCM.hh
   trunk/include/Rivet/Projections/FoxWolframMoments.hh
   trunk/include/Rivet/Projections/HadronicFinalState.hh
   trunk/include/Rivet/Projections/IdentifiedFinalState.hh
   trunk/include/Rivet/Projections/InitialQuarks.hh
   trunk/include/Rivet/Projections/InvMassFinalState.hh
   trunk/include/Rivet/Projections/IsolationEstimators.hh
   trunk/include/Rivet/Projections/IsolationTools.hh
   trunk/include/Rivet/Projections/KtJets.hh
   trunk/include/Rivet/Projections/LeadingParticlesFinalState.hh
   trunk/include/Rivet/Projections/LossyFinalState.hh
   trunk/include/Rivet/Projections/MergedFinalState.hh
   trunk/include/Rivet/Projections/MissingMomentum.hh
   trunk/include/Rivet/Projections/Multiplicity.hh
   trunk/include/Rivet/Projections/NeutralFinalState.hh
   trunk/include/Rivet/Projections/PVertex.hh
   trunk/include/Rivet/Projections/Thrust.hh
   trunk/include/Rivet/Projections/TotalVisibleMomentum.hh
   trunk/include/Rivet/Projections/TriggerCDFRun0Run1.hh
   trunk/include/Rivet/Projections/TriggerUA5.hh
   trunk/include/Rivet/Projections/UnstableFinalState.hh
   trunk/include/Rivet/Projections/VetoedFinalState.hh
   trunk/include/Rivet/Projections/VisibleFinalState.hh
   trunk/include/Rivet/Projections/WFinder.hh
   trunk/include/Rivet/Projections/ZFinder.hh
   trunk/include/Rivet/Run.hh
   trunk/include/Rivet/Tools/TypeTraits.hh
   trunk/include/Rivet/Tools/osdir.hh
   trunk/src/Analyses/CDF_2004_S5839831.cc
   trunk/src/Analyses/CDF_2008_LEADINGJETS.cc
   trunk/src/Analyses/CDF_2008_NOTE_9351.cc

Modified: trunk/ChangeLog
==============================================================================
--- trunk/ChangeLog	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/ChangeLog	Wed Apr 21 16:48:22 2010	(r2409)
@@ -1,7 +1,7 @@
 2010-04-21  Andy Buckley  <andy at insectnation.org>
 
-	* Add @brief Doxygen comments to all analyses which were missing
-	them.
+	* Add @brief Doxygen comments to all analyses, projections and
+	core classes which were missing them.
 
 2010-04-21  Hendrik Hoeth <hendrik.hoeth at cern.ch>
 

Modified: trunk/include/Rivet/Analyses/MC_JetAnalysis.hh
==============================================================================
--- trunk/include/Rivet/Analyses/MC_JetAnalysis.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Analyses/MC_JetAnalysis.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -8,13 +8,13 @@
 namespace Rivet {
 
 
+  /// @brief Base class providing common functionality for MC jet validation analyses
   class MC_JetAnalysis : public Analysis {
-
   public:
 
     /// Default constructor.
     MC_JetAnalysis(const string& name,
-                   const size_t& njet, 
+                   const size_t& njet,
                    const string& jetpro_name);
 
 
@@ -27,10 +27,10 @@
 
 
   protected:
- 
+
     /// The number of jets for which histograms are to be initialised
     size_t m_njet;
- 
+
     /// The name of the jet projection to be used for this analysis
     /// (this projection has to be registered by the derived analysis!)
     const std::string m_jetpro_name;

Modified: trunk/include/Rivet/Analysis.hh
==============================================================================
--- trunk/include/Rivet/Analysis.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Analysis.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -45,7 +45,7 @@
   /// histograms. Writing the histograms to a file is, however, done by
   /// the Rivet class.
   class Analysis : public ProjectionApplier {
- 
+
     /// The AnalysisHandler is a friend.
     friend class AnalysisHandler;
 
@@ -139,7 +139,7 @@
     /// stable, etc. etc. Should be treated as a restructuredText bullet list
     /// (http://docutils.sourceforge.net/rst.html)
     virtual std::string runInfo() const;
- 
+
     /// Experiment which performed and published this analysis.
     virtual std::string experiment() const;
 
@@ -232,7 +232,7 @@
 
     /// Get the process cross-section in pb. Throws if this hasn't been set.
     double crossSection() const;
- 
+
     /// Get the process cross-section per generated event in pb. Throws if this
     /// hasn't been set.
     double crossSectionPerEvent() const;
@@ -244,7 +244,7 @@
     /// Get the sum of event weights seen (via the analysis handler). Use in the
     /// finalize phase only.
     double sumOfWeights() const;
- 
+
 
   protected:
 
@@ -309,7 +309,7 @@
     /// Book a 1D histogram based on the paper, dataset and x/y-axis IDs in the corresponding
     /// HepData record. The binnings will be obtained by reading the bundled AIDA data record file
     /// of the same filename as the analysis' name() property.
-    AIDA::IHistogram1D* bookHistogram1D(size_t datasetId, size_t xAxisId, size_t yAxisId, 
+    AIDA::IHistogram1D* bookHistogram1D(size_t datasetId, size_t xAxisId, size_t yAxisId,
                                         const std::string& title="",
                                         const std::string& xtitle="", const std::string& ytitle="");
 
@@ -342,11 +342,11 @@
     /// record file with the same filename as the analysis' name() property.
     AIDA::IProfile1D* bookProfile1D(const std::string& name, const std::string& title="",
                                     const std::string& xtitle="", const std::string& ytitle="");
- 
+
     /// Book a 1D profile histogram based on the paper, dataset and x/y-axis IDs in the corresponding
     /// HepData record. The binnings will be obtained by reading the bundled AIDA data record file
     /// of the same filename as the analysis' name() property.
-    AIDA::IProfile1D* bookProfile1D(size_t datasetId, size_t xAxisId, size_t yAxisId, 
+    AIDA::IProfile1D* bookProfile1D(size_t datasetId, size_t xAxisId, size_t yAxisId,
                                     const std::string& title="",
                                     const std::string& xtitle="", const std::string& ytitle="");
     //@}
@@ -381,7 +381,7 @@
     /// Book a 2-dimensional data point set based on the paper, dataset and x/y-axis IDs in the corresponding
     /// HepData record. The binnings (x-errors) will be obtained by reading the bundled AIDA data record file
     /// of the same filename as the analysis' name() property.
-    AIDA::IDataPointSet* bookDataPointSet(size_t datasetId, size_t xAxisId, size_t yAxisId, 
+    AIDA::IDataPointSet* bookDataPointSet(size_t datasetId, size_t xAxisId, size_t yAxisId,
                                           const std::string& title="",
                                           const std::string& xtitle="", const std::string& ytitle="");
 
@@ -423,7 +423,7 @@
     /// Pointer to analysis metadata object
     shared_ptr<AnalysisInfo> _info;
 
- 
+
   private:
 
     /// @name Cross-section variables
@@ -432,7 +432,7 @@
     bool _gotCrossSection;
     bool _needsCrossSection;
     //@}
- 
+
     /// The controlling AnalysisHandler object.
     AnalysisHandler* _analysishandler;
 
@@ -463,13 +463,14 @@
   /////////////////////////////////////////////////////////////////////
 
 
+  /// @cond ANALYSIS_PLUGIN_DETAILS
 
-  // Interface for analysis builders
+  /// @brief Interface for analysis builders
   class AnalysisBuilderBase {
   public:
     AnalysisBuilderBase() { }
     virtual ~AnalysisBuilderBase() { }
- 
+
     virtual Analysis* mkAnalysis() const = 0;
 
     const string name() const {
@@ -486,7 +487,7 @@
   };
 
 
-  // Self-registering analysis plugin builder
+  /// @brief Self-registering analysis plugin builder
   template <typename T>
   class AnalysisBuilder : public AnalysisBuilderBase {
   public:
@@ -499,6 +500,7 @@
     }
   };
 
+  /// @endcond
 
 }
 

Modified: trunk/include/Rivet/AnalysisLoader.hh
==============================================================================
--- trunk/include/Rivet/AnalysisLoader.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/AnalysisLoader.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -14,18 +14,19 @@
   class AnalysisBuilderBase;
 
 
+  /// @brief Internal class which loads and registers analyses from plugin libs
   class AnalysisLoader {
   public:
- 
+
     /// Get all the available analyses' names.
     static vector<string> analysisNames();
     static set<string> getAllAnalysisNames();
- 
+
     /// Get an analysis by name.
     /// Warning: a name arg which matches no known analysis will return a null
     /// pointer. Check your return values before using them!
     static Analysis* getAnalysis(const string& analysisname);
- 
+
     /// Get all the available analyses.
     static vector<Analysis*> getAllAnalyses();
 
@@ -39,10 +40,10 @@
 
     /// Load the available analyses at runtime.
     static void _loadAnalysisPlugins();
- 
+
     typedef map<string, const AnalysisBuilderBase*> AnalysisBuilderMap;
     static AnalysisBuilderMap _ptrs;
- 
+
   };
 
 

Modified: trunk/include/Rivet/Cmp.hh
==============================================================================
--- trunk/include/Rivet/Cmp.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Cmp.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -11,6 +11,8 @@
 namespace Rivet {
 
 
+  /// Helper class when checking the ordering of two objects.
+  ///
   /// Cmp is a helper class to be used when checking the ordering of two
   /// objects. When implicitly converted to an integer the value will be
   /// negative if the two objects used in the constructor are ordered and
@@ -24,21 +26,21 @@
   template <typename T>
   class Cmp {
   public:
- 
+
     /// @name Standard constructors etc.
     //@{
     /// The default constructor.
     Cmp(const T& t1, const T& t2)
       : _value(UNDEFINED), _objects(&t1, &t2) { }
- 
+
     /// The copy constructor.
     template <typename U>
     Cmp(const Cmp<U>& x)
       : _value(x), _objects(0, 0) { }
- 
+
     /// The destructor is not virtual since this is not intended to be a base class.
     ~Cmp() { };
- 
+
     /// The assignment operator.
     template <typename U>
     const Cmp<T>& operator=(const Cmp<U>& x) {
@@ -46,9 +48,9 @@
       return *this;
     }
     //@}
- 
+
   public:
- 
+
     /// Automatically convert to an enum.
     operator CmpState() const {
       _compare();
@@ -60,7 +62,7 @@
       _compare();
       return _value;
     }
- 
+
     /// If this state is equivalent, set this state to the state of \a c.
     template <typename U>
     const Cmp<T>& operator||(const Cmp<U>& c) const {
@@ -68,9 +70,9 @@
       if (_value == EQUIVALENT) _value = c;
       return *this;
     }
- 
+
   private:
- 
+
     /// Perform the actual comparison if necessary.
     void _compare() const {
       if (_value == UNDEFINED) {
@@ -80,17 +82,18 @@
         else _value = EQUIVALENT;
       }
     }
- 
+
     /// The state of this object.
     mutable CmpState _value;
- 
+
     /// The objects to be compared.
     pair<const T*, const T*> _objects;
- 
-  };
 
+  };
 
 
+  /// @brief Specialization of Cmp for checking the ordering of two @a{Projection}s.
+  ///
   /// Specialization of the Cmp helper class to be used when checking the
   /// ordering of two Projection objects. When implicitly converted to an
   /// integer the value will be negative if the two objects used in the
@@ -106,23 +109,23 @@
   template <>
   class Cmp<Projection> {
   public:
- 
+
     /// @name Standard constructors and destructors.
     //@{
     /// The default constructor.
     Cmp(const Projection& p1, const Projection& p2)
       : _value(UNDEFINED), _objects(&p1, &p2)
     { }
- 
+
     /// The copy constructor.
     template <typename U>
     Cmp(const Cmp<U>& x)
       : _value(x), _objects(0, 0)
     { }
- 
+
     /// The destructor is not virtual since this is not intended to be a base class.
     ~Cmp() { };
- 
+
     /// The assignment operator.
     template <typename U>
     const Cmp<Projection>& operator=(const Cmp<U>& x) {
@@ -130,9 +133,9 @@
       return *this;
     }
     //@}
- 
+
   public:
- 
+
     /// Automatically convert to an enum.
     operator CmpState() const {
       _compare();
@@ -145,7 +148,7 @@
       _compare();
       return _value;
     }
- 
+
     /// If this state is equivalent, set this state to the state of \a c.
     template <typename U>
     const Cmp<Projection>& operator||(const Cmp<U>& c) const {
@@ -153,9 +156,9 @@
       if (_value == EQUIVALENT) _value = c;
       return *this;
     }
- 
+
   private:
- 
+
     /// Perform the actual comparison if necessary.
     void _compare() const {
       if (_value == UNDEFINED) {
@@ -171,27 +174,27 @@
         }
       }
     }
- 
+
   private:
- 
+
     /// The state of this object.
     mutable CmpState _value;
- 
+
     /// The objects to be compared.
     pair<const Projection*, const Projection*> _objects;
- 
+
   };
 
 
 
 
-  /// Specialization of the Cmp helper class to be used when checking the
-  /// ordering of two floating point numbers. When implicitly converted to an
-  /// integer the value will be negative if the two objects used in the
-  /// constructor are ordered and positive if they are not. Zero will be
-  /// returned if they are equal. This specialization uses the Rivet
-  /// fuzzyEquals function to indicate equivalence protected from numerical
-  /// precision effects.
+  /// @brief Specialization of Cmp for checking the ordering of two floating point numbers.
+  ///
+  /// When implicitly converted to an integer the value will be negative if the
+  /// two objects used in the constructor are ordered and positive if they are
+  /// not. Zero will be returned if they are equal. This specialization uses the
+  /// Rivet fuzzyEquals function to indicate equivalence protected from
+  /// numerical precision effects.
   ///
   /// The main usage of the Cmp class is if several variables should be
   /// checked for ordering in which case several Cmp objects can be
@@ -201,23 +204,23 @@
   template <>
   class Cmp<double> {
   public:
- 
+
     /// @name Standard constructors and destructors.
     //@{
     /// The default constructor.
     Cmp(const double p1, const double p2)
       : _value(UNDEFINED), _numA(p1), _numB(p2)
     { }
- 
+
     /// The copy constructor.
     template <typename U>
     Cmp(const Cmp<U>& x)
       : _value(x), _numA(0.0), _numB(0.0)
     { }
- 
+
     /// The destructor is not virtual since this is not intended to be a base class.
     ~Cmp() { }
- 
+
     /// The assignment operator.
     template <typename U>
     const Cmp<double>& operator=(const Cmp<U>& x) {
@@ -225,9 +228,9 @@
       return *this;
     }
     //@}
- 
+
   public:
- 
+
     /// Automatically convert to an enum.
     operator CmpState() const {
       _compare();
@@ -239,7 +242,7 @@
       _compare();
       return _value;
     }
- 
+
     /// If this state is equivalent, set this state to the state of \a c.
     template <typename U>
     const Cmp<double>& operator||(const Cmp<U>& c) const {
@@ -247,9 +250,9 @@
       if (_value == EQUIVALENT) _value = c;
       return *this;
     }
- 
+
   private:
- 
+
     /// Perform the actual comparison if necessary.
     void _compare() const {
       if (_value == UNDEFINED) {
@@ -258,15 +261,15 @@
         else _value = UNORDERED;
       }
     }
- 
+
   private:
- 
+
     /// The state of this object.
     mutable CmpState _value;
- 
+
     /// The objects to be compared.
     double _numA, _numB;
- 
+
   };
 
 
@@ -285,6 +288,7 @@
   /// Typedef for Cmp<Projection>
   typedef Cmp<Projection> PCmp;
 
+
   /// Global helper function for easy creation of Cmp<Projection> objects.
   inline Cmp<Projection> pcmp(const Projection& p1, const Projection& p2) {
     return Cmp<Projection>(p1, p2);

Modified: trunk/include/Rivet/Event.hh
==============================================================================
--- trunk/include/Rivet/Event.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Event.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -8,6 +8,8 @@
 namespace Rivet {
 
 
+  /// Rivet wrapper for HepMC event and Projection references.
+  ///
   /// Event is a concrete class representing an generated event in
   /// Rivet. It is constructed given a HepMC::GenEvent, a pointer to
   /// which is kept by the Event object throughout its lifetime. The user
@@ -18,7 +20,6 @@
   /// track of all Projections object which have been applied to the
   /// Event so far.
   class Event {
-
   public:
 
     /// @name Standard constructors and destructors.

Modified: trunk/include/Rivet/Exceptions.hh
==============================================================================
--- trunk/include/Rivet/Exceptions.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Exceptions.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -7,25 +7,25 @@
 
 namespace Rivet {
 
-  /// Generic runtime Rivet error.
+  /// @brief Generic runtime Rivet error.
   class Error : public std::runtime_error {
   public:
     Error(const std::string& what) : std::runtime_error(what) {}
   };
 
 
-  /// Also typedef Exception, so that it's there.
+  /// @brief Rivet::Exception is a synonym for Rivet::Error.
   typedef Error Exception;
 
 
-  /// Error for e.g. use of invalid bin ranges.
+  /// @brief Error for e.g. use of invalid bin ranges.
   class RangeError : public Error {
   public:
     RangeError(const std::string& what) : Error(what) {}
   };
 
 
-  /// @todo Clarify where this might arise!
+  /// @brief Error specialisation for places where alg logic has failed.
   class LogicError : public Error {
   public:
     LogicError(const std::string& what) : Error(what) {}

Modified: trunk/include/Rivet/Math/LorentzTrans.hh
==============================================================================
--- trunk/include/Rivet/Math/LorentzTrans.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Math/LorentzTrans.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -17,6 +17,7 @@
   }
 
 
+  /// @brief Object implementing Lorentz transform calculations and boosts.
   class LorentzTransform {
     friend string toString(const LorentzTransform& lt);
 

Modified: trunk/include/Rivet/Math/Matrix3.hh
==============================================================================
--- trunk/include/Rivet/Math/Matrix3.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Math/Matrix3.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -9,47 +9,48 @@
 namespace Rivet {
 
 
-class Matrix3 : public Matrix<3> {
-public:
-  Matrix3() { }
-
-  Matrix3(const Matrix<3>& m3) :  Matrix<3>::Matrix<3>(m3) { }
-
-  Matrix3(const Vector3& axis, const double angle) {
-    const Vector3 normaxis = axis.unit();
-    _matrix.loadRotation3(angle, normaxis._vec);
-  }
-
-  Matrix3(const Vector3& from, const Vector3& to) {
-    setAsRotation(from, to);
-  }
-
-public:
-  static Matrix3 mkXRotation(const double angle) {
-    return Matrix3(Vector3(1,0,0), angle);
-  }
-
-  static Matrix3 mkYRotation(const double angle) {
-    return Matrix3(Vector3(0,1,0), angle);
-  }
-
-  static Matrix3 mkZRotation(const double angle) {
-    return Matrix3(Vector3(0,0,1), angle);
-  }
-
-public:
-  Matrix3& setAsRotation(const Vector3& from, const Vector3& to) {
-    const double theta = angle(from, to);
-    if (Rivet::isZero(theta)) {
-      _matrix.loadIdentity();
-    } else {
-      const Vector3 normaxis = cross(from, to).unit();
-      _matrix.loadRotation3(theta, normaxis._vec);
+  /// @brief Specialisation of MatrixN to aid 3 dimensional rotations.
+  class Matrix3 : public Matrix<3> {
+  public:
+    Matrix3() { }
+
+    Matrix3(const Matrix<3>& m3) :  Matrix<3>::Matrix<3>(m3) { }
+
+    Matrix3(const Vector3& axis, const double angle) {
+      const Vector3 normaxis = axis.unit();
+      _matrix.loadRotation3(angle, normaxis._vec);
     }
-    return *this;
-  }
 
-};
+    Matrix3(const Vector3& from, const Vector3& to) {
+      setAsRotation(from, to);
+    }
+
+  public:
+    static Matrix3 mkXRotation(const double angle) {
+      return Matrix3(Vector3(1,0,0), angle);
+    }
+
+    static Matrix3 mkYRotation(const double angle) {
+      return Matrix3(Vector3(0,1,0), angle);
+    }
+
+    static Matrix3 mkZRotation(const double angle) {
+      return Matrix3(Vector3(0,0,1), angle);
+    }
+
+  public:
+    Matrix3& setAsRotation(const Vector3& from, const Vector3& to) {
+      const double theta = angle(from, to);
+      if (Rivet::isZero(theta)) {
+        _matrix.loadIdentity();
+      } else {
+        const Vector3 normaxis = cross(from, to).unit();
+        _matrix.loadRotation3(theta, normaxis._vec);
+      }
+      return *this;
+    }
+
+  };
 
 
 }

Modified: trunk/include/Rivet/Math/MatrixN.hh
==============================================================================
--- trunk/include/Rivet/Math/MatrixN.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Math/MatrixN.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -25,6 +25,7 @@
   ///////////////////////////////////
 
 
+  /// @brief General \f$ N \f$-dimensional mathematical matrix object.
   template <size_t N>
   class Matrix {
     template <size_t M>

Modified: trunk/include/Rivet/Math/Vector3.hh
==============================================================================
--- trunk/include/Rivet/Math/Vector3.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Math/Vector3.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -22,7 +22,7 @@
   Vector3 operator-(const Vector3&, const Vector3&);
 
 
-
+  /// @brief Three-dimensional specialisation of Vector.
   class Vector3 : public Vector<3> {
 
     friend class Matrix3;
@@ -152,7 +152,7 @@
         throw std::runtime_error("The specified phi mapping scheme is not yet implemented");
       }
     }
- 
+
     /// Synonym for azimuthalAngle.
     double phi(const PhiMapping mapping = ZERO_2PI) const {
       return azimuthalAngle(mapping);

Modified: trunk/include/Rivet/Math/Vector4.hh
==============================================================================
--- trunk/include/Rivet/Math/Vector4.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Math/Vector4.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -16,6 +16,7 @@
   FourVector transform(const LorentzTransform& lt, const FourVector& v4);
 
 
+  /// @brief Specialisation of VectorN to a general (non-momentum) Lorentz 4-vector.
   class FourVector : public Vector<4> {
     friend FourVector multiply(const double a, const FourVector& v);
     friend FourVector multiply(const FourVector& v, const double a);
@@ -410,31 +411,31 @@
     }
 
     /// struct for sorting by increasing energy
- 
+
     struct byEAscending{
       bool operator()(const FourMomentum &left, const FourMomentum &right) const{
         double pt2left = left.E();
         double pt2right = right.E();
         return pt2left < pt2right;
       }
-   
+
       bool operator()(const FourMomentum *left, const FourMomentum *right) const{
         return (*this)(left, right);
       }
     };
- 
+
     /// struct for sorting by decreasing energy
- 
+
     struct byEDescending{
       bool operator()(const FourMomentum &left, const FourMomentum &right) const{
         return byEAscending()(right, left);
       }
-   
+
       bool operator()(const FourMomentum *left, const FourVector *right) const{
         return (*this)(left, right);
       }
     };
- 
+
   };
 
 

Modified: trunk/include/Rivet/ParticleBase.hh
==============================================================================
--- trunk/include/Rivet/ParticleBase.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/ParticleBase.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -7,6 +7,7 @@
 namespace Rivet {
 
 
+  /// @brief Base class for particle-like things like Particle and Jet
   class ParticleBase {
   public:
 

Modified: trunk/include/Rivet/Projection.hh
==============================================================================
--- trunk/include/Rivet/Projection.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projection.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -15,6 +15,8 @@
 
 namespace Rivet {
 
+  /// @brief Base class for all Rivet projections.
+  ///
   /// Projection is the base class of all Projections to be used by
   /// Rivet. A Projection object can be assigned to an Event object and
   /// will then define a processed part of the information available in
@@ -24,17 +26,17 @@
   /// The main virtual functions to be overridden by concrete sub-classes
   /// are project(const Event &) and compare(const Projection &).
   class Projection : public ProjectionApplier {
- 
+
   public:
- 
+
     /// Event is a friend.
     friend class Event;
- 
+
     /// The Cmp specialization for Projection is a friend.
     friend class Cmp<Projection>;
- 
+
   public:
- 
+
     /// @name Standard constructors and destructors.
     //@{
     /// The default constructor.
@@ -42,14 +44,14 @@
 
     /// Clone on the heap.
     virtual const Projection* clone() const = 0;
- 
+
     /// The destructor.
     virtual ~Projection();
     //@}
- 
+
 
   public:
- 
+
     /// Take the information available in the Event and make the
     /// calculations necessary to obtain the projection. Note that this
     /// function must never be called except inside the
@@ -79,7 +81,7 @@
     /// whether this should be ordered before or after \a p, or if it is
     /// equivalent with \a p.
     virtual int compare(const Projection& p) const = 0;
- 
+
   public:
 
     /// Determine whether this object should be ordered before the object
@@ -88,7 +90,7 @@
     /// objects is used. Otherwise, if the objects are of the same class,
     /// the virtual compare(const Projection &) will be returned.
     bool before(const Projection& p) const;
- 
+
     /// Return the BeamConstraints for this projection, not including
     /// recursion. Derived classes should ensure that all contained projections
     /// are registered in the @a _projections set for the beam constraint
@@ -106,8 +108,8 @@
       _beamPairs.insert(BeamPair(beam1, beam2));
       return *this;
     }
- 
- 
+
+
     /// Get a Log object based on the getName() property of the calling projection object.
     Log& getLog() const {
       string logname = "Rivet.Projection." + name();
@@ -139,7 +141,7 @@
 
     /// Beam-type constraint.
     set<BeamPair> _beamPairs;
- 
+
   };
 
 

Modified: trunk/include/Rivet/ProjectionApplier.hh
==============================================================================
--- trunk/include/Rivet/ProjectionApplier.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/ProjectionApplier.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -13,7 +13,8 @@
 namespace Rivet {
 
 
-
+  /// @brief Common base class for Projection and Analysis, used for internal polymorphism
+  ///
   /// Empty interface used for storing Projection and Analysis pointers in the
   /// same container (used by the ProjectionHandler)
   class ProjectionApplier {
@@ -122,14 +123,14 @@
     const Projection& _addProjection(const Projection& proj, const std::string& name);
 
     //@}
- 
- 
+
+
   private:
- 
+
     /// Non-templated version of string-based applyProjection, to work around
     /// header dependency issue.
     const Projection& _applyProjection(const Event& evt, const std::string& name) const;
- 
+
     /// Non-templated version of proj-based applyProjection, to work around
     /// header dependency issue.
     const Projection& _applyProjection(const Event& evt, const Projection& proj) const;
@@ -139,13 +140,13 @@
 
     /// Flag to forbid projection registration in analyses until the init phase
     bool _allowProjReg;
- 
- 
+
+
   private:
- 
+
     /// Pointer to projection handler.
     ProjectionHandler* _projhandler;
- 
+
   };
 
 }

Modified: trunk/include/Rivet/Projections/AxesDefinition.hh
==============================================================================
--- trunk/include/Rivet/Projections/AxesDefinition.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/AxesDefinition.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -8,7 +8,9 @@
 namespace Rivet {
 
   /**
-    @brief A pure virtual interface for projections which define a set of 3
+    @brief Base class for projections which define a spatial basis.
+
+    A pure virtual interface for projections which define a set of 3
     basis vectors. This allows e.g. Thrust and Sphericity to be used
     interchangeably as defining bases for e.g. hemisphere mass and broadening
     calculations.

Modified: trunk/include/Rivet/Projections/Beam.hh
==============================================================================
--- trunk/include/Rivet/Projections/Beam.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/Beam.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -35,10 +35,10 @@
 
 
 
-  /// Project out the incoming beams
-  class Beam : public Projection { 
+  /// @brief Project out the incoming beams
+  class Beam : public Projection {
   public:
- 
+
     /// The default constructor.
     Beam() {
       setName("Beam");

Modified: trunk/include/Rivet/Projections/CentralEtHCM.hh
==============================================================================
--- trunk/include/Rivet/Projections/CentralEtHCM.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/CentralEtHCM.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -6,11 +6,12 @@
 #include "Rivet/Event.hh"
 #include "Rivet/Projections/FinalStateHCM.hh"
 
-
 namespace Rivet {
 
 
-  /// Sum up Et of all particles in the hadronic final state in the
+  /// @brief Summed \f$ E_\perp \f$ of central particles in HCM system.
+  ///
+  /// Sum up \f$ E_\perp \f$ of all particles in the hadronic final state in the
   /// central rapidity bin of the HCM system.
   class CentralEtHCM : public Projection {
 

Modified: trunk/include/Rivet/Projections/ChargedFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/ChargedFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/ChargedFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,11 +12,10 @@
 namespace Rivet {
 
 
-  /// Project only charged final state particles.
+  /// @brief Project only charged final state particles.
   class ChargedFinalState : public FinalState {
-
   public:
- 
+
     /// @name Constructors
     //@{
     ChargedFinalState(const FinalState& fsp);
@@ -39,10 +38,10 @@
 
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
   };

Modified: trunk/include/Rivet/Projections/ChargedLeptons.hh
==============================================================================
--- trunk/include/Rivet/Projections/ChargedLeptons.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/ChargedLeptons.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -10,44 +10,44 @@
 namespace Rivet {
 
 
-  /// Project out charged final-state leptons (i.e. electrons and muons, unless
-  /// you set taus stable!)
+  /// @brief Get charged final-state leptons
+  ///
+  /// NB. This is just electrons and muons, unless you set taus stable!
   class ChargedLeptons : public Projection {
- 
   public:
- 
+
     /// Constructor
     ChargedLeptons(const FinalState& fsp)
     {
       setName("ChargedLeptons");
       addProjection(ChargedFinalState(fsp), "ChFS");
     }
- 
+
     /// Clone on the heap.
     virtual const Projection* clone() const {
       return new ChargedLeptons(*this);
     }
 
   protected:
- 
+
     /// Apply the projection to the event.
     void project(const Event& evt);
- 
+
     /// Compare projections.
     int compare(const Projection& other) const;
- 
+
   public:
- 
+
     /// Access the projected leptons.
     const ParticleVector& chargedLeptons() const {
       return _theChargedLeptons;
     }
- 
+
   private:
 
     /// The leptons
     ParticleVector _theChargedLeptons;
-     
+
   };
 
 

Modified: trunk/include/Rivet/Projections/ClusteredPhotons.hh
==============================================================================
--- trunk/include/Rivet/Projections/ClusteredPhotons.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/ClusteredPhotons.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -13,12 +13,10 @@
 namespace Rivet {
 
 
-  /// Find final state photons which are found in a cone around
-  /// any particle in the "signal" final state
+  /// @brief Find final state photons which in a cone around any particle in the "signal" final state
   class ClusteredPhotons : public FinalState {
-
   public:
- 
+
     /// @name Constructors
     //@{
     /// Constructor with the two final states, and the maximum separation in dR
@@ -39,15 +37,15 @@
       return new ClusteredPhotons(*this);
     }
     //@}
- 
+
 
   public:
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
 
@@ -56,7 +54,7 @@
 
     /// maximum cone radius to find photons in
     double _dRmax;
- 
+
   };
 
 

Modified: trunk/include/Rivet/Projections/DISKinematics.hh
==============================================================================
--- trunk/include/Rivet/Projections/DISKinematics.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/DISKinematics.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -11,12 +11,11 @@
 namespace Rivet {
 
 
-  /// This class projects out the DIS kinematic variables and relevant
-  /// boosts for an event.
+  /// @brief Get the DIS kinematic variables and relevant boosts for an event.
   class DISKinematics : public Projection {
 
   public:
-     
+
     /// The default constructor.
     DISKinematics()
       : _theQ2(-1.0), _theW2(-1.0), _theX(-1.0), _theY(-1.0), _theS(-1.0)
@@ -32,9 +31,9 @@
       return new DISKinematics(*this);
     }
 
- 
+
   protected:
- 
+
     /// Perform the projection operation on the supplied event.
     virtual void project(const Event& e);
 
@@ -75,7 +74,7 @@
     const Particle& beamHadron() const {
       return _inHadron;
     }
- 
+
   private:
 
     /// The \f$Q^2\f$.
@@ -94,7 +93,7 @@
     double _theS;
 
     Particle _inHadron;
- 
+
     /// The LorentzRotation needed to boost a particle to the hadronic CM frame.
     LorentzTransform _hcm;
 

Modified: trunk/include/Rivet/Projections/DISLepton.hh
==============================================================================
--- trunk/include/Rivet/Projections/DISLepton.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/DISLepton.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -10,57 +10,56 @@
 namespace Rivet {
 
 
-  /// This class projects out the incoming and outgoing leptons in a DIS
-  /// event.
+  /// @brief Get the incoming and outgoing leptons in a DIS event.
   class DISLepton : public Projection {
- 
+
   public:
- 
+
     /// @name Constructors.
     //@{
- 
+
     DISLepton(){
       setName("DISLepton");
       addProjection(Beam(), "Beam");
       addProjection(FinalState(), "FS");
     }
- 
+
     /// Clone on the heap.
     virtual const Projection* clone() const {
       return new DISLepton(*this);
     }
     //@}
- 
- 
+
+
   protected:
- 
+
     /// Perform the projection operation on the supplied event.
     virtual void project(const Event& e);
- 
+
     /// Compare with other projections.
     virtual int compare(const Projection& p) const;
- 
+
   public:
- 
+
     /// The incoming lepton.
     const Particle& in() const { return _incoming; }
- 
+
     /// The outgoing lepton.
     const Particle& out() const { return _outgoing; }
- 
+
     const double &pzSign() const { return _sign; }
- 
+
   private:
- 
+
     /// The incoming lepton.
     Particle _incoming;
- 
+
     /// The outgoing lepton.
     Particle _outgoing;
-     
+
     /// The sign of the PZ of the incoming lepton
     double _sign;
- 
+
   };
 
 }

Modified: trunk/include/Rivet/Projections/FastJets.hh
==============================================================================
--- trunk/include/Rivet/Projections/FastJets.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/FastJets.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -29,7 +29,12 @@
   typedef vector<fastjet::PseudoJet> PseudoJets;
 
 
-  /// Project out jets found using fastJet package.
+
+  /////////////////////////
+
+
+
+  /// Project out jets found using the FastJet package jet algorithms.
   class FastJets : public JetAlg {
 
   public:

Modified: trunk/include/Rivet/Projections/FinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/FinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/FinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -6,14 +6,14 @@
 #include "Rivet/Particle.hh"
 #include "Rivet/Event.hh"
 
-
 namespace Rivet {
 
 
-  /// Project out all final-state particles in an event.
+  /// @brief Project out all final-state particles in an event.
+  /// Probably the most important projection in Rivet!
   class FinalState : public Projection {
   public:
- 
+
     /// @name Standard constructors and destructors.
     //@{
     /// The default constructor. May specify the minimum and maximum
@@ -21,7 +21,7 @@
     FinalState(double mineta = -MAXRAPIDITY,
                double maxeta =  MAXRAPIDITY,
                double minpt  =  0.0*GeV);
- 
+
     /// A constructor which allows to specify multiple eta ranges
     /// and the min \f$ p_T \f$ (in GeV).
     FinalState(const vector<pair<double, double> >& etaRanges,
@@ -92,28 +92,28 @@
 
 
   protected:
- 
+
     /// Apply the projection to the event.
     virtual void project(const Event& e);
- 
+
     /// Compare projections.
     virtual int compare(const Projection& p) const;
 
     /// Decide if a particle is to be accepted or not.
     bool accept(const Particle& p) const;
 
- 
+
   protected:
 
     /// The ranges allowed for pseudorapidity.
     vector<pair<double,double> > _etaRanges;
- 
+
     /// The minimum allowed transverse momentum.
     double _ptmin;
- 
+
     /// The final-state particles.
     mutable ParticleVector _theParticles;
- 
+
   };
 
 

Modified: trunk/include/Rivet/Projections/FinalStateHCM.hh
==============================================================================
--- trunk/include/Rivet/Projections/FinalStateHCM.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/FinalStateHCM.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -7,15 +7,16 @@
 #include "Rivet/Projections/FinalState.hh"
 #include "Rivet/Projections/DISKinematics.hh"
 
-
 namespace Rivet {
 
-  /// Project all final state particles (except the scattered lepton)
-  /// boosted to the hadronic center of mass system.
+
+  /// @brief Final state particles boosted to the hadronic center of mass system.
+  ///
+  /// NB. The DIS scattered lepton is not included in the final state particles.
   class FinalStateHCM: public FinalState {
 
   public:
- 
+
     /// Constructor
     FinalStateHCM(const DISKinematics& kinematicsp)
     {
@@ -27,12 +28,12 @@
     virtual const Projection* clone() const {
       return new FinalStateHCM(*this);
     }
- 
+
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
   };

Modified: trunk/include/Rivet/Projections/FoxWolframMoments.hh
==============================================================================
--- trunk/include/Rivet/Projections/FoxWolframMoments.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/FoxWolframMoments.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -17,36 +17,35 @@
 namespace Rivet {
 
 
-  /// Project out the total visible energy vector, allowing missing
-  /// \f$ E_T \f$ etc. to be calculated.
-  class FoxWolframMoments : public Projection { 
+  /// @brief Calculate Fox-Wolfram moments
+  class FoxWolframMoments : public Projection {
   public:
-    
+
     /// Constructor.
     FoxWolframMoments(const FinalState& fsp)
     {
       setName("FoxWolframMoments");
       addProjection(fsp, "FS");
-      
-      /// @todo Let the user supply any projection they like?      
+
+      /// @todo Let the user supply any projection they like?
       VisibleFinalState vfs(fsp);
       addProjection(vfs, "VFS");
-      
+
       // Initialize moments vector
       for (int i = 0; i < MAXMOMENT ; ++i) {
         _fwmoments.push_back(0.0);
       }
     }
-    
-    
+
+
     /// Clone on the heap.
     virtual const Projection* clone() const {
       return new FoxWolframMoments(*this);
     }
-    
-    
+
+
   public:
-    
+
     /// The projected Fox-Wolfram Moment of order l
     double getFoxWolframMoment(unsigned int l) const {
       if (l < MAXMOMENT) {
@@ -55,17 +54,17 @@
       /// @todo What?!?
       return -666.0;
     }
-    
-    
+
+
   protected:
-    
+
     /// Apply the projection to the event.
     void project(const Event& e);
-    
+
     /// Compare projections.
     int compare(const Projection& p) const;
 
-     
+
   private:
 
     vector<double> _fwmoments;

Modified: trunk/include/Rivet/Projections/HadronicFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/HadronicFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/HadronicFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,11 +12,11 @@
 
 namespace Rivet {
 
-  /// Project only charged final state particles.
+  /// @brief Project only hadronic final state particles.
   class HadronicFinalState : public FinalState {
 
   public:
- 
+
     /// Constructor: the supplied FinalState projection is assumed to live through the run.
     HadronicFinalState(FinalState& fsp)
       : FinalState(fsp)
@@ -24,7 +24,7 @@
       setName("HadronicFinalState");
       addProjection(fsp, "FS");
     }
- 
+
     HadronicFinalState(double mineta = -MAXRAPIDITY,
                        double maxeta = MAXRAPIDITY,
                        double minpt = 0.0*GeV)
@@ -40,13 +40,13 @@
     }
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
- 
+
   };
 
 

Modified: trunk/include/Rivet/Projections/IdentifiedFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/IdentifiedFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/IdentifiedFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,10 +12,10 @@
 namespace Rivet {
 
 
-  /// Produce a final state which only contains specified particle IDs.
+  /// @brief Produce a final state which only contains specified particle IDs.
   class IdentifiedFinalState : public FinalState {
   public:
- 
+
     /// @name Constructors
     //@{
 
@@ -23,10 +23,10 @@
     IdentifiedFinalState(const FinalState& fsp);
 
     /// Constructor with a single eta range argument.
-    IdentifiedFinalState(double etamin=-MAXRAPIDITY, 
-                         double etamax=MAXRAPIDITY, 
+    IdentifiedFinalState(double etamin=-MAXRAPIDITY,
+                         double etamax=MAXRAPIDITY,
                          double ptMin=0.0*GeV);
-    
+
     /// Constructor which allows to specify multiple eta ranges
     /// and the min \f$ p_T \f$.
     IdentifiedFinalState(const vector<pair<double, double> >& etaRanges,
@@ -37,7 +37,7 @@
       return new IdentifiedFinalState(*this);
     }
     //@}
- 
+
 
   public:
 
@@ -96,13 +96,13 @@
     void reset() {
       _pids.clear();
     }
- 
+
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
 
@@ -111,7 +111,7 @@
 
     /// The final-state particles.
     set<PdgId> _pids;
- 
+
   };
 
 

Modified: trunk/include/Rivet/Projections/InitialQuarks.hh
==============================================================================
--- trunk/include/Rivet/Projections/InitialQuarks.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/InitialQuarks.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -9,11 +9,13 @@
 namespace Rivet {
 
 
-  /// Project out quarks from the hard process in e+ e- -> Z0 events
-  /// @warning This is a very dangerous and specific projection! Use e.g. PID::hasBottom and friends instead
-  class InitialQuarks : public Projection { 
+  /// @brief Project out quarks from the hard process in \f$ e^+ e^- \to Z^0 \f$ events
+  ///
+  /// @warning This is a very dangerous and specific projection! Use
+  ///   e.g. PID::hasBottom and friends instead whenever possible
+  class InitialQuarks : public Projection {
   public:
- 
+
     /// @name Standard constructors and destructors.
     //@{
     /// The default constructor. May specify the minimum and maximum
@@ -29,7 +31,7 @@
       return new InitialQuarks(*this);
     }
     //@}
-     
+
     /// Access the projected final-state particles.
     virtual const ParticleVector& particles() const { return _theParticles; }
 
@@ -40,19 +42,19 @@
 
 
   protected:
- 
+
     /// Apply the projection to the event.
     virtual void project(const Event& e);
- 
+
     /// Compare projections.
     virtual int compare(const Projection& p) const;
- 
+
 
   protected:
 
     /// The final-state particles.
     ParticleVector _theParticles;
- 
+
   };
 
 }

Modified: trunk/include/Rivet/Projections/InvMassFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/InvMassFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/InvMassFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -7,10 +7,10 @@
 namespace Rivet {
 
 
-  /// Identify particles which can be paired to make an invariant mass within a given mass window
+  /// @brief Identify particles which can be paired to fit within a given invariant mass window
   class InvMassFinalState : public FinalState {
   public:
- 
+
     // Constructor for a single inv-mass pair
     InvMassFinalState(const FinalState& fsp,
                       const std::pair<PdgId, PdgId>& idpair, // pair of decay products
@@ -22,8 +22,8 @@
                       const std::vector<std::pair<PdgId, PdgId> >& idpairs,  // vector of pairs of decay products
                       double minmass, // min inv mass
                       double maxmass); // max inv mass
- 
- 
+
+
     /// Clone on the heap.
     virtual const Projection* clone() const {
     	return new InvMassFinalState(*this);
@@ -34,19 +34,19 @@
 
     /// Constituent pairs
     const std::vector<std::pair<Particle, Particle> >& particlePairs() const;
-		
+
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
 
 
   private:
- 
+
     /// Handy typedef for a pair of PID codes
     typedef pair<PdgId,PdgId> PidPair;
 
@@ -61,7 +61,7 @@
 
     /// Max inv mass
     double _maxmass;
- 
+
   };
 
 

Modified: trunk/include/Rivet/Projections/IsolationEstimators.hh
==============================================================================
--- trunk/include/Rivet/Projections/IsolationEstimators.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/IsolationEstimators.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -11,6 +11,7 @@
 
 namespace Rivet {
 
+  /// @cond ISOLATION_DETAILS
 
   template < typename T, typename C >
   class IsolationEstimator {
@@ -18,7 +19,7 @@
     public:
 
     virtual ~IsolationEstimator(){};
- 
+
       virtual double estimate(const T & t, const C & c) const = 0;
 
       virtual int compare(const IsolationEstimator < T, C > *other) const = 0;
@@ -69,11 +70,11 @@
          return radcmp;
        return 0;
     }
- 
+
     double radius() const {
       return _radius;
     }
- 
+
     double ptMin() const {
       return _ptmin;
     }
@@ -90,7 +91,7 @@
   public:
     MultiplicityInConeEstimator(double radius, double ptmin = 0.0)
       : _radius(radius), _ptmin(ptmin) {  }
- 
+
     virtual double estimate(const T & t, const C & c) const {
       double npart = 0;
       for (typename C::const_iterator ic = c.begin(); ic != c.end(); ++ic) {
@@ -113,15 +114,15 @@
          return radcmp;
        return 0;
     }
- 
+
     double radius() const {
       return _radius;
     }
- 
+
     double ptMin() const {
       return _ptmin;
     }
- 
+
   private:
     double _radius;
     double _ptmin;
@@ -141,6 +142,8 @@
   };
 
 
+  /// @endcond
+
 }
 
 #endif

Modified: trunk/include/Rivet/Projections/IsolationTools.hh
==============================================================================
--- trunk/include/Rivet/Projections/IsolationTools.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/IsolationTools.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -6,12 +6,14 @@
 #include "Rivet/Projections/FinalState.hh"
 #include "Rivet/Projections/JetAlg.hh"
 
+namespace Rivet {
 
-namespace Rivet{
   typedef IsolationProjection<JetAlg, JetAlg> AllJetsIso;
 
   typedef IsolationProjection<FinalState, FinalState> AllParticleIso;
 
   typedef IsolationProjection<FinalState, JetAlg> ParticleFromJetIso;
+
 }
+
 #endif

Modified: trunk/include/Rivet/Projections/KtJets.hh
==============================================================================
--- trunk/include/Rivet/Projections/KtJets.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/KtJets.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -7,14 +7,14 @@
 #include "KtJet/KtJet.h"
 #include "KtJet/KtEvent.h"
 
-
 namespace Rivet {
 
-  /// Project out jets based on configurable kT algorithm.
+
+  /// @brief Project out jets based on configurable kT algorithm.
   class KtJets : public Projection {
- 
+
   public:
- 
+
     /// @name Standard constructors and destructors.
     //@{
 
@@ -38,7 +38,7 @@
       setName("KtJets");
       addProjection(fsp, "FS");
     }
- 
+
 
     /// Clone on the heap.
     virtual const Projection* clone() const {
@@ -52,7 +52,7 @@
     }
     //@}
 
- 
+
   protected:
 
     /// Perform the projection on the Event.
@@ -63,7 +63,7 @@
 
 
   public:
- 
+
     /// @name Access the projected NJets.
     //@ {
     int getNJets() const { return _pktev->getNJets(); }
@@ -88,7 +88,7 @@
 
 
   private:
- 
+
     /// Internal KtEvent, rebuilt every time an event is projected, but not otherwise.
     KtJet::KtEvent* _pktev;
 
@@ -97,7 +97,7 @@
 
     /// Map of vectors of y scales. This is mutable so we can use caching/lazy evaluation.
     mutable map<int, vector<double> > _yscales;
- 
+
   };
 
 }

Modified: trunk/include/Rivet/Projections/LeadingParticlesFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/LeadingParticlesFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/LeadingParticlesFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -10,7 +10,7 @@
 
   class Particle;
 
-  /// Project only the highest-pT occurrences of FS particles with the specified PDG IDs.
+  /// @brief Get the highest-pT occurrences of FS particles with the specified PDG IDs.
   class LeadingParticlesFinalState : public FinalState {
 
   public:
@@ -47,7 +47,7 @@
     // /// Get a particle of a particular ID (check it exists first)
     // bool get(const PdgId pid) const;
 
- 
+
   protected:
 
     /// Apply the projection on the supplied event.

Modified: trunk/include/Rivet/Projections/LossyFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/LossyFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/LossyFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,12 +12,10 @@
 namespace Rivet {
 
 
-  /// Randomly lose a fraction of the particles from the supplied final state projection.
-  /// @todo This needs an overhaul to make the base projections work properly. Slicing + inheritance again.
+  /// @brief Randomly lose a fraction of the particles from the supplied final state projection.
   class LossyFinalState : public FinalState {
-
   public:
- 
+
     /// @name Constructors
     //@{
 
@@ -29,7 +27,7 @@
       addProjection(fsp, "FS");
       assert(_lossFraction >= 0);
     }
- 
+
     /// Stand-alone constructor. Initialises the base FinalState projection.
     LossyFinalState(double lossfraction,
                     double mineta = -MAXRAPIDITY,
@@ -49,14 +47,16 @@
 
     //@}
 
+
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
 
+
   private:
 
     /// Inner functor used to implement the random lossiness.
@@ -71,11 +71,10 @@
 
     /// Fraction of particles to lose.
     const double _lossFraction;
- 
+
   };
 
 
 }
 
-
 #endif

Modified: trunk/include/Rivet/Projections/MergedFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/MergedFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/MergedFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,7 +12,7 @@
 namespace Rivet {
 
 
-  /// Provide access to final state particles merged from two FinalState projections.
+  /// @brief Get final state particles merged from two FinalState projections.
   class MergedFinalState : public FinalState {
 
   public:

Modified: trunk/include/Rivet/Projections/MissingMomentum.hh
==============================================================================
--- trunk/include/Rivet/Projections/MissingMomentum.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/MissingMomentum.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,10 +12,11 @@
 
 
   /// @brief Calculate missing \f$ E \f$, \f$ E_\perp \f$ etc.
+  ///
   /// Project out the total visible energy vector, allowing missing
-  /// \f E \f$, \f$ E_\perp \f$ etc. to be calculated. Final state 
+  /// \f E \f$, \f$ E_\perp \f$ etc. to be calculated. Final state
   /// visibility restrictions are automatic.
-  class MissingMomentum : public Projection { 
+  class MissingMomentum : public Projection {
   public:
 
     /// Default constructor with uncritical FS.
@@ -27,7 +28,7 @@
       addProjection(VisibleFinalState(fs), "VisibleFS");
     }
 
- 
+
     /// Constructor.
     MissingMomentum(const FinalState& fs)
     {
@@ -42,7 +43,7 @@
       return new MissingMomentum(*this);
     }
 
- 
+
   public:
 
     /// The projected four-momentum vector
@@ -53,16 +54,16 @@
 
     /// The projected scalar transverse energy
     double scalarET() const { return _set; }
- 
+
 
   protected:
- 
+
     /// Apply the projection to the event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
-     
+
 
   public:
 
@@ -71,13 +72,13 @@
 
 
   private:
- 
+
     /// The total visible momentum
     FourMomentum _momentum;
- 
+
     /// Scalar transverse energy
     double _set;
- 
+
   };
 
 }

Modified: trunk/include/Rivet/Projections/Multiplicity.hh
==============================================================================
--- trunk/include/Rivet/Projections/Multiplicity.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/Multiplicity.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -10,7 +10,7 @@
 
 namespace Rivet {
 
-  /// Count the final-state particles in an event.
+  /// @brief Count the final-state particles in an event.
   class Multiplicity : public Projection {
   public:
 

Modified: trunk/include/Rivet/Projections/NeutralFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/NeutralFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/NeutralFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,7 +12,7 @@
 namespace Rivet {
 
 
-  /// Project only neutral final state particles.
+  /// @brief Project only neutral final state particles.
   class NeutralFinalState : public FinalState {
 
   public:

Modified: trunk/include/Rivet/Projections/PVertex.hh
==============================================================================
--- trunk/include/Rivet/Projections/PVertex.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/PVertex.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -25,6 +25,7 @@
 
     /// @name Standard constructors and destructors.
     //@{
+
     /// The default constructor.
     PVertex()
       : _thePVertex(0)
@@ -45,9 +46,9 @@
       return Vector3(0,0,0);
     }
 
- 
+
   protected:
- 
+
     /// Do the projection.
     void project(const Event& e);
 
@@ -56,13 +57,13 @@
     int compare(const Projection& UNUSED(p)) const {
       return EQUIVALENT;
     }
- 
+
 
   private:
 
     /// The Primary Vertex in the current collision.
     GenVertex* _thePVertex;
- 
+
   };
 
 }

Modified: trunk/include/Rivet/Projections/Thrust.hh
==============================================================================
--- trunk/include/Rivet/Projections/Thrust.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/Thrust.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -11,9 +11,7 @@
 
 
   /**
-    @brief Obtain the e+ e- thrust event shape, consisting of the thrust basis and the
-    thrust scalar values in each direction (the thrust, thrust major and thrust
-    minor).
+    @brief Get the e+ e- thrust basis and the thrust, thrust major and thrust minor scalars.
 
     @author Andy Buckley
 
@@ -117,7 +115,7 @@
 
     /// Manually calculate the thrust, without engaging the caching system
     void calc(const vector<FourMomentum>& fsmomenta);
-   
+
     /// Manually calculate the thrust, without engaging the caching system
     void calc(const vector<Vector3>& threeMomenta);
 

Modified: trunk/include/Rivet/Projections/TotalVisibleMomentum.hh
==============================================================================
--- trunk/include/Rivet/Projections/TotalVisibleMomentum.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/TotalVisibleMomentum.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -11,13 +11,12 @@
 namespace Rivet {
 
 
-  /// Project out the total energy vector, allowing missing
-  /// \f$ E_T \f$ etc. to be calculated.
+  /// @brief Get the total energy vector, allowing missing \f$ E_T \f$ etc. to be calculated.
   /// @deprecated This is confusing because the visibility is not automatic. Use MissingMomentum instead.
   class TotalVisibleMomentum : public Projection {
- 
+
   public:
- 
+
     /// Constructor. Make sure you supply an appropriately vetoed FS!
     TotalVisibleMomentum(const FinalState& fsp)
     {
@@ -30,7 +29,7 @@
       return new TotalVisibleMomentum(*this);
     }
 
- 
+
   public:
     /// The projected four-momentum vector
     FourMomentum& momentum() { return _momentum; }
@@ -40,24 +39,24 @@
 
     /// The projected scalar transverse energy
     double scalarET() const { return _set; }
- 
+
 
   protected:
- 
+
     /// Apply the projection to the event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
-     
+
   private:
- 
+
     /// The total visible momentum
     FourMomentum _momentum;
- 
+
     /// Scalar transverse energy
     double _set;
- 
+
   };
 
 }

Modified: trunk/include/Rivet/Projections/TriggerCDFRun0Run1.hh
==============================================================================
--- trunk/include/Rivet/Projections/TriggerCDFRun0Run1.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/TriggerCDFRun0Run1.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -10,10 +10,10 @@
 namespace Rivet {
 
 
-  /// Project out the incoming beams
+  /// @brief Access to the min bias triggers used by CDF in Run 0 and Run 1
   class TriggerCDFRun0Run1 : public Projection {
   public:
- 
+
     /// Default constructor.
     TriggerCDFRun0Run1() {
       setName("TriggerCDFRun0Run1");

Modified: trunk/include/Rivet/Projections/TriggerUA5.hh
==============================================================================
--- trunk/include/Rivet/Projections/TriggerUA5.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/TriggerUA5.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -10,10 +10,10 @@
 namespace Rivet {
 
 
-  /// Project out the incoming beams
+  /// @brief Access to the min bias triggers used by UA5
   class TriggerUA5 : public Projection {
   public:
- 
+
     /// Default constructor.
     TriggerUA5();
 
@@ -51,7 +51,7 @@
       return make_pair(_n_plus, _n_minus);
     }
 
-    /// Project on to the Event
+    /// Project on to the event
     void project(const Event& evt);
 
 

Modified: trunk/include/Rivet/Projections/UnstableFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/UnstableFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/UnstableFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -9,11 +9,10 @@
 namespace Rivet {
 
 
-  /// Project out all final-state particles in an event.
+  /// @brief Project out all physical-but-decayed particles in an event.
   class UnstableFinalState : public Projection {
- 
   public:
- 
+
     /// @name Standard constructors and destructors.
     //@{
     /// The default constructor. May specify the minimum and maximum
@@ -35,7 +34,7 @@
       return new UnstableFinalState(*this);
     }
     //@}
-     
+
     /// Access the projected final-state particles.
     virtual const ParticleVector& particles() const { return _theParticles; }
 
@@ -44,30 +43,33 @@
     /// @deprecated Is this final state empty?
     virtual bool isEmpty() const { return _theParticles.empty(); }
 
+
   protected:
- 
+
     /// Apply the projection to the event.
     virtual void project(const Event& e);
- 
+
     /// Compare projections.
     virtual int compare(const Projection& p) const;
- 
+
+
   protected:
 
     /// The minimum allowed pseudorapidity.
     double _etamin;
- 
+
     /// The maximum allowed pseudorapidity.
     double _etamax;
- 
+
     /// The minimum allowed transverse momentum.
     double _ptmin;
- 
+
     /// The final-state particles.
     ParticleVector _theParticles;
- 
+
   };
 
+
 }
 
 

Modified: trunk/include/Rivet/Projections/VetoedFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/VetoedFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/VetoedFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,7 +12,7 @@
 namespace Rivet {
 
 
-  /// Specify that classes of particles are to be excluded from the final state.
+  /// @brief FS modifier to exclude classes of particles from the final state.
   class VetoedFinalState : public FinalState {
 
   public:
@@ -26,7 +26,7 @@
     /// Typedef for a veto on a composite particle mass.
     typedef multimap<int, BinaryCut>  CompositeVeto;
 
- 
+
     /// @name Constructors
     //@{
     /// Default constructor.
@@ -67,7 +67,7 @@
       return new VetoedFinalState(*this);
     }
     //@}
- 
+
 
   public:
 
@@ -125,7 +125,7 @@
       _nCompositeDecays.insert(nProducts);
       return *this;
     }
- 
+
     /// Veto the decay products of particle with pdg id
     /// @todo Need HepMC to sort themselves out and keep vector bosons from
     /// the hard vtx in the event record before this will work reliably for all pdg ids
@@ -133,7 +133,7 @@
       _parentVetoes.insert(id);
       return *this;
     }
- 
+
     /// Set the list of particle IDs and \f$ p_T \f$ ranges to veto.
     VetoedFinalState& setVetoDetails(const VetoDetails& ids) {
       _vetoCodes = ids;
@@ -145,7 +145,7 @@
       _vetoCodes.clear();
       return *this;
     }
- 
+
 
     /// Veto particles from a supplied final state.
     VetoedFinalState& addVetoOnThisFinalState(FinalState& fs) {
@@ -159,10 +159,10 @@
 
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
 
@@ -171,11 +171,11 @@
 
     /// The final-state particles.
     VetoDetails _vetoCodes;
- 
+
     /// Composite particle masses to veto
     CompositeVeto _compositeVetoes;
     set<int> _nCompositeDecays;
- 
+
     typedef set<long> ParentVetos;
 
     /// Set of decaying particle IDs to veto

Modified: trunk/include/Rivet/Projections/VisibleFinalState.hh
==============================================================================
--- trunk/include/Rivet/Projections/VisibleFinalState.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/VisibleFinalState.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -13,10 +13,10 @@
 namespace Rivet {
 
 
-  /// Final state modifier which excludes any particles which are not experimentally visible
+  /// @brief Final state modifier excluding particles which are not experimentally visible
   class VisibleFinalState : public FinalState {
   public:
- 
+
     /// @name Constructors
     //@{
 
@@ -38,13 +38,13 @@
     }
 
     //@}
- 
+
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
 

Modified: trunk/include/Rivet/Projections/WFinder.hh
==============================================================================
--- trunk/include/Rivet/Projections/WFinder.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/WFinder.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,11 +12,13 @@
 namespace Rivet {
 
 
+  /// @brief Convenience finder of leptonically decaying Ws
+  ///
   /// Chain together different projections as convenience for finding W's
-  /// from two leptons in the final state
+  /// from two leptons in the final state, including photon clustering.
   class WFinder : public FinalState {
   public:
- 
+
     /// @name Constructors
     //@{
 
@@ -72,10 +74,10 @@
 
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
 

Modified: trunk/include/Rivet/Projections/ZFinder.hh
==============================================================================
--- trunk/include/Rivet/Projections/ZFinder.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Projections/ZFinder.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,12 +12,14 @@
 namespace Rivet {
 
 
+  /// @brief Convenience finder of leptonically decaying Zs
+  ///
   /// Chain together different projections as convenience for finding Z's
-  /// from two leptons in the final state
+  /// from two leptons in the final state, including photon clustering.
   class ZFinder : public FinalState {
 
   public:
- 
+
     /// @name Constructors
     //@{
 
@@ -67,10 +69,10 @@
     const FinalState& constituentsFinalState() const;
 
   protected:
- 
+
     /// Apply the projection on the supplied event.
     void project(const Event& e);
- 
+
     /// Compare projections.
     int compare(const Projection& p) const;
 

Modified: trunk/include/Rivet/Run.hh
==============================================================================
--- trunk/include/Rivet/Run.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Run.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -12,8 +12,8 @@
 namespace Rivet {
 
 
+  /// @brief Interface to handle a run of events read from a HepMC stream or file.
   class Run {
-
   public:
 
     /// @name Standard constructors and destructors. */
@@ -65,7 +65,7 @@
 
     /// AnalysisHandler object
     AnalysisHandler& _ah;
- 
+
 
     /// @name Run variables obtained from events or command line
     //@{

Modified: trunk/include/Rivet/Tools/TypeTraits.hh
==============================================================================
--- trunk/include/Rivet/Tools/TypeTraits.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Tools/TypeTraits.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -11,7 +11,10 @@
   /// some trickery with typedefs and static const integral types (or
   /// enums) to implement partial function specialisation as a work-around.
 
+  /// @cond INTERNAL
+
   struct RefType { };
+
   struct PtrType { };
 
   template <typename T>
@@ -27,6 +30,8 @@
     typedef PtrType ArgType;
   };
 
+  /// @endcond
+
 }
 
 #endif

Modified: trunk/include/Rivet/Tools/osdir.hh
==============================================================================
--- trunk/include/Rivet/Tools/osdir.hh	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/include/Rivet/Tools/osdir.hh	Wed Apr 21 16:48:22 2010	(r2409)
@@ -19,6 +19,8 @@
 #ifndef OSLINK_OSDIR_HEADER_H_
 #define OSLINK_OSDIR_HEADER_H_
 
+/// @cond OSDIR
+
 #if defined(unix) || defined(__unix) || defined(__unix__)
 #define OSLINK_OSDIR_POSIX
 #elif defined(_WIN32)
@@ -90,71 +92,73 @@
 			bool willfail;
 			std::string current;
 	};
-}
-
-#elif defined(OSLINK_OSDIR_WINDOWS)
-
-#include <windows.h>
-#include <winbase.h>
-
-namespace oslink
-{
-	class directory
-	{
-		public:
-			directory(const std::string& aName)
-				: handle(INVALID_HANDLE_VALUE), willfail(false)
-				{
-					// First check the attributes trying to access a non-directory with 
-					// FindFirstFile takes ages
-					DWORD attrs = GetFileAttributes(aName.c_str());
-					if ( (attrs == 0xFFFFFFFF) || ((attrs && FILE_ATTRIBUTE_DIRECTORY) == 0) )
-					{
-						willfail = true;
-						return;
-					}
-					std::string Full(aName);
-					// Circumvent a problem in FindFirstFile with c:\\* as parameter 
-					if ( (Full.length() > 0) && (Full[Full.length()-1] != '\\') )
-						Full += "\\";
-					WIN32_FIND_DATA entry;
-					handle = FindFirstFile( (Full+"*").c_str(), &entry);
-					if (handle == INVALID_HANDLE_VALUE)
-						willfail = true;
-					else
-						current = entry.cFileName;
-				}
-			~directory()
-				{
-					if (handle != INVALID_HANDLE_VALUE)
-						FindClose(handle);
-				}
-
-			operator void*() const				
-				{
-					return willfail ? (void*)0:(void*)(-1);
-				}
-			std::string next()
-				{
-					std::string prev = current;
-					WIN32_FIND_DATA entry;
-					int ok = FindNextFile(handle, &entry);
-					if (!ok)
-						willfail = true;
-					else
-						current = entry.cFileName;
-					return current; 
-				}
-		private:
-			HANDLE	handle;
-			bool	willfail;
-			std::string current;
-	};
-}
+}
+
+#elif defined(OSLINK_OSDIR_WINDOWS)
+
+#include <windows.h>
+#include <winbase.h>
+
+namespace oslink
+{
+	class directory
+	{
+		public:
+			directory(const std::string& aName)
+				: handle(INVALID_HANDLE_VALUE), willfail(false)
+				{
+					// First check the attributes trying to access a non-directory with
+					// FindFirstFile takes ages
+					DWORD attrs = GetFileAttributes(aName.c_str());
+					if ( (attrs == 0xFFFFFFFF) || ((attrs && FILE_ATTRIBUTE_DIRECTORY) == 0) )
+					{
+						willfail = true;
+						return;
+					}
+					std::string Full(aName);
+					// Circumvent a problem in FindFirstFile with c:\\* as parameter
+					if ( (Full.length() > 0) && (Full[Full.length()-1] != '\\') )
+						Full += "\\";
+					WIN32_FIND_DATA entry;
+					handle = FindFirstFile( (Full+"*").c_str(), &entry);
+					if (handle == INVALID_HANDLE_VALUE)
+						willfail = true;
+					else
+						current = entry.cFileName;
+				}
+			~directory()
+				{
+					if (handle != INVALID_HANDLE_VALUE)
+						FindClose(handle);
+				}
+
+			operator void*() const
+				{
+					return willfail ? (void*)0:(void*)(-1);
+				}
+			std::string next()
+				{
+					std::string prev = current;
+					WIN32_FIND_DATA entry;
+					int ok = FindNextFile(handle, &entry);
+					if (!ok)
+						willfail = true;
+					else
+						current = entry.cFileName;
+					return current;
+				}
+		private:
+			HANDLE	handle;
+			bool	willfail;
+			std::string current;
+	};
+}
 
 
 #endif
 
+/// @endcond
+
 #endif
 
 /**

Modified: trunk/src/Analyses/CDF_2004_S5839831.cc
==============================================================================
--- trunk/src/Analyses/CDF_2004_S5839831.cc	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/src/Analyses/CDF_2004_S5839831.cc	Wed Apr 21 16:48:22 2010	(r2409)
@@ -35,12 +35,16 @@
 
   private:
 
+
+    /// @cond CONEUE_DETAIL
+
     struct ConesInfo {
       ConesInfo() : numMax(0), numMin(0), ptMax(0), ptMin(0), ptDiff(0) {}
       unsigned int numMax, numMin;
       double ptMax, ptMin, ptDiff;
     };
 
+    /// @endcond
 
     ConesInfo _calcTransCones(const double etaLead, const double phiLead,
                               const ParticleVector& tracks) {

Modified: trunk/src/Analyses/CDF_2008_LEADINGJETS.cc
==============================================================================
--- trunk/src/Analyses/CDF_2008_LEADINGJETS.cc	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/src/Analyses/CDF_2008_LEADINGJETS.cc	Wed Apr 21 16:48:22 2010	(r2409)
@@ -9,16 +9,17 @@
 namespace Rivet {
 
 
-  /* @brief CDF Run II underlying event in leading jet events
-   * @author Hendrik Hoeth
-   *
-   * Rick Field's measurement of the underlying event in "leading jet" events.
-   * The leading jet (CDF midpoint R=0.7) must be within |eta|<2 and defines
-   * the "toward" phi direction. Particles are selected in |eta|<1. For the pT
-   * related observables there is a pT>0.5 GeV cut. For sum(ET) there is no pT cut.
-   *
-   *
-   * @par Run conditions
+  /// @brief CDF Run II underlying event in leading jet events
+  /// @author Hendrik Hoeth
+  ///
+  /// Rick Field's measurement of the underlying event in "leading jet" events.
+  /// The leading jet (CDF midpoint \f$ R = 0.7 \f$) must be within \f$|\eta| < 2 \f$
+  /// and defines the "toward" phi direction. Particles are selected in
+  /// \f$ |\eta| < 1 \f$. For the \f$ p_\perp \f$-related observables there
+  /// is a \f$ p_\perp > 0.5 \f$ GeV cut. For \f$ \sum E_\perp \f$ there is no
+  /// \f$ p_\perp \f$ cut.
+  ///
+  /* @par Run conditions
    *
    * @arg \f$ \sqrt{s} = \f$ 1960 GeV
    * @arg Run with generic QCD events.

Modified: trunk/src/Analyses/CDF_2008_NOTE_9351.cc
==============================================================================
--- trunk/src/Analyses/CDF_2008_NOTE_9351.cc	Wed Apr 21 16:11:08 2010	(r2408)
+++ trunk/src/Analyses/CDF_2008_NOTE_9351.cc	Wed Apr 21 16:48:22 2010	(r2409)
@@ -9,15 +9,15 @@
 namespace Rivet {
 
 
-  /* @brief CDF Run II underlying event in Drell-Yan
-   * @author Hendrik Hoeth
-   *
-   * Measurement of the underlying event in Drell-Yan Z/gamma->e+e-
-   * and Z/gamma->mu+mu- events. The reconstructed Z defines the
-   * phi orientation. A Z mass window cut is applied.
-   *
-   *
-   * @par Run conditions
+  /// @brief CDF Run II underlying event in Drell-Yan
+  /// @author Hendrik Hoeth
+  ///
+  /// Measurement of the underlying event in Drell-Yan
+  /// \f$ Z/\gamma^* \to e^+ e^- \f$ and
+  /// \f$ Z/\gamma^* \to \mu^+ \mu^- \f$ events. The reconstructed
+  /// Z defines the \f$ \phi \f$ orientation. A Z mass window cut is applied.
+  ///
+  /* @par Run conditions
    *
    * @arg \f$ \sqrt{s} = \f$ 1960 GeV
    * @arg produce Drell-Yan events
@@ -46,7 +46,7 @@
       const ChargedFinalState clfs(-1.0, 1.0, 20*GeV);
       addProjection(cfs, "FS");
       addProjection(ChargedLeptons(clfs), "CL");
-   
+
       // Book histograms
       _hist_tnchg      = bookProfile1D( 1, 1, 1);
       _hist_pnchg      = bookProfile1D( 2, 1, 1);
@@ -54,50 +54,50 @@
       _hist_pminnchg   = bookProfile1D( 4, 1, 1);
       _hist_pdifnchg   = bookProfile1D( 5, 1, 1);
       _hist_anchg      = bookProfile1D( 6, 1, 1);
-   
+
       _hist_tcptsum    = bookProfile1D( 7, 1, 1);
       _hist_pcptsum    = bookProfile1D( 8, 1, 1);
       _hist_pmaxcptsum = bookProfile1D( 9, 1, 1);
       _hist_pmincptsum = bookProfile1D(10, 1, 1);
       _hist_pdifcptsum = bookProfile1D(11, 1, 1);
       _hist_acptsum    = bookProfile1D(12, 1, 1);
-   
+
       _hist_tcptave    = bookProfile1D(13, 1, 1);
       _hist_pcptave    = bookProfile1D(14, 1, 1);
       _hist_acptave    = bookProfile1D(15, 1, 1);
-   
+
       _hist_tcptmax    = bookProfile1D(16, 1, 1);
       _hist_pcptmax    = bookProfile1D(17, 1, 1);
       _hist_acptmax    = bookProfile1D(18, 1, 1);
-   
+
       _hist_zptvsnchg  = bookProfile1D(19, 1, 1);
       _hist_cptavevsnchg = bookProfile1D(20, 1, 1);
       _hist_cptavevsnchgsmallzpt = bookProfile1D(21, 1, 1);
     }
- 
- 
+
+
     /// Do the analysis
     void analyze(const Event& e) {
-   
+
       const FinalState& fs = applyProjection<FinalState>(e, "FS");
       const size_t numParticles = fs.particles().size();
-   
+
       // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
       if (numParticles < 1) {
         getLog() << Log::DEBUG << "Failed multiplicity cut" << endl;
         vetoEvent;
       }
-   
+
       // Get the event weight
       const double weight = e.weight();
-   
+
       // Get the leptons
       const ParticleVector& leptons = applyProjection<ChargedLeptons>(e, "CL").chargedLeptons();
-   
+
       // We want exactly two leptons of the same flavour.
       getLog() << Log::DEBUG << "lepton multiplicity = " << leptons.size() << endl;
       if (leptons.size() != 2 || leptons[0].pdgId() != -leptons[1].pdgId() ) vetoEvent;
-   
+
       // Lepton pT > 20 GeV
       if (leptons[0].momentum().pT()/GeV <= 20 || leptons[1].momentum().pT()/GeV <= 20) vetoEvent;
 
@@ -106,7 +106,7 @@
       if (!inRange(dilepton.mass()/GeV, 70., 110.) || fabs(dilepton.eta()) >= 6) vetoEvent;
       getLog() << Log::DEBUG << "Dilepton mass = " << mass(dilepton)/GeV << " GeV" << endl;
       getLog() << Log::DEBUG << "Dilepton pT   = " << pT(dilepton)/GeV << " GeV" << endl;
-   
+
       // Calculate the observables
       size_t   numToward(0),     numTrans1(0),     numTrans2(0),     numAway(0);
       double ptSumToward(0.0), ptSumTrans1(0.0), ptSumTrans2(0.0), ptSumAway(0.0);
@@ -118,12 +118,12 @@
         // Don't use the leptons
         /// @todo Replace with PID::isLepton
         if (abs(p->pdgId()) < 20) continue;
-     
+
         const double dPhi = deltaPhi(p->momentum().phi(), phiZ);
         const double pT = p->momentum().pT();
         double rotatedphi = p->momentum().phi() - phiZ;
         while (rotatedphi < 0) rotatedphi += 2*PI;
-     
+
         if (dPhi < PI/3.0) {
           ptSumToward += pT;
           ++numToward;
@@ -153,7 +153,7 @@
         if (pTZ < 10)
           _hist_cptavevsnchgsmallzpt->fill(numParticles-2, pT, weight);
       }
-   
+
       // Fill the histograms
       _hist_tnchg->fill(pTZ, numToward/(4*PI/3), weight);
       _hist_pnchg->fill(pTZ, (numTrans1+numTrans2)/(4*PI/3), weight);
@@ -161,14 +161,14 @@
       _hist_pminnchg->fill(pTZ, (numTrans1<numTrans2 ? numTrans1 : numTrans2)/(2*PI/3), weight);
       _hist_pdifnchg->fill(pTZ, abs(numTrans1-numTrans2)/(2*PI/3), weight);
       _hist_anchg->fill(pTZ, numAway/(4*PI/3), weight);
-   
+
       _hist_tcptsum->fill(pTZ, ptSumToward/(4*PI/3), weight);
       _hist_pcptsum->fill(pTZ, (ptSumTrans1+ptSumTrans2)/(4*PI/3), weight);
       _hist_pmaxcptsum->fill(pTZ, (ptSumTrans1>ptSumTrans2 ? ptSumTrans1 : ptSumTrans2)/(2*PI/3), weight);
       _hist_pmincptsum->fill(pTZ, (ptSumTrans1<ptSumTrans2 ? ptSumTrans1 : ptSumTrans2)/(2*PI/3), weight);
       _hist_pdifcptsum->fill(pTZ, fabs(ptSumTrans1-ptSumTrans2)/(2*PI/3), weight);
       _hist_acptsum->fill(pTZ, ptSumAway/(4*PI/3), weight);
-   
+
       if (numToward > 0) {
         _hist_tcptave->fill(pTZ, ptSumToward/numToward, weight);
         _hist_tcptmax->fill(pTZ, ptMaxToward, weight);
@@ -181,16 +181,16 @@
         _hist_acptave->fill(pTZ, ptSumAway/numAway, weight);
         _hist_acptmax->fill(pTZ, ptMaxAway, weight);
       }
-   
+
       // We need to subtract the two leptons from the number of particles to get the correct multiplicity
       _hist_zptvsnchg->fill(numParticles-2, pTZ, weight);
     }
- 
- 
+
+
     void finalize() {
       //
     }
- 
+
     //@}
 
   private:
@@ -219,7 +219,7 @@
 
   };
 
- 
+
   // This global object acts as a hook for the plugin system
   AnalysisBuilder<CDF_2008_NOTE_9351> plugin_CDF_2008_NOTE_9351;
 


More information about the Rivet-svn mailing list