|
[Rivet] beams definitonHannes Jung hannes.jung at cern.chMon Mar 28 17:43:25 BST 2011
Hi Holger et al hm, I have checked that the beam particles are set in IO_HEPEVT, but still rivet does not find it. Here is the printout: ~/jung/cvs/rivet/myrivet> ../../phojet/main1/main1 < ../../phojet/main1/mb.inp > test.out & [3] 16489 Printout in test.out: in IO_HEPEVT beam particles set from rivet: ~/jung/cvs/rivet/myrivet> ../build/Rivet-1.5.0/bin/rivet-nopy /tmp/example_out.dat CMS_FWD_11_001 Rivet.Analysis.Handler: WARN Analysis 'CMS_FWD_11_001' is unvalidated: be careful, it may be broken! CMS_FWD_11_001 init phase new event = 1 0 Assertion failed: (beams.first && beams.second), function project, file Beam.cc, line 53. zsh: abort ../build/Rivet-1.5.0/bin/rivet-nopy /tmp/example_out.dat CMS_FWD_11_001 ~/jung/cvs/rivet/myrivet> Any idea to see, why rivet cannot find the beam particle ? Thanks a lot Cheers Hannes On 28.03.2011, at 08:14, Holger Schulz wrote: > On 28/03/11 07:20, Hannes Jung wrote: >> >> Dear Holger >> >> ahh, thanks a lot, I will try this. >> How are the beam particles extracted in rivet ? >> Should this be included in the rivet part to define beam particles, or in the user code ? > > Rivet checks if the HepMC has valid beam particles > in the initialisation step to check whether the analzses to > be run are compatible with the HepMC. IIRC this requirement > will go away in the future but at the moment there is no way > avoiding it. So you need to make sure the beam particles > are set properly in HepMC. > >> >> Sorry for my ignorance > You are welcome! > > HOlger >> cheers >> hannes >> >> On 27.03.2011, at 22:25, Holger Schulz wrote: >> >>> On 27/03/11 17:36, Hannes Jung wrote: >>>> >>>> Dear all >>>> >>>> I am rying to run PHOJET with rivet, I managed to write out the hepmc record and inserted the beam particles. >>>> It seems to be fine, but rivet cannot identify the beams. The following error appears: >>>> ---------- >>>> ~/jung/cvs/rivet/myrivet> ../../phojet/main1/main1 < ../../phojet/main1/mb.inp > test.out & >>>> [3] 12393 >>>> ~/jung/cvs/rivet/myrivet> ../build/Rivet-1.5.0/bin/rivet-nopy /tmp/example_out.dat CMS_FWD_11_001 >>>> Rivet.Analysis.Handler: WARN Analysis 'CMS_FWD_11_001' is unvalidated: be careful, it may be broken! >>>> CMS_FWD_11_001 init phase >>>> new event >>>> Assertion failed: (beams.first && beams.second), function project, file Beam.cc, line 53. >>>> zsh: abort ../build/Rivet-1.5.0/bin/rivet-nopy /tmp/example_out.dat CMS_FWD_11_001 >>>> ---------- >>>> >>>> The first few lines of the hepmc file look like: >>>> >>>> HepMC::Version 2.03.11 >>>> HepMC::IO_GenEvent-START_EVENT_LISTING >>>> E 0 -1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 0 0 167 1 2 0 0 >>>> H 0 0 0 0 0 0 0 0 0 0 0 0 0 >>>> F 0 0 0 0 0 0 0 >>>> V -1 0 0 0 0 0 1 1 0 >>>> P 1 2212 0 0 3.5000000000000000e+03 3.5000000000000000e+03 9.3827000000000005e-01 3 0 0 -1 0 >>>> P 3 1 -1.9197591135156278e+00 -3.9088666188920991e-02 1.8743428161779718e+01 1.8841528606871407e+01 9.9000002932664519e-03 2 0 0 -3 0 >>>> V -2 0 0 0 0 0 1 27 0 >>>> P 2 2212 0 0 -3.5000000000000000e+03 3.5000000000000000e+03 9.3827000000000005e-01 3 0 0 -2 0 >>>> P 4 -2 4.9018658469058018e-01 5.6550380835818814e-01 -2.0026574606985077e+03 2.0026576005398924e+03 5.5999254606944934e-03 2 0 0 -4 0 >>>> P 5 -1 -2.1560772467809458e-01 -1.8019388783202768e+00 2.5303300407030580e+00 3.1138623182516181e+00 9.8999999999710413e-03 2 0 0 -5 0 >>>> ..... >>>> >>>> Any idea what I am doing wrong here ? >>>> >>>> Thanks a lot >>>> Cheers >>>> Hannes >>>> >>>> >>>> >>> Hi Hannes, >>> >>> I am not 100 percent sure but it could be that the beams have not properly been >>> set in the HepMC event record. Something similar showed up when recently we >>> solved a problem with the Whizard event generator. There is a solution by Frank >>> Siegert that may apply here as well. When filling the HepMC stuff, you could >>> iterate over all particles and look for those without a mother and explicitly >>> set those as beam particles. >>> >>> Here is a code snippet that solved the Whizard problem, >>> the lines in blue do the beam particle finding: >>> >>> // Function copied from Frank siegert >>> bool cmpGenParticleByEDesc(const HepMC::GenParticle* a, const HepMC::GenParticle* b) { >>> return a->momentum().e() > b->momentum().e(); >>> } >>> >>> extern "C" void io_gen_event_write_event >>> ( IO_GenEvent* iostream, GenEvent* evt) { >>> // Add beam particles by trying to find those particles without a mother >>> if (!evt->valid_beam_particles()) { >>> std::vector<HepMC::GenParticle*> beams; >>> for ( HepMC::GenEvent::particle_const_iterator p = evt->particles_begin(); >>> p != evt->particles_end(); ++p ) { >>> if (!(*p)->production_vertex() && (*p)->pdg_id()!=0) { >>> beams.push_back(*p); >>> } >>> } >>> // Set the beam particles >>> evt->set_beam_particles(beams[0], beams[1]); >>> } >>> // Write the event >>> iostream->write_event( evt); >>> } >>> >>> >>> Hope that helps, >>> Holger >>> >>> >>> >>> >>> >> >> *********************************************************************** >> Hannes Jung >> Email: Hannes.Jung at cern.ch >> mobile :+49 40 8998 93741 >> http://www.desy.de/~jung >> Tel: +49 (0) 40 8998 3741 (DESY) >> Tel: +41 22 76 71691 (CERN) >> CERN - PH >> 40-3 B11 >> CH-1211 Genève 23 >> Switzerland >> *********************************************************************** >> >> >> >> >> >> >> >> > *********************************************************************** Hannes Jung Email: Hannes.Jung at cern.ch mobile :+49 40 8998 93741 http://www.desy.de/~jung Tel: +49 (0) 40 8998 3741 (DESY) Tel: +41 22 76 71691 (CERN) CERN - PH 40-3 B11 CH-1211 Genève 23 Switzerland *********************************************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.hepforge.org/lists-archive/rivet/attachments/20110328/8a5a2e23/attachment.html>
More information about the Rivet mailing list |