[Rivet] beams definiton

Hannes Jung hannes.jung at cern.ch
Mon 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