|
[Rivet] compile error and patch: OSX 10.6.8 or more std C++ compilerAndy Buckley andy.buckley at ed.ac.ukFri 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 |