|
[Rivet] beams definitonHannes Jung hannes.jung at cern.chWed Mar 30 23:12:25 BST 2011
Dear Andy et al did you already had ome time, to look into the issue with the beam defintion and the file which was attached to this mail and why Rivet cando anyhtng event worsk... Thanks a lot cheers Hannes On 28.03.2011, at 21:31, Hannes Jung wrote: > 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 > <example_out.dat> > 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 > *********************************************************************** > > > > > > > > *********************************************************************** 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 |