[Rivet] yodamerge and normalisation

Andy Buckley andy.buckley at cern.ch
Wed Oct 14 22:39:49 BST 2015


Hi Hannes,

I think this sort of case is better dealt with by *not* normalizing the 
DY+jet histos, or normalizing them to an area of 1. Then use yodamerge 
to combine both the Z+jet and DY+jet pt plots and write a (very) little 
Python script to do the last bit:

import yoda
hs = yoda.read("merged.yoda")
norm = hs["/MYANA/DYpt"].integral()
hs["/MYANA/DYpt"].normalize(norm)
yoda.write(hs, "rescaled.yoda")

Not tested, but that's the basic idea. Let us know if that works for you.

Andy


On 14/10/15 18:23, Hannes Jung wrote:
> Hi Andy et al
>
> the new yodamerge works much better now, this is really great.
>
> But I have now another problem (which I tried to solve with the hack
> from before):
>
> I fill histograms and normalize them to some xsection.
> Now it can happen, that the histo is filled, but the normalization is zero,
> for example when I plot the pt of DY+jet normalized to Z+jet, then it
> can happen that
> I have no Z+jet events, while the histo for DY+jet is filled, if the DY
> mass is small.
>
> Now, I want to run many jobs in parallel, so that I have enough
> statistics, and then
> I want to merge all histos.
> In the case above, I just artificially put a very small xsection, so
> that I still can
> normalize the histo, and I was hoping, that by merging this would work.
> But apparently, yodamerge does not really like value of 1E99=1/xsect where
> xsect is put to a small number, but not zero.
>
> At the moment I am a bit stuck with this, just don't know, how I can
> tell the
> merging at the end to take into account a very small normalization
> factor for some runs.
>
> Any idea on this would be very welcome
>
> thanks a lot
> Cheers
> Hannes
>
>
>
>
>
>> On 13.10.2015, at 17:38, Andy Buckley <andy.buckley at cern.ch
>> <mailto:andy.buckley at cern.ch>> wrote:
>>
>> Oops, I didn't realise I'd taken the discussion with Hannes off-list.
>>
>> Here's the status: looks like he was experiencing a side-effect of a
>> hack around merge failures for completely empty histos. We fixed that
>> in the latest YODA, so hopefully the hack can also be removed and all
>> will be well...
>>
>> Andy
>>
>>
>> -------- Forwarded Message --------
>> Subject:Re: [Rivet] Problem with yodamerge
>> Date:Tue, 13 Oct 2015 15:42:57 +0200
>> From:Hannes Jung <hannes.jung at desy.de <mailto:hannes.jung at desy.de>>
>> To:andy.buckley at cern.ch <mailto:andy.buckley at cern.ch>
>>
>>
>>
>> Hi Andy
>>
>> ahhh.... I put by hand a normalization factor very small (so that
>> 1/factor is very large),
>> so that when the histo is normalized with this factor it becomes zero...
>> but perhaps
>> this screws up when unpacking the normalized histos in yodamerge.
>>
>> The problem occurred in previous versions when I had a histo with no
>> entires,
>> then yodamerge had problems with the normalization... this is why I
>> introduced this hack....  perhaps I should check again whether it
>> works now
>> if I have sometimes a histo without entires and without normalization
>> factor...
>>
>> Cheers
>> Hannes
>>
>>
>>
>>> On 13.10.2015, at 15:33, Andy Buckley <andy.buckley at cern.ch
>>> <mailto:andy.buckley at cern.ch>
>>> <mailto:andy.buckley at cern.ch>> wrote:
>>>
>>> Hi Hannes,
>>>
>>> Yes, those ScaledBy values are quite extreme. They are created by the
>>> calls to scale() or normalize() in Rivet, and the value just
>>> corresponds to the scale/normalization factor. How are you managing to
>>> generate factors of nearly 10^100?!
>>>
>>> In the latest version of YODA, the --assume-normalized flag for
>>> yodamerge doesn't do anything. We changed the default logic since it
>>> seemed that lots of people were using that flag "blindly" to work
>>> around a class of problem for which it wasn't really the right answer.
>>> But since it's now a do-nothing flag it shouldn't be related to your
>>> ScaledBy problems.
>>>
>>> Andy
>>>
>>>
>>> On 13/10/15 11:05, Hannes Jung wrote:
>>>> Hi Andy, Chris
>>>>
>>>> thanks  a lot for your reply.
>>>> Yes, I am trying to merge normalised Histograms.
>>>> ahh, and yes, I have some strange Scaledby values:
>>>> 5.1279402177630292e+97
>>>> I guess this is what causes the problem.
>>>> Where are those set, is this an issue of statistics ?
>>>>
>>>> The cpmmand I use is
>>>>
>>>> yodamerge --assume-normalized yoda-files
>>>>
>>>> Thanks again
>>>> Cheers
>>>> Hannes
>>>>
>>>>
>>>>
>>>>> On 13.10.2015, at 11:23, Andy Buckley <andy.buckley at cern.ch
>>>>> <mailto:andy.buckley at cern.ch>
>>>>> <mailto:andy.buckley at cern.ch>
>>>>> <mailto:andy.buckley at cern.ch>> wrote:
>>>>>
>>>>> Hi Hannes,
>>>>>
>>>>> What sort of data object are you merging here? From the y-axis it
>>>>> looks like a normalized histogram rather than {unnormalized histo,
>>>>> profile, ratio}.
>>>>>
>>>>> If that's right, yodamerge will look for the ScaledBy attribute of
>>>>> that plot to reverse the normalisation, add all the unnormalised
>>>>> histos together, then rescale by the weighted mean ScaledBy. It
>>>>> *shouldn't* be sensitive to one run having much smaller stats than the
>>>>> others, certainly not in a way that would show up like this.
>>>>>
>>>>> If you can provide a bit more detail of what this object is, and how
>>>>> you're trying to merge the runs, we can try to help. You can also plot
>>>>> or take a look inside the .yoda files to see if the individual runs
>>>>> look sane, i.e. have reasonable fill counts and ScaledBy values.
>>>>>
>>>>> Andy
>>>>>
>>>>>
>>>>> On 13/10/15 08:22, Hannes Jung wrote:
>>>>>> Dear Rivet experts
>>>>>>
>>>>>> I am using yodamerge to merge several yoda files (actually it is
>>>>>> 1000 or
>>>>>> so),
>>>>>> to get reasonable statistics in a reasonable computing time.
>>>>>> Sometimes I obtain strange results, like in the plot below,
>>>>>> where the normalization is completely off.
>>>>>> I am using Rivet 2.4.0, but a similar problem I had with Rivet 2.2.0.
>>>>>>
>>>>>> Any idea what this could be ?
>>>>>>
>>>>>> Since I am merging 1000 yoda files, it's hard to tell whether it comes
>>>>>> from one
>>>>>> specific file.... however, all jobs finished without error...
>>>>>>
>>>>>> Thanks a lot
>>>>>> Cheers
>>>>>> Hannes
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ***********************************************************************
>>>>>> Hannes Jung
>>>>>> Email:Hannes.Jung at desy.de
>>>>>> <mailto:Hannes.Jung at desy.de><mailto:Hannes.Jung at desy.de>
>>>>>> <mailto:Hannes.Jung at desy.de><mailto:Hannes.Jung at desy.de>
>>>>>> mobile :+49 40 8998 93741
>>>>>> http://www.desy.de/~jung
>>>>>> Tel: +49 (0) 40 8998 3741
>>>>>> Fax: +49 (0) 40 8994 3741
>>>>>> DESY, CMS 01B/02.213
>>>>>> Notkestr.85, 22603 Hamburg, FRG
>>>>>> ***********************************************************************
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Rivet mailing list
>>>>>> Rivet at projects.hepforge.org <mailto:Rivet at projects.hepforge.org>
>>>>>> <mailto:Rivet at projects.hepforge.org><mailto:Rivet at projects.hepforge.org>
>>>>>> https://www.hepforge.org/lists/listinfo/rivet
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dr Andy Buckley, Lecturer / Royal Society University Research Fellow
>>>>> Particle Physics Expt Group, University of Glasgow
>>>>
>>>> ***********************************************************************
>>>> Hannes Jung
>>>> Email:Hannes.Jung at desy.de <mailto:Hannes.Jung at desy.de>
>>>> <mailto:Hannes.Jung at desy.de><mailto:Hannes.Jung at desy.de>
>>>> mobile :+49 40 8998 93741
>>>> http://www.desy.de/~jung
>>>> Tel: +49 (0) 40 8998 3741
>>>> Fax: +49 (0) 40 8994 3741
>>>> DESY, CMS 01B/02.213
>>>> Notkestr.85, 22603 Hamburg, FRG
>>>> ***********************************************************************
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Dr Andy Buckley, Lecturer / Royal Society University Research Fellow
>>> Particle Physics Expt Group, University of Glasgow
>>
>> ***********************************************************************
>> Hannes Jung
>> Email:Hannes.Jung at desy.de
>> <mailto:Hannes.Jung at desy.de><mailto:Hannes.Jung at desy.de>
>> mobile :+49 40 8998 93741
>> http://www.desy.de/~jung
>> Tel: +49 (0) 40 8998 3741
>> Fax: +49 (0) 40 8994 3741
>> DESY, CMS 01B/02.213
>> Notkestr.85, 22603 Hamburg, FRG
>> ***********************************************************************
>>
>>
>>
>>
>>
>> _______________________________________________
>> Rivet mailing list
>> Rivet at projects.hepforge.org <mailto:Rivet at projects.hepforge.org>
>> https://www.hepforge.org/lists/listinfo/rivet
>
> ***********************************************************************
> Hannes Jung
> Email: Hannes.Jung at desy.de <mailto:Hannes.Jung at desy.de>
> mobile :+49 40 8998 93741
> http://www.desy.de/~jung
> Tel: +49 (0) 40 8998 3741
> Fax: +49 (0) 40 8994 3741
> DESY, CMS 01B/02.213
> Notkestr.85, 22603 Hamburg, FRG
> ***********************************************************************
>
>
>


-- 
Dr Andy Buckley, Lecturer / Royal Society University Research Fellow
Particle Physics Expt Group, University of Glasgow


More information about the Rivet mailing list