|
[Rivet] Pythia+PU+Rivet problemAndy Buckley andy.buckley at cern.chMon Apr 14 21:13:03 BST 2014
Hi Tomasz, I didn't know anyone was using the old PYTHIA pile-up system! Looking in the Rivet code, that exception is thrown when it tries to find a text name for an unknown particle: since PIDs 1,2,3 are all quarks and hence should never be seen in a stable event final state, it leads to your error. Do you know why your code could be trying to access Particles' string names? It is possible that there's a bug in PYTHIA6 when run this way, which leads to partons appearing in the final state: I'm not sure. Obviously it's better not to put catch-all exception handling around the analyze function call -- you can hide serious problems that way and make debugging hard for everyone: presumably the error is being thrown by something inside your analysis routine, so maybe wrap *that* in the try block (and make the try block as small as possible) rather than the general CMSSW Rivet wrapper? By the way, I strongly recommend updating to use Rivet 1.9.0 -- your analysis should continue to work as before, but several bugs were fixed between 1.8.2 and that. All future releases, bugfixes, etc. are in the Rivet 2.x series. Best wishes, Andy On 14/04/14 16:52, Tomasz Fruboes wrote: > Dear Experts, > > in our rivet (1.82) analysys I'm trying to include pileup. Pileup is > added on generator level by pythia6 using following settings: > > 'MSTP(131)=1 > 'MSTP(132)=3 > 'MSTP(133)=1 > 'PARP(131)=0.15 > > Above gives n=10 PU interactions on average. In every 1 out of ~300 > events I'm getting following exception > > A std::exception was thrown. > Particle ID '1' not known. > > (where ID can be 2 or 3 as well). > > I have added try/catch block in order to handle this (see [1] below). > Could you comment if this is a safe workaround? Or maybe there is a > better solution? > > Thank you, > Tomasz Fruboes > > > [1] Source code of our rivet wrapper: > > https://github.com/cms-sw/cmssw/blob/CMSSW_7_1_X/GeneratorInterface/RivetInterface/plugins/RivetAnalyzer.cc > > > Line ~120 was changed to > //run the analysis > try { > _analysisHandler.analyze(*myGenEvent); > } catch (...) { > std::cout << "Exception caught...\n" ; > } > > > > > _______________________________________________ > Rivet mailing list > Rivet at projects.hepforge.org > https://www.hepforge.org/lists/listinfo/rivet -- Dr Andy Buckley, Royal Society University Research Fellow Particle Physics Expt Group, University of Glasgow / PH Dept, CERN
More information about the Rivet mailing list |