[Rivet] unusual segfault:11 while getting a simple jet projection

David Grellscheid david.grellscheid at durham.ac.uk
Thu 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