|
[Rivet-svn] r2078 - in trunk: include/Rivet include/Rivet/Projections src src/Projectionsblackhole at projects.hepforge.org blackhole at projects.hepforge.orgThu Nov 19 13:59:09 GMT 2009
Author: buckley Date: Thu Nov 19 13:59:09 2009 New Revision: 2078 Log: Bit of a Cmp rewrite to break out the CmpState enum and allow easier (implicit) casts of Cmp to CmpState and int. Modified: trunk/include/Rivet/Cmp.fhh trunk/include/Rivet/Cmp.hh trunk/include/Rivet/Projections/Beam.hh trunk/include/Rivet/Projections/IsolationProjection.hh trunk/include/Rivet/Projections/TriggerCDFRun0Run1.hh trunk/include/Rivet/Projections/TriggerUA5.hh trunk/src/ProjectionHandler.cc trunk/src/Projections/ClusteredPhotons.cc trunk/src/Projections/FinalState.cc trunk/src/Projections/IdentifiedFinalState.cc trunk/src/Projections/InitialQuarks.cc trunk/src/Projections/InvMassFinalState.cc trunk/src/Projections/JetShape.cc trunk/src/Projections/LeadingParticlesFinalState.cc trunk/src/Projections/SVertex.cc trunk/src/Projections/Sphericity.cc trunk/src/Projections/VetoedFinalState.cc trunk/src/Projections/WFinder.cc trunk/src/Projections/ZFinder.cc Modified: trunk/include/Rivet/Cmp.fhh ============================================================================== --- trunk/include/Rivet/Cmp.fhh Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/include/Rivet/Cmp.fhh Thu Nov 19 13:59:09 2009 (r2078) @@ -4,8 +4,20 @@ namespace Rivet { -template <typename T> -class Cmp; + + // Forward-declare the Cmp template class + template <typename T> + class Cmp; + + + /// Enumerate the possible states of a Cmp object. + enum CmpState { + UNDEFINED = -2, //< Undefined state. + ORDERED = -1, //< The two corresponding objects are ordered. + EQUIVALENT = 0, //< The two corresponding objects are equivalent. + UNORDERED = 1 //< The two corresponding objects are unordered. + }; + } Modified: trunk/include/Rivet/Cmp.hh ============================================================================== --- trunk/include/Rivet/Cmp.hh Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/include/Rivet/Cmp.hh Thu Nov 19 13:59:09 2009 (r2078) @@ -9,30 +9,20 @@ namespace Rivet { - - /// 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 - /// positive if they are not. Zero will be returned if they are equal. - /// - /// The main usage of the Cmp class is if several variables should be - /// checked for ordering in which case several Cmp objects can be - /// combined as follows: <code>cmp(a1, a2) || cmp(b1, b2) || cmp(c1, - /// c2)</code> where cmp is a global function for easy creation of Cmp - /// 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 + /// positive if they are not. Zero will be returned if they are equal. + /// + /// The main usage of the Cmp class is if several variables should be + /// checked for ordering in which case several Cmp objects can be + /// combined as follows: <code>cmp(a1, a2) || cmp(b1, b2) || cmp(c1, + /// c2)</code> where cmp is a global function for easy creation of Cmp + /// objects. template <typename T> - class Cmp { - - public: - - /// Enumerate the possible states of a Cmp object. - enum CmpState { - UNDEFINED = -2, //< Undefined state. - ORDERED = -1, //< The two corresponding objects are ordered. - EQUIVALENT = 0, //< The two corresponding objects are equivalent. - UNORDERED = 1 //< The two corresponding objects are unordered. - }; - + class Cmp { public: /// @name Standard constructors etc. @@ -44,7 +34,7 @@ /// The copy constructor. template <typename U> Cmp(const Cmp<U>& x) - : _value(x.operator int()), _objects(0, 0) { } + : _value(x), _objects(0, 0) { } /// The destructor is not virtual since this is not intended to be a base class. ~Cmp() { }; @@ -52,14 +42,20 @@ /// The assignment operator. template <typename U> const Cmp<T>& operator=(const Cmp<U>& x) { - _value = x.operator int(); + _value = x; return *this; } //@} public: - /// Automatically convert to an integer. + /// Automatically convert to an enum. + operator CmpState() const { + _compare(); + return _value; + } + + /// Automatically convert to an integer. operator int() const { _compare(); return _value; @@ -69,11 +65,10 @@ template <typename U> const Cmp<T>& operator||(const Cmp<U>& c) const { _compare(); - if (_value == EQUIVALENT) _value = c.operator int(); + if (_value == EQUIVALENT) _value = c; return *this; } - private: /// Perform the actual comparison if necessary. @@ -87,7 +82,7 @@ } /// The state of this object. - mutable int _value; + mutable CmpState _value; /// The objects to be compared. pair<const T*, const T*> _objects; @@ -96,30 +91,20 @@ - /// 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 - /// constructor are ordered and positive if they are not. Zero will be - /// returned if they are equal. This specialization uses directly the - /// virtual compare() function in the Projection class. - /// - /// The main usage of the Cmp class is if several variables should be - /// checked for ordering in which case several Cmp objects can be - /// combined as follows: <code>cmp(a1, a2) || cmp(b1, b2) || cmp(c1, - /// c2)</code> where cmp is a global function for easy creation of Cmp - /// objects. + /// 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 + /// constructor are ordered and positive if they are not. Zero will be + /// returned if they are equal. This specialization uses directly the + /// virtual compare() function in the Projection class. + /// + /// The main usage of the Cmp class is if several variables should be + /// checked for ordering in which case several Cmp objects can be + /// combined as follows: <code>cmp(a1, a2) || cmp(b1, b2) || cmp(c1, + /// c2)</code> where cmp is a global function for easy creation of Cmp + /// objects. template <> - class Cmp<Projection> { - public: - - /// Enumerate the possible states of a Cmp object. - enum CmpState { - UNDEFINED = -2, //< Undefined state. - ORDERED = -1, //< The two corresponding objects are ordered. - EQUIVALENT = 0, //< The two corresponding objects are equivalent. - UNORDERED = 1 //< The two corresponding objects are unordered. - }; - + class Cmp<Projection> { public: /// @name Standard constructors and destructors. @@ -132,7 +117,7 @@ /// The copy constructor. template <typename U> Cmp(const Cmp<U>& x) - : _value(x.operator int()), _objects(0, 0) + : _value(x), _objects(0, 0) { } /// The destructor is not virtual since this is not intended to be a base class. @@ -141,13 +126,20 @@ /// The assignment operator. template <typename U> const Cmp<Projection>& operator=(const Cmp<U>& x) { - _value = x.operator int(); + _value = x; return *this; } //@} public: + /// Automatically convert to an enum. + operator CmpState() const { + _compare(); + return _value; + } + + /// Automatically convert to an integer. operator int() const { _compare(); @@ -158,7 +150,7 @@ template <typename U> const Cmp<Projection>& operator||(const Cmp<U>& c) const { _compare(); - if (_value == EQUIVALENT) _value = c.operator int(); + if (_value == EQUIVALENT) _value = c; return *this; } @@ -183,7 +175,7 @@ private: /// The state of this object. - mutable int _value; + mutable CmpState _value; /// The objects to be compared. pair<const Projection*, const Projection*> _objects; @@ -193,33 +185,23 @@ - /// 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. - /// - /// The main usage of the Cmp class is if several variables should be - /// checked for ordering in which case several Cmp objects can be - /// combined as follows: <code>cmp(a1, a2) || cmp(b1, b2) || cmp(c1, - /// c2)</code> where cmp is a global function for easy creation of Cmp - /// 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. + /// + /// The main usage of the Cmp class is if several variables should be + /// checked for ordering in which case several Cmp objects can be + /// combined as follows: <code>cmp(a1, a2) || cmp(b1, b2) || cmp(c1, + /// c2)</code> where cmp is a global function for easy creation of Cmp + /// objects. template <> class Cmp<double> { public: - /// Enumerate the possible states of a Cmp object. - enum CmpState { - UNDEFINED = -2, //< Undefined state. - ORDERED = -1, //< The two corresponding objects are ordered. - EQUIVALENT = 0, //< The two corresponding objects are equivalent. - UNORDERED = 1 //< The two corresponding objects are unordered. - }; - - public: - /// @name Standard constructors and destructors. //@{ /// The default constructor. @@ -230,7 +212,7 @@ /// The copy constructor. template <typename U> Cmp(const Cmp<U>& x) - : _value(x.operator int()), _numA(0.0), _numB(0.0) + : _value(x), _numA(0.0), _numB(0.0) { } /// The destructor is not virtual since this is not intended to be a base class. @@ -239,13 +221,19 @@ /// The assignment operator. template <typename U> const Cmp<double>& operator=(const Cmp<U>& x) { - _value = x.operator int(); + _value = x; return *this; } //@} public: + /// Automatically convert to an enum. + operator CmpState() const { + _compare(); + return _value; + } + /// Automatically convert to an integer. operator int() const { _compare(); @@ -256,7 +244,7 @@ template <typename U> const Cmp<double>& operator||(const Cmp<U>& c) const { _compare(); - if (_value == EQUIVALENT) _value = c.operator int(); + if (_value == EQUIVALENT) _value = c; return *this; } @@ -274,7 +262,7 @@ private: /// The state of this object. - mutable int _value; + mutable CmpState _value; /// The objects to be compared. double _numA, _numB; Modified: trunk/include/Rivet/Projections/Beam.hh ============================================================================== --- trunk/include/Rivet/Projections/Beam.hh Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/include/Rivet/Projections/Beam.hh Thu Nov 19 13:59:09 2009 (r2078) @@ -52,7 +52,7 @@ /// Compare with other projections. virtual int compare(const Projection& p) const { - return PCmp::EQUIVALENT; + return EQUIVALENT; } Modified: trunk/include/Rivet/Projections/IsolationProjection.hh ============================================================================== --- trunk/include/Rivet/Projections/IsolationProjection.hh Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/include/Rivet/Projections/IsolationProjection.hh Thu Nov 19 13:59:09 2009 (r2078) @@ -100,14 +100,14 @@ const IsolationProjection & other = dynamic_cast<const IsolationProjection &>(p); //first check the final states int isofscmp = mkNamedPCmp(other, "ToBeIsolated"); - if (isofscmp != PCmp::EQUIVALENT) return isofscmp; + if (isofscmp != EQUIVALENT) return isofscmp; int isoctrlcmp = mkNamedPCmp(other, "Control"); - if (isoctrlcmp != PCmp::EQUIVALENT) return isoctrlcmp; + if (isoctrlcmp != EQUIVALENT) return isoctrlcmp; // compare the ptmin of the isolated colection int ptmincmp = cmp(_ptmin, other._ptmin); - if (ptmincmp != PCmp::EQUIVALENT) return ptmincmp; + if (ptmincmp != EQUIVALENT) return ptmincmp; // compare the estimators - //if (cmp(*(_estimator.get()),*(other._estimator.get())) == PCmp::EQUIVALENT) cout << "Estimatori uguali!" << endl; + //if (cmp(*(_estimator.get()),*(other._estimator.get())) == EQUIVALENT) cout << "Estimatori uguali!" << endl; return cmp(*(_estimator.get()),*(other._estimator.get())); } Modified: trunk/include/Rivet/Projections/TriggerCDFRun0Run1.hh ============================================================================== --- trunk/include/Rivet/Projections/TriggerCDFRun0Run1.hh Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/include/Rivet/Projections/TriggerCDFRun0Run1.hh Thu Nov 19 13:59:09 2009 (r2078) @@ -42,7 +42,7 @@ /// Compare with other projections. virtual int compare(const Projection& p) const { - return PCmp::EQUIVALENT; + return EQUIVALENT; } Modified: trunk/include/Rivet/Projections/TriggerUA5.hh ============================================================================== --- trunk/include/Rivet/Projections/TriggerUA5.hh Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/include/Rivet/Projections/TriggerUA5.hh Thu Nov 19 13:59:09 2009 (r2078) @@ -67,7 +67,7 @@ /// Compare with other projections. virtual int compare(const Projection& p) const { - return PCmp::EQUIVALENT; + return EQUIVALENT; } Modified: trunk/src/ProjectionHandler.cc ============================================================================== --- trunk/src/ProjectionHandler.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/ProjectionHandler.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -158,7 +158,7 @@ getLog() << Log::TRACE << "RTTI type matches with " << ph << endl; // Test for semantic match - if (pcmp(*ph, proj) != PCmp::EQUIVALENT) { + if (pcmp(*ph, proj) != EQUIVALENT) { getLog() << Log::TRACE << "Projections at " << &proj << " and " << ph << " are not equivalent" << endl; } else { Modified: trunk/src/Projections/ClusteredPhotons.cc ============================================================================== --- trunk/src/Projections/ClusteredPhotons.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/ClusteredPhotons.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -9,10 +9,10 @@ int ClusteredPhotons::compare(const Projection& p) const { const PCmp fscmp = mkNamedPCmp(p, "Photons"); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; const PCmp sigcmp = mkNamedPCmp(p, "Signal"); - if (sigcmp != PCmp::EQUIVALENT) return sigcmp; + if (sigcmp != EQUIVALENT) return sigcmp; const ClusteredPhotons& other = dynamic_cast<const ClusteredPhotons&>(p); int rcmp = cmp(_dRmax, other._dRmax); Modified: trunk/src/Projections/FinalState.cc ============================================================================== --- trunk/src/Projections/FinalState.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/FinalState.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -40,21 +40,26 @@ } + int FinalState::compare(const Projection& p) const { const FinalState& other = dynamic_cast<const FinalState&>(p); + //cout << "FS::compare: " << 1 << " " << this << " " << &p << endl; std::vector<std::pair<double, double> > eta1(_etaRanges); std::vector<std::pair<double, double> > eta2(other._etaRanges); std::sort(eta1.begin(), eta1.end()); std::sort(eta2.begin(), eta2.end()); - if (eta1 < eta2) return PCmp::ORDERED; - else if (eta2 < eta1) return PCmp::UNORDERED; + //cout << "FS::compare: " << 2 << " " << this << " " << &p << endl; + if (eta1 < eta2) return ORDERED; + else if (eta2 < eta1) return UNORDERED; + //cout << "FS::compare: " << 3 << " " << this << " " << &p << endl; return cmp(_ptmin, other._ptmin); } + void FinalState::project(const Event& e) { _theParticles.clear(); Modified: trunk/src/Projections/IdentifiedFinalState.cc ============================================================================== --- trunk/src/Projections/IdentifiedFinalState.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/IdentifiedFinalState.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -10,11 +10,11 @@ int IdentifiedFinalState::compare(const Projection& p) const { const PCmp fscmp = mkNamedPCmp(p, "FS"); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; const IdentifiedFinalState& other = dynamic_cast<const IdentifiedFinalState&>(p); int pidssize = cmp(_pids.size(), other._pids.size()); - if (pidssize != PCmp::EQUIVALENT) return pidssize; + if (pidssize != EQUIVALENT) return pidssize; return cmp(_pids, other._pids); } Modified: trunk/src/Projections/InitialQuarks.cc ============================================================================== --- trunk/src/Projections/InitialQuarks.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/InitialQuarks.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -9,7 +9,7 @@ int InitialQuarks::compare(const Projection& p) const { - return PCmp::EQUIVALENT; + return EQUIVALENT; } Modified: trunk/src/Projections/InvMassFinalState.cc ============================================================================== --- trunk/src/Projections/InvMassFinalState.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/InvMassFinalState.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -32,22 +32,22 @@ int InvMassFinalState::compare(const Projection& p) const { // First compare the final states we are running on int fscmp = mkNamedPCmp(p, "FS"); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; // Then compare the two as final states const InvMassFinalState & other = dynamic_cast <const InvMassFinalState&>(p); fscmp = FinalState::compare(other); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; // Then compare the mass limits int massllimcmp = cmp(_minmass, other._minmass); - if (massllimcmp != PCmp::EQUIVALENT) return massllimcmp; + if (massllimcmp != EQUIVALENT) return massllimcmp; int masshlimcmp = cmp(_maxmass, other._maxmass); - if (masshlimcmp != PCmp::EQUIVALENT) return masshlimcmp; + if (masshlimcmp != EQUIVALENT) return masshlimcmp; // Compare the decay species int decaycmp = cmp(_decayids, other._decayids); - if (decaycmp != PCmp::EQUIVALENT) return decaycmp; + if (decaycmp != EQUIVALENT) return decaycmp; // Finally compare them as final states return FinalState::compare(other); Modified: trunk/src/Projections/JetShape.cc ============================================================================== --- trunk/src/Projections/JetShape.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/JetShape.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -22,7 +22,7 @@ int JetShape::compare(const Projection& p) const { PCmp fscmp = mkNamedPCmp(p, "FS"); - if (fscmp == PCmp::EQUIVALENT) return PCmp::EQUIVALENT; + if (fscmp == EQUIVALENT) return EQUIVALENT; const JetShape& other = dynamic_cast<const JetShape&>(p); return cmp(&_jetaxes, &other._jetaxes); } Modified: trunk/src/Projections/LeadingParticlesFinalState.cc ============================================================================== --- trunk/src/Projections/LeadingParticlesFinalState.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/LeadingParticlesFinalState.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -7,17 +7,17 @@ int LeadingParticlesFinalState::compare(const Projection& p) const { // First compare the final states we are running on int fscmp = mkNamedPCmp(p, "FS"); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; // Then compare the two as final states const LeadingParticlesFinalState& other = dynamic_cast<const LeadingParticlesFinalState&>(p); fscmp = FinalState::compare(other); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; // Finally compare the IDs - if (_ids < other._ids) return PCmp::ORDERED; - else if (other._ids < _ids) return PCmp::UNORDERED; - return PCmp::EQUIVALENT; + if (_ids < other._ids) return ORDERED; + else if (other._ids < _ids) return UNORDERED; + return EQUIVALENT; } Modified: trunk/src/Projections/SVertex.cc ============================================================================== --- trunk/src/Projections/SVertex.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/SVertex.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -12,7 +12,7 @@ int SVertex::compare(const Projection& p) const { const PCmp fscmp = mkNamedPCmp(p, "PV"); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; const SVertex& other = pcast<SVertex>(p); return \ cmp(_detEta, other._detEta) || Modified: trunk/src/Projections/Sphericity.cc ============================================================================== --- trunk/src/Projections/Sphericity.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/Sphericity.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -24,7 +24,7 @@ int Sphericity::compare(const Projection& p) const { PCmp fscmp = mkNamedPCmp(p, "FS"); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; const Sphericity& other = dynamic_cast<const Sphericity&>(p); if (fuzzyEquals(_regparam, other._regparam)) return 0; return cmp(_regparam, other._regparam); Modified: trunk/src/Projections/VetoedFinalState.cc ============================================================================== --- trunk/src/Projections/VetoedFinalState.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/VetoedFinalState.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -10,10 +10,10 @@ int VetoedFinalState::compare(const Projection& p) const { const PCmp fscmp = mkNamedPCmp(p, "FS"); - if (fscmp != PCmp::EQUIVALENT) return fscmp; + if (fscmp != EQUIVALENT) return fscmp; const VetoedFinalState& other = dynamic_cast<const VetoedFinalState&>(p); int vfssize = cmp(_vetofsnames.size(), other._vetofsnames.size()); - if (vfssize != PCmp::EQUIVALENT) return vfssize; + if (vfssize != EQUIVALENT) return vfssize; //if the size is the same retrieve the FS projections, store them in two ordered set, //compare the sets element by element set<const Projection*> vfs; @@ -23,7 +23,7 @@ other_vfs.insert(&(other.getProjection(ifs))); } int isetcmp = cmp(vfs, other_vfs); - if (isetcmp != PCmp::EQUIVALENT) return isetcmp; + if (isetcmp != EQUIVALENT) return isetcmp; return \ cmp(_vetoCodes, other._vetoCodes) || cmp(_compositeVetoes, other._compositeVetoes) || Modified: trunk/src/Projections/WFinder.cc ============================================================================== --- trunk/src/Projections/WFinder.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/WFinder.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -92,12 +92,12 @@ int WFinder::compare(const Projection& p) const { PCmp cmp = mkNamedPCmp(p, "IMFS"); - if (cmp != PCmp::EQUIVALENT) return cmp; + if (cmp != EQUIVALENT) return cmp; cmp = mkNamedPCmp(p, "CPhotons"); - if (cmp != PCmp::EQUIVALENT) return cmp; + if (cmp != EQUIVALENT) return cmp; - return PCmp::EQUIVALENT; + return EQUIVALENT; } Modified: trunk/src/Projections/ZFinder.cc ============================================================================== --- trunk/src/Projections/ZFinder.cc Thu Nov 19 13:58:16 2009 (r2077) +++ trunk/src/Projections/ZFinder.cc Thu Nov 19 13:59:09 2009 (r2078) @@ -85,12 +85,12 @@ int ZFinder::compare(const Projection& p) const { PCmp cmp = mkNamedPCmp(p, "IMFS"); - if (cmp != PCmp::EQUIVALENT) return cmp; + if (cmp != EQUIVALENT) return cmp; cmp = mkNamedPCmp(p, "CPhotons"); - if (cmp != PCmp::EQUIVALENT) return cmp; + if (cmp != EQUIVALENT) return cmp; - return PCmp::EQUIVALENT; + return EQUIVALENT; }
More information about the Rivet-svn mailing list |