[Rivet] Rivet with weighted events of indefinite sign

Paolo Nason Paolo.Nason at mib.infn.it
Mon Feb 4 14:48:11 GMT 2013


OK Andy, so I reply to the Rivet list, and report the problem as I found
it.

Yes, the problem was with trying to run agile for Pythia6, giving it a
LHEF to read. I checked that the events were coming out correctly, sigma
was updated by averaging the weights, but the (single) weight in the
weight list was 1.

The commands were (the mailer wraps the lines ...)

agile-runmc Pythia6:HEAD -n 5500000 -p "LHEF=pwgevents.lhe"  -p
"MSTP(143)=1" -p "MSTP(86)=1"  -o hepmc > agile.log &


rivet -a ATLAS_2010_S8817804 hepmc > rivet.log &


and the output looked like (I trimmed some 0's)
HepMC::Version 2.06.09
HepMC::IO_GenEvent-START_EVENT_LISTING
E 2 -1 -1.00e+00 -1.0e+00 -1.0e+00 0 0 421 1 2 0 1 1.0e+00
N 1 "0" 
U GEV MM
C 5.3231600000e+08 5.3231600000e+08
F 21 -1 2.1090400437e-01 2.7618234614e-03 9.49444e+00 ...

The header and the first Les Houches event is
<init>
  2212 2212 3.50000E+03 3.50000E+03 -1 -1 -1 -1 -4  1
 -1.00000E+00 -1.00000E+00 1.00000E+00 10001
</init>
<event>
  5  10001  5.32316E+08  9.49444E+00 -1.00000E+00  1.98338E-01 ..
 21    -1     0     0   514   512  0.000000000E+00  0.000000000...
 -1    -1     0     0     0   511  0.000000000E+00  0.000000000 ...
 -1     1     1     2     0   513  1.911581162E+01  3.298485108E..
 21     1     1     2   513   512 -1.262244641E+01 -2.605810724E
 
so IDWTUP is -4, but agile acts as if it was 3.

In the following event the C line reports the average of the weights.

Cheers,
Paolo


On Mon, 2013-02-04 at 14:45 +0100, Andy Buckley wrote:
> On 04/02/13 14:30, Paolo Nason wrote:
> > Thanks Andy, but I was not asking about groups of correlated events, as
> > they occour in fixed order NLO calculations, but rather about those that
> > occour in NLO+MC programs.
> 
> Ah, I see: sorry for the misunderstanding.
> 
> > At the end I gave up trying to use agile, it seems that it does not
> > propagate the event weight to the HepMC file, so I wrote a little
> > interface from Pythia6 to HepMC, to be used with POWHEG, using the HepMC
> > library to copy the event from the hepevt common block to the HepMC
> > format.
> 
> Sounds good. I'm surprised that AGILe didn't work, since I added the
> code to read in LHE files with HERWIG and PYTHIA together with Simone
> Alioli, but must admit that it's some time since I tried it. AGILe is
> anyway only a convenience interface for things like command-line
> parameter setting: your program sounds perfect.
> 
> > I found a little LHEF to HepMC converter, written by you, and I used the
> > same method found there to transfer the weights to the HepMC common
> > block. I also found that you need to set the cross section, computed as
> > the average weight at the given event.
> 
> Right -- the xsec handling in that program was also updated based on
> exchanges with Simone, so if there are improvements that can be made
> then please let me know.
> 
> > It seems to work, but it would help if I understood how does Rivet fill
> > histograms. I guess it does the following:
> > 
> > sum of weights falling in a given bin
> > ------------------------------------- X sigma_last
> >        sum of all weights
> > 
> > where sigma_last is the cross section entered in the last event.
> > 
> > 
> > That would be the correct thing for me;
> > Is this what it does?
> 
> Essentially, yes. The error treatment is a bit special for weighted
> events but I believe should be correct for negative weights (modulo the
> currently missing correlated event group support that needs a bit more
> work).
> 
> In Rivet the overall normalisation (and other post-event-loop
> manipulations) are up to the analysis author, as different experimental
> observables may normalise differently. But the "normal" way, which looks
> something like normalize(_hist, crossSection()/picobarn) or scale(_hist,
> crossSection()/picobarn/sumOfWeights()) in the Rivet analysis code,
> should be equivalent to what you've written.
> 
> I will be at least partially out of contact in coming weeks due to
> parental leave, so I've CC'd the main Rivet developer list (anyway the
> better contact point) for further discussion. Do I understand correctly
> that the problem was in AGILe (with which shower generator?) rather than
> in Rivet, and that with your own POWHEG -> HepMC setup everything looks ok?
> 
> Andy
> 
> 
> 
> > On Mon, 2013-02-04 at 13:15 +0100, Andy Buckley wrote:
> >> On 01/02/13 08:19, Paolo Nason wrote:
> >>> Hi Andy,
> >>> I am trying to learn how to use Rivet with POWHEG+PYTHIA6 (with Agile).
> >>> I have lhe events with variable weights, that can also be negative, and
> >>> I don't seem to be able to get a sensible result.
> >>>
> >>>
> >>> Can rivet handle this? I could not find anything clear in the
> >>> documentation ...
> >>
> >> Hi Paolo,
> >>
> >> It's been requested a lot, but we've not had the resources to implement
> >> it: doing this "automatically" requires us to build in a closer
> >> connection between the histograms and the event loop so that the
> >> "triggering" on same/different event numbers can work automatically. So
> >> no, it doesn't work at the moment: the central values should be fine,
> >> but the errors will be wrong as they end up showing the huge spread
> >> between the normal events and their negative counterterms.
> >>
> >> Once we get the next release of Rivet out (with new histogramming to
> >> allow for proper run merging) we can work on finally solving this
> >> problem (and handling of multiple weights per event). If we can get a
> >> short term student from MCnet or elsewhere to work on it, it'll go
> >> faster: at the moment the Rivet development manpower is < 5% of my time,
> >> and similar for others (Hendrik Hoeth, Frank Siegert, David
> >> Grellscheid), hence the slow progress of "core" development :(
> >>
> >> Andy
> >>
> > 
> 
> 

-- 
Paolo Nason, INFN, sez. di Milano Bicocca,
Università di Milano-Bicocca,
Dip. di Fisica "G. Occhialini",
Piazza della Scienza, 3
20126 Milano
Phone: +39-02-64482541.
Fax:   +39-02-64482582.



More information about the Rivet mailing list