|
[Rivet] [Rivet-svn] r2451 - trunk/src/AnalysesAndy Buckley andy.buckley at ed.ac.ukTue May 18 10:48:32 BST 2010
On 18/05/10 10:26, Lars Sonnenschein wrote: > Hello Andy > looking at the dps capabilities it doesn't look like the multiplication > of two dps is implemented. Argh, LWH... > Also I don't see how to set values and errors > in histogram bins. You can't: the point of data structures like histos or profiles is that their values and errors are determined by their fill-history, i.e. various sums of weights, so you can't just set the height and errors. That's what DPSes are for. > I also didn't find a conversion from histo to dps or a dps constructor > which accepts a histo as copy argument. AIDataPointSetFactory.h: namespace AIDA { ... virtual IDataPointSet * create(const std::string &, const IHistogram1D &, const std::string & = "") = 0; The problem with this is that it is an AIDA interface and so insists on writing all outputs to the persistent tree, which is not actually what you want. I recommend that you use the Rivet bookDataPointSet(...) function to book the binnings of the final histos that you store, but to create raw LWH objects for the rest... but even then you would need to implement some functionality for the multiplication etc. > The only way I see right now to get this working would be to copy by hand > (bin by bin) the histo entries into a dps in a for loop. At the same time > I can multiply the correction factors and set the right resulting errors. Yep, that's actually what goes on inside the DataPointSetFactory conversion method. > Of course the correction factors could be computed later on offline. > The two relevant histos to be divided come with the reference histograms. > Without correction the observables look about alright (see attached > plots). Looking at the correction factors, they would move the generated > MC distributions into the right direction. I think that the best thing to do might actually be to leave it as it is without the correction factors having been applied, but replace the /// @todo BROKEN! with something like: /// @todo Apply detector correction factors and note in the anainfo file that this data is uncorrected. We will then come back and finish the job when the histogramming is up to the job. Sound okay? Thanks, Andy -- Dr Andy Buckley SUPA Advanced Research Fellow Particle Physics Experiment Group, University of Edinburgh
More information about the Rivet mailing list |