[Rivet] Rivet listening to socket

James Monk jmonk at hep.ucl.ac.uk
Thu Aug 14 19:56:04 BST 2008


Hi,

I have just been discussing with Frank and David how the Generator  
interface could be made more friendly.  We had the idea that Rivet  
could be started as a service listening on a socket for GenEvents.  We  
would then require of HepMC that they provide the facility to write  
GenEvents to a socket as well as a file.  Rivet would then analyze any  
events that were written to the socket as they arrive.  This would  
mean the generator would be run independently from Rivet in whatever  
way is normal for that generator and the steering of Rivet(Gun) is  
independent of the generator.

There are several nice features to this - separate generator runs  
could go into the same histogram, for example the generator could be  
run for signal and background, or in FHerwig photoproduction where the  
resolved and direct processes are separate runs.  Even better, several  
generator processes could be run at once on a multi-core machine and  
analysed by the same Rivet listener.  If we used a network socket the  
generator would not even have to be run on the same machine as the  
Rivet listener, so an entire batch system could pipe events to a  
single Rivet analysis (assuming the analysis is faster then the event  
generation).

An issue to be handled would be the generator may need to wait for  
Rivet or the events will start piling up in the socket.  This is  
surely a solved problem in the Unix world tho'.  Another problem is  
Rivet would not know when the last event was, or would need to know  
when the run has finished to actually finalise the histograms.  Again,  
this does not seem an insurmountable problem.

Any comments?  Should this be included in some future version of Rivet?

cheers,

James




More information about the Rivet mailing list