[Rivet] compile error and patch: OSX 10.6.8 or more std C++ compiler

Andy Buckley andy.buckley at ed.ac.uk
Fri Mar 15 15:14:56 GMT 2013


Agreed: my suggestion is to allow you to determine if a particle has
*any* status hadron in its ancestor list. You have to be a *little* bit
careful, since of course every particle will say that it has a proton
ancestor if you look back far enough, but the status 2 requirement
should catch that ;-) You can also do this yourself, of course, but if
we feel that it's a valid and useful thing for analyses to do then we
should provide a pre-debugged helper function.

b-tagging is definitely a place where we need a range of tools for
analysis authors to use: the current Jet::hasBottom implementation is
too inclusive. But I think it's best to prototype things in your
analysis code, e.g. using FastJet explicitly to do the ghost clustering
and if it works then let us know and we'll try to neatly push it
"upstairs". FastJet3 makes this easier, and after a meeting this morning
I think ATLAS may finally be about to make that leap (in devval/17.7.X
at least)!

Andy


On 15/03/13 15:33, William Hamish Bell wrote:
> Hi Andy,
> 
> While b-tagging would be good, the exclusion of non-prompt leptons is tricky since they come from many sources.  If we throw out the leptons from b-decays, then there are the leptons from c-decays or Dalitz decays (pi0 -> e+e- gamma), which can also sneak into the prompt sample.
> 
> Regards,
> 
> Will
> 
> On Mar 15, 2013, at 3:25 PM, Andy Buckley wrote:
> 
>> Hi Will,
>>
>> We've already solved this one on trunk... soon to be 1.8.3. Thanks
>> anyway :-)
>>
>> We're currently debating whether or not we can add some other helper
>> functions for the b-tagging/decay lepton exclusion that we talked about,
>> so you *may* also get some of that functionality as a surprise gift in
>> 1.8.3, if we can agree on the Right (TM) way to do it!
>>
>> Andy
>>
>>
>> On 15/03/13 15:18, William Hamish Bell wrote:
>>> Hi,
>>>
>>> Compilation of Rivet 1.8.2 fails on OSX 10.6.8:
>>>
>>> [wbell at pb-d-128-141-35-96 ~]$ ./rivet-bootstrap --prefix="/opt/rivet/1.8.2/macosx106-x86_64-gcc-4.2" --with-gsl=/opt/local --with-boost=/opt/local
>>> Getting http://www.hepforge.org/archive/rivet/Rivet-1.8.2.tar.gz
>>> Not overwriting tarball at /Users/wbell/downloads/Rivet-1.8.2.tar.gz
>>> Configuring in /Users/wbell/build/Rivet-1.8.2: ./configure --prefix=/opt/rivet/1.8.2/macosx106-x86_64-gcc-4.2  --with-lcgtag=i386-mac106-gcc42-opt --with-hepmc=/opt/rivet/1.8.2/macosx106-x86_64-gcc-4.2 --with-boost=/opt/local --with-fastjet=/opt/rivet/1.8.2/macosx106-x86_64-gcc-4.2 --disable-pdfmanual --with-gsl=/opt/local
>>>
>>> Building in /Users/wbell/build/Rivet-1.8.2: make -j2 && make -j2 install
>>> Making all in src
>>> Making all in Core
>>>  CXX    libRivetCore_la-Jet.lo
>>>  CXX    libRivetCore_la-Event.lo
>>>  CXX    libRivetCore_la-Particle.lo
>>>  CXX    libRivetCore_la-ParticleName.lo
>>>  CXX    libRivetCore_la-ProjectionApplier.lo
>>>  CXX    libRivetCore_la-Projection.lo
>>>  CXX    libRivetCore_la-Analysis.lo
>>>  CXX    libRivetCore_la-AnalysisLoader.lo
>>>  CXX    libRivetCore_la-AnalysisInfo.lo
>>>  CXX    libRivetCore_la-AnalysisHandler.lo
>>>  CXX    libRivetCore_la-Run.lo
>>>  CXX    libRivetCore_la-ProjectionHandler.lo
>>>  CXX    libRivetCore_la-HistoHandler.lo
>>>  CXXLD  libRivetCore.la
>>> Making all in Projections
>>>  CXX    BeamThrust.lo
>>>  CXX    Beam.lo
>>>  CXX    ChargedFinalState.lo
>>>  CXX    ChargedLeptons.lo
>>>  CXX    CentralEtHCM.lo
>>>  CXX    ClusteredPhotons.lo
>>>  CXX    DISFinalState.lo
>>>  CXX    DISKinematics.lo
>>>  CXX    DISLepton.lo
>>>  CXX    FastJets.lo
>>>  CXX    FinalState.lo
>>>  CXX    FoxWolframMoments.lo
>>>  CXX    FParameter.lo
>>>  CXX    HadronicFinalState.lo
>>>  CXX    NonHadronicFinalState.lo
>>>  CXX    Hemispheres.lo
>>>  CXX    IdentifiedFinalState.lo
>>>  CXX    InitialQuarks.lo
>>>  CXX    InvMassFinalState.lo
>>>  CXX    JetAlg.lo
>>>  CXX    JetShape.lo
>>>  CXX    LeadingParticlesFinalState.lo
>>>  CXX    LeptonClusters.lo
>>>  CXX    MergedFinalState.lo
>>>  CXX    MissingMomentum.lo
>>>  CXX    Multiplicity.lo
>>>  CXX    NeutralFinalState.lo
>>>  CXX    ParisiTensor.lo
>>>  CXX    PVertex.lo
>>>  CXX    Sphericity.lo
>>>  CXX    Spherocity.lo
>>>  CXX    SVertex.lo
>>>  CXX    Thrust.lo
>>>  CXX    TotalVisibleMomentum.lo
>>>  CXX    TriggerCDFRun0Run1.lo
>>>  CXX    TriggerCDFRun2.lo
>>>  CXX    TriggerUA5.lo
>>>  CXX    UnstableFinalState.lo
>>>  CXX    VetoedFinalState.lo
>>>  CXX    VisibleFinalState.lo
>>>  CXX    WFinder.lo
>>>  CXX    ZFinder.lo
>>>  CXXLD  libRivetProjections.la
>>> Making all in Tools
>>> Making all in yaml-cpp
>>>  CXX    emitterstate.lo
>>>  CXX    aliascontent.lo
>>>  CXX    map.lo
>>>  CXX    parser.lo
>>>  CXX    scanscalar.lo
>>>  CXX    sequence.lo
>>>  CXX    stream.lo
>>>  CXX    parserstate.lo
>>>  CXX    scalar.lo
>>>  CXX    emitterutils.lo
>>>  CXX    iterator.lo
>>>  CXX    node.lo
>>>  CXX    scantag.lo
>>>  CXX    conversion.lo
>>>  CXX    null.lo
>>>  CXX    regex.lo
>>>  CXX    scanner.lo
>>>  CXX    simplekey.lo
>>>  CXX    tag.lo
>>>  CXX    emitter.lo
>>>  CXX    exp.lo
>>>  CXX    ostream.lo
>>>  CXX    scantoken.lo
>>>  CXXLD  libyaml-cpp.la
>>>  CXX    libRivetTools_la-Logging.lo
>>>  CXX    libRivetTools_la-RivetAIDA.lo
>>> In file included from ../../include/LWH/Histogram1D.h:10,
>>>                 from ../../include/LWH/HistogramFactory.h:9,
>>>                 from ../../include/LWH/AnalysisFactory.h:10,
>>>                 from RivetAIDA.cc:6:
>>> ../../include/LWH/Axis.h: In member function 'virtual int LWH::Axis::coordToIndex(double) const':
>>> ../../include/LWH/Axis.h:118: error: 'isnan' was not declared in this scope
>>>  CXX    libRivetTools_la-RivetPaths.lo
>>> ../../include/Rivet/Math/MathHeader.hh: At global scope:
>>> ../../include/Rivet/Math/MathHeader.hh:44: warning: 'Rivet::MAXINT' defined but not used
>>> make[3]: *** [libRivetTools_la-RivetAIDA.lo] Error 1
>>> make[3]: *** Waiting for unfinished jobs....
>>> make[2]: *** [all-recursive] Error 1
>>> make[1]: *** [all-recursive] Error 1
>>> make: *** [all-recursive] Error 1
>>>
>>> --------------
>>>
>>> where the gsl and boost libraries were make using macports.
>>>
>>> The fix is very simple
>>>
>>>    assert( ! std::isnan(coord) );
>>>
>>> rather than
>>>
>>>    assert( ! isnan(coord) );
>>>
>>> In the C++ standard isnan should be inside std.  Therefore, the LINUX compiler gcc43 is just being sloppy.  Would it be possible to put this fix in?
>>>
>>> Thanks and best regards,
>>>
>>> Will
>>> _______________________________________________
>>> Rivet mailing list
>>> Rivet at projects.hepforge.org
>>> http://www.hepforge.org/lists/listinfo/rivet
>>>
>>
>>
>> -- 
>> Dr Andy Buckley, Royal Society University Research Fellow
>> Particle Physics Expt Group, University of Edinburgh
>>
>> The University of Edinburgh is a charitable body, registered in
>> Scotland, with registration number SC005336.
>>
> 
> 


-- 
Dr Andy Buckley, Royal Society University Research Fellow
Particle Physics Expt Group, University of Edinburgh

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.



More information about the Rivet mailing list