|
[Rivet] beams definitonHannes Jung hannes.jung at cern.chMon Mar 28 20:31:49 BST 2011
Dear Andy et al thanks a lot. I attach a 2 event file to this mail. Is this the format you wanted to have ? thanks a lot cheers hannes -------------- next part -------------- A non-text attachment was scrubbed... Name: example_out.dat Type: application/octet-stream Size: 81125 bytes Desc: not available URL: <http://www.hepforge.org/lists-archive/rivet/attachments/20110328/81508c3a/attachment.obj> -------------- next part -------------- On 28.03.2011, at 21:06, Andy Buckley wrote: > Hi Hannes, > > Can you make a 2 event HepMC ASCII file in IO_GenEvent format and post > it to this list? We can then debug. > > IIRC, the logic in Rivet is that if the beam particles are declared as a > pair of pointers in the the HepMC GenEvent, then those GenParticle*s are > used, otherwise we have to assume that the first two events in the event > record are the beams. I can't remember if we use the newer convention > that beams have status == 4 in the beams projection: we do use it in the > FinalState projections. > > Andy > > > On 28/03/11 17:43, Hannes Jung wrote: >> 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 <mailto:Hannes.Jung at cern.ch> >>>> mobile :+49 40 8998 93741 >>>> http://www.desy.de/~jung <http://www.desy.de/%7Ejung> >>>> >>>> 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 <mailto: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 >> *********************************************************************** >> >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rivet mailing list >> Rivet at projects.hepforge.org >> http://www.hepforge.org/lists/listinfo/rivet > > > -- > Dr Andy Buckley > SUPA Advanced Research Fellow > Particle Physics Experiment Group, University of Edinburgh > > The University of Edinburgh is a charitable body, registered in > Scotland, with registration number SC005336. > *********************************************************************** 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 ***********************************************************************
More information about the Rivet mailing list |