[Rivet] Rivet with POWHEG-BOX

Andy Buckley andy.buckley at cern.ch
Wed Nov 30 14:29:00 GMT 2016


Actually, having started to make this addition, I realised that we do 
have a GLUON identifier defined -- as for the quarks and many other 
particles, but that only a few particles have string representations -- 
basically only the ones that need to be translated from command-line 
strings into beam-particle PIDs.

This hasn't come up before because those PID -> string functions are 
really for internal use. But maybe we accidentally propagated them into 
the public interface. Can you let us know what you are doing that 
results in them being called?

In the long-term it'd be nice for us to find a neat way to define both 
enums and strings for all PID codes, but that will take a bit more 
work... and a good use-case.

Cheers,
Andy


On 30/11/16 14:17, Andy Buckley wrote:
> Hi Tomas,
>
> Sorry for the delayed reply, I missed this at the time.
>
> I suspect the reason that it only fails on the second event is that we
> use the first event to establish beam particles and energies, so the
> second event is the first one on which an analyze() step failure is
> possible. I'm not 100% certain about that, though.
>
> As for the reason for the failure, I don't know what your analysis
> routine is doing, but it's failing when trying to write out a string
> representation of the particle name. Are you trying to do such a
> printout? You should be able to catch the error, but it'd be reasonable
> for us not to throw such a major error for a (probably) cosmetic
> failure. I will now add the gluon to the list of named particles -- it's
> not currently in there because of Rivet's focus on more physically sound
> post-hadronisation particles, but we already support quark names so it
> makes sense to also know about gluons. I can't guarantee that all
> analyses will work well with parton-level final-states, though -- take
> care!
>
> Andy
>
>
> On 14/11/16 14:59, Tomas Jezo wrote:
>> Dear Rivet authors,
>>
>> I'm trying to analyze events generated by POWHEG-BOX using Rivet (rivet
>> v2.4.3). I'm using the `HepMC::IO_HEPEVT` to convert the events from the
>> HEPEVT format and them pass them to rivet:
>>
>> HepMC::GenEvent* evt = hepevtio.read_next_event();
>> rivet.analyze(*evt);
>>
>> Unfortunately i get the following error:
>>
>> terminate called after throwing an instance of 'Rivet::PidError'
>>   what():  Particle ID '21' not known.
>>
>> starting from event 2 (event 1 succeeds).
>>
>> If I write events into a file I get:
>>
>> HepMC::Version 2.06.09
>> HepMC::IO_GenEvent-START_EVENT_LISTING
>> E 1 -1 -1.0000000000000000e+00 -1.0000000000000000e+00
>> -1.0000000000000000e+00 0 0 1 1 2 0 1 1.1406100000000000e+01
>> N 1 "0"
>> U GEV MM
>> V -1 0 0 0 0 0 2 4 0
>> P 1 21 0 0 3.4591526030000000e+02 3.4591526030000000e+02 0 -1 0 0 -1 0
>> P 2 21 0 0 -4.2588502149999999e+02 4.2588502149999999e+02 0 -1 0 0 -1 0
>> P 3 6 -1.4833769729999999e+00 -1.2369079390000000e+02
>> 2.3239638199999999e+02 3.1474742459999999e+02 1.7250000000000000e+02 1 0
>> 0 0 0
>> P 4 -6 -1.2441412769999999e+01 9.4068674470000005e+01
>> -3.5206476490000000e+02 4.0337272209999998e+02 1.7250000000000000e+02 1
>> 0 0 0 0
>> P 5 5 7.2436624820000004e+00 2.2627455149999999e+01
>> 3.3183952779999998e+01 4.1087827820000001e+01 4.7500000000000000e+00 1 0
>> 0 0 0
>> P 6 -5 6.6811272600000002e+00 6.9946643320000002e+00
>> 6.5146689540000002e+00 1.2592307260000000e+01 4.7500000000000000e+00 1 0
>> 0 0 0
>> E 2 -1 -1.0000000000000000e+00 -1.0000000000000000e+00
>> -1.0000000000000000e+00 0 0 1 1 2 0 1 1.1406100000000000e+01
>> N 1 "0"
>> U GEV MM
>> V -1 0 0 0 0 0 2 4 0
>> P 1 21 0 0 1.5871885349999999e+01 1.5871885349999999e+01
>> 6.7434957620000004e-07 -1 0 0 -1 0
>> P 2 21 0 0 -2.1900844820000002e+03 2.1900844820000002e+03 0 -1 0 0 -1 0
>> P 3 6 -1.3328056880000000e+01 -8.3731995950000009e+00
>> -7.8224201930000004e+02 8.0119072280000000e+02 1.7250000000000000e+02 1
>> 0 0 0 0
>> P 4 -6 2.1782820879999999e+01 1.1731505100000000e+01
>> -1.3307128740000001e+03 1.3420749320000000e+03 1.7250000000000000e+02 1
>> 0 0 0 0
>> P 5 5 -3.3212752330000002e+00 -2.3273609810000000e+00
>> -2.7406078330000000e+01 2.8108772790000000e+01 4.7500000000000000e+00 1
>> 0 0 0 0
>> P 6 -5 -5.1334887599999997e+00 -1.0309445209999999e+00
>> -3.3851624520000001e+01 3.4581939450000000e+01 4.7500000000000000e+00 1
>> 0 0 0 0
>> ....
>>
>> Same happens when I run rivet from the command line:
>> 1.) It succeeds when analyzing individual events (event 1 or event 2)
>> 2.) Fails if run with a file containing both
>>
>> What am I doing wrong? Would you have any advice for me?
>>
>> Many thanks.
>>
>> Cheers,
>> Tomas
>>
>> _______________________________________________
>> Rivet mailing list
>> Rivet at projects.hepforge.org
>> https://www.hepforge.org/lists/listinfo/rivet
>
>


-- 
Dr Andy Buckley, Lecturer / Royal Society University Research Fellow
Particle Physics Expt Group, University of Glasgow


More information about the Rivet mailing list