[Rivet] agile-runmc Alpgen

Gavin Hesketh gavin.hesketh at cern.ch
Thu Sep 13 14:44:48 BST 2012


Hi Stefania,
ok, bit of a brain dump - this should probably be written up as 
documentation as some point, but it's not perfect. Apologies if I'm 
telling you things you already know. This is the working solution I 
arrived at, it may not be the only (or even the best) solution of 
course. Even getting this far was a long path, with a few bug fixes in 
HepMC and agile along the way.


Alpgen is run in three steps:
1) generate weighted ME events (output = <filename>.wgt)
2) based on this, generate a sample of unweighted events (output = 
<filename>.unw and <filename>_unw.par)
3) run these unweighted events through pythia/herwig, apply MLM 
matching, output full particle level events.

*only* step 3 is run using agile.

All three steps have to be run for each slice you want, eg Z+0light 
partons, Z+1LP, Z+2LP, .... then the outputs of step 3 for all slices 
have to be added together to generate a complete sample.

Now, the parameter file you have in your original email is a parameter 
file for step 1 or 2. This still has to be run outside agile. Once you 
have run step 1 and 2 and you have the .unw and _unw.par files, you can 
then run agile. The code to do the MLM matching in the agile step 
expects some parameters, which you can input by hand at the start of the 
agile job (not very convenient), or put in a new parameter file.

eg make a file with this in:
<filename>   //matching the <filename>.unw you have
0            //whether the sample is inclusive or exclusive
20 0.4 5     // min pT, min dR, max eta for the MLM matching

- remove the comments. If you have a higher xLP slice also generated, 
the sample is exclusive. If this is your highest xLP slice, it is 
inclusive. The pT, dR, eta can be tuned, but these values should be 
quite reasonable.

The rivet ticket you found is about putting these parameters internally 
into agile; some of these are the ALPGENFILE, IEXC, and ETACLMAX already 
in the agile interface, but really I think it's not so simple, as the 
code sits at the command line expecting you to type them in; this code 
internal to alpgen (which is typically installed in the genser 
repository, not in agile). But it's not necessary to use the agile 
interface for these parameters: if you make a file called "inputs" 
containing the above parameters, you can run agile and rivet like this 
(for example) :

agile-runmc AlpGenPythia6:426p12:2.1.4 --beams=LHC:7000 -n 11  -p 
"MSTP(5)=350" -o hepmc.fifo  < inputs &
rivet -a ATLAS_XXXX_XXXXXX  /tmp/$USER/hepmc.fifo

here I'm generating just 11 events as a test. You have no idea how many 
events can be generated from your unweighted set of ME events (because 
the MLM matching efficiency is only known at the end of the job). So I 
usually put here the number of unweighted events (the number of events 
output from step 2), as you know at least the number of events produced 
by agile will be less than this.

If the rivet analysis you are running performs any kind of normalisation 
or multiplication / division of distributions, you generally have to 
hack the rivet code to turn this off - such normalisations are probably 
not valid per slice, only for the combined sample. There are other ways 
around this, but so far we didn't arrive at a good general solution.

Finally, combining the xLP samples. They all have to be normalised to 
the same luminosity, then added together. As you don't know the cross 
section or the number of events that will be produced in the rivet step 
(due to the unknown MLM matching efficiency), I simply take the 
luminosity from the output of step 2 of the ME generation - eg you get a 
printout like:

  starting scan/unweighting of  1935692. events
  Crosssection(pb)=  1.23454341+-  0.00074512512
  Generated  366203 unweighted events, lum=  296630.315pb-1

and you need this lum= value. I use this to weight the plots in the 
output aida file, then add the aida files together (or first convert the 
aida to root files, then do the same operation).

I hope that's some help... Probably I missed some details, it's been a 
while since I ran alpgen.

Gavin




-------- Original Message --------
Subject: agile-runmc  Alpgen
Date: Wed, 12 Sep 2012 18:04:25 +0200
From: stefania spagnolo <stefania.spagnolo at le.infn.it>
To: rivet at projects.hepforge.org
CC: Andy Buckley <andy.buckley at ed.ac.uk>


Dear all,
I see that the ticket
http://agile.hepforge.org/trac/ticket/121
is open with a low priority.
I've the impression that the ticket wouldn't exist at all if some
minimal documentation of the sintax and conventions of the
input parameter file for Alpgen, run via agile, were available.

I'm trying to guess  the names (as known to agile) of the 5 input
starting parameters without success in order to convert an input file
like the following (provided in the Alpgen suite)

1          ! imode
zbb        ! label for files
0 ! start with: 0=new grid, 1=previous warmup grid, 2=previous
generation grid
10000 2  ! Nevents/iteration,  N(warm-up iterations)
100000      ! Nevents generated after warm-up
*** The above 5 lines provide mandatory inputs for all processes
*** (Comment lines are introduced by the three asteriscs)
*** The lines below modify existing defaults for the hard process under
study
*** For a complete list of accessible parameters and their values,
*** input 'print 1' (to display on the screen) or 'print 2' to write to file
njets 3
ihvy 5
mllmin 80
mllmax 100
ptbmin 20
ptjmin 20

into a agile-alpgen parameter file.

Could anybody help with that ?
Many thanks,
Stefania


Stefania Spagnolo
------------------------------------------
Dip. di Fisica, Univ. del Salento
Sezione INFN di Lecce
Phone:  +39 0832 297439














More information about the Rivet mailing list