|
[Rivet] unusual segfault:11 while getting a simple jet projectionDavid Grellscheid david.grellscheid at durham.ac.ukThu May 12 10:33:59 BST 2016
Hi! We'll still need to look at this. I'm not sure the problem isn't just hidden away, since I can't see a functional difference between the two versions. David On 12/05/2016 11:01, Raghav Kunnawalkam Elayavalli wrote: > Hi Holger, > > I just realized what i was doing. The veto wasnt the issue since it did print the correct jet pT. due to the type cast of the fastjet vs jets i think. > I needed to have > const FastJets& Ajets = applyProjection<FastJets>(event, "Jets"); > const Jets ajets = Ajets.jetsByPt(30*GeV); > instead of > Jets ajets = applyProjection<FastJets>(event, "Jets").jetsByPt(30*GeV); > > So now it does what its supposed to do. > > Cheers, > Raghav > > > On May 12, 2016, at 10:53 AM, Holger Schulz <holger.schulz at durham.ac.uk<mailto:holger.schulz at durham.ac.uk>> wrote: > > > Hi Raghav, > > > Looks like you don't have a jet, i.e. ajet.size() might be 0 and > by explicitly accessing ajets[0] the segafault seems to come in. > > Could you try a > if (ajets.size()==0) vetoEvent; > > just before the cout? > > Holger > > > On 12/05/16 09:21, Raghav Kunnawalkam Elayavalli wrote: > Hi Rivet Experts, > > Im seeing a very weird seg fault when i get the jet projection. I attached the analysis code below in [1] and the error message in [2]. I cant for the life of me figure out what is causing this seg fault when i have other (much more complicated) analysis which use the exact same setup and those work fine. > > Cheers > Raghav > > [1] simple code: > // -*- C++ -*- > #include "Rivet/Analysis.hh" > #include "Rivet/Projections/FinalState.hh" > #include "Rivet/Projections/FastJets.hh" > > namespace Rivet { > > class JEWEL_test : public Analysis { > public: > > JEWEL_test() > : Analysis("JEWEL_test") > { } > > void init() { > FinalState fs(-5.0, 5.0, 0.150*GeV); > addProjection(fs, "FS"); > addProjection(FastJets(fs, FastJets::ANTIKT, 0.4), "Jets"); > _h_njets = bookHisto1D("njets", 10, 0, 10); > } > > void analyze(const Event& event) { > const double weight = event.weight(); > Jets ajets = applyProjection<FastJets>(event, "Jets").jetsByPt(30*GeV); > std::cout<<"ajets leading jet pT = "<<ajets[0].pT()<<std::endl; > _h_njets->fill(ajets.size(), weight); > } > > void finalize() { > scale(_h_njets, crossSection()/picobarn/sumOfWeights()); > } > private: > Histo1DPtr _h_njets; > }; > > DECLARE_RIVET_PLUGIN(JEWEL_test); > } > > [2]: Error message: > pb-d-128-141-166-103:ANALYSIS raghav$ rivet -a JEWEL_test ../out.hepmc > Rivet 2.4.1 running on machine pb-d-128-141-166-103.cern.ch<http://pb-d-128-141-166-103.cern.ch/> (x86_64) at 2016-05-12 10:17:31 > Rivet.Analysis.Handler: WARN Analysis 'JEWEL_test' is unvalidated: be careful, it may be broken! > Reading events from '../out.hepmc' > #-------------------------------------------------------------------------- > # FastJet release 3.2.0 > # M. Cacciari, G.P. Salam and G. Soyez > # A software package for jet finding and analysis at colliders > # http://fastjet.fr<http://fastjet.fr/> > # > # Please cite EPJC72(2012)1896 [arXiv:1111.6097] if you use this package > # for scientific work and optionally PLB641(2006)57 [hep-ph/0512210]. > # > # FastJet is provided without warranty under the terms of the GNU GPLv2. > # It uses T. Chan's closest pair algorithm, S. Fortune's Voronoi code > # and 3rd party plugin jet algorithms. See COPYING file for details. > #-------------------------------------------------------------------------- > ajets leading jet pT = 48.0278 > Segmentation fault: 11 > > > > > > _______________________________________________ > Rivet mailing list > Rivet at projects.hepforge.org<mailto:Rivet at projects.hepforge.org> > https://www.hepforge.org/lists/listinfo/rivet > > > > > > _______________________________________________ > Rivet mailing list > Rivet at projects.hepforge.org > https://www.hepforge.org/lists/listinfo/rivet >
More information about the Rivet mailing list |