Re: Histograms

From: Rene Brun <Rene.Brun_at_cern.ch>
Date: Wed, 31 Oct 2007 09:42:02 +0100


see an example in attachment. However, note that you can only make this transformation using the centroids of each cell. The best thing is to start from a ntuple, not a 2-d histogram.

Rene Brun

Anil Singh wrote:
> Dear rooters,
> I have a software which directly gives certain histograms (I have no controll over what is filled and how it is filled) in HBOOK format.
> I have converted the histograms into root format and that is fine. Most of the spectra are of type dN/dE vs E type. Can I convert these into the distributions of type
> E*dN/dE vs E ?
> If yes , then can anybody suggest a hint?
>
> Thanks
> Anil
> ----- Original Message -----
> From: Manuel Mussini <Manuel.Mussini_at_bo.infn.it>
> Date: Tuesday, October 30, 2007 11:00 am
> Subject: RE: [ROOT] Print divided canvas
> To: roottalk_at_lxbuild091.cern.ch
>
>
>
>> Sorry but I don't understand what you mean!
>>
>> A similar problem appears with ".jpg" extention but in a tricky way!
>> If I run
>> ".x CanvasTest.C" once (the code below) I get a jpg of the background
>> ... if I
>> run it again (without restarting ROOT) I get the correct output.
>>
>>
>> TCanvas *canvas;
>> TH1F *h;
>>
>> void CanvasTest()
>> {
>> h = new TH1F("hist", "Histo", 10, 0., 10.);
>> canvas = new TCanvas("canv", "Canvas", 0, 0, 800, 400);
>> canvas->Divide(2, 1);
>> canvas->cd(1);
>> h->Draw();
>> gPad->Print("puppa1.C");
>> canvas->cd(2);
>> h->Draw();
>> gPad->Print("puppa2.C");
>> canvas->cd(0);
>> canvas->Print("puppa.jpg");
>> }
>>
>>
>> Bye...
>>
>>
>>
>>
>>> I see. This cannot work because the Divide() method is applied on
>>>
>> the TCanvas.
>>
>>> So the top TCanvas must to be created.
>>>
>>>
>>> -----Original Message-----
>>> From: owner-roottalk_at_lxbuild091.cern.ch [mailto:owner-
>>> roottalk_at_lxbuild091.cern.ch] On Behalf Of Manuel Mussini
>>> Sent: Monday, October 29, 2007 12:02
>>> To: roottalk_at_lxbuild091.cern.ch
>>> Subject: RE: [ROOT] Print divided canvas
>>>
>>> Ooops!
>>> I forgot to sai that I'd like to save them as two ".C" macros!
>>> This way the canvas is always divided in two!
>>> Only with this extension I've this problem!
>>> You can see it with this:
>>>
>>>
>>> TCanvas *canvas;
>>> TH1F *h;
>>> h = new TH1F("hist", "Histo", 10, 0., 10.);
>>> canvas = new TCanvas("canv", "Canvas", 0, 0, 800, 400);
>>> canvas->Divide(2, 1);
>>> canvas->cd(1);
>>> h->Draw();
>>> gPad->Print("puppa1.C");
>>> canvas->cd(2);
>>> h->Draw();
>>> gPad->Print("puppa2.C");
>>>
>>>
>>>
>>> Bye...
>>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: Olivier Couet [mailto:Olivier.Couet_at_cern.ch]
>>>> Sent: Monday, October 29, 2007 11:55
>>>> To: Manuel Mussini; roottalk_at_lxbuild091.cern.ch
>>>> Subject: RE: [ROOT] Print divided canvas
>>>>
>>>> Hi,
>>>>
>>>> After the last Draw() do:
>>>>
>>>> gPad->Print("a.ps");
>>>>
>>>> The 2nd pad only will be saved in the file a.ps.
>>>>
>>>> Cheers, OC.
>>>>
>>>> -----Original Message-----
>>>> From: owner-roottalk_at_root.cern.ch [mailto:owner-roottalk_at_root.cern.ch]
>>>> On Behalf Of Manuel Mussini
>>>> Sent: Monday, October 29, 2007 11:48 AM
>>>> To: roottalk_at_lxbuild091.cern.ch
>>>> Subject: [ROOT] Print divided canvas
>>>>
>>>> Hi,
>>>> In my code something like this happens:
>>>>
>>>>
>>>> TCanvas *canvas;
>>>> TH1F *h;
>>>> h = new TH1F("hist", "Histo", 10, 0., 10.);
>>>> canvas = new TCanvas("canv", "Canvas", 0, 0, 800, 400);
>>>> canvas->Divide(2, 1);
>>>> canvas->cd(1);
>>>> h->Draw();
>>>> canvas->cd(2);
>>>> h->Draw();
>>>> // ???
>>>>
>>>>
>>>> Instead of "// ???" I'd like to write something to save the subpads
>>>> separately!
>>>> I tried several ways with "SaveAs" or "Print" but I didn't get
>>>>
>> what I
>>
>>>> want!
>>>> Which is the best way to do this?
>>>>
>>>> Thanks!
>>>>
>>>> Bye...
>>>>
>>
>
>

Received on Wed Oct 31 2007 - 09:42:00 CET

This archive was generated by hypermail 2.2.0 : Wed Oct 31 2007 - 17:50:02 CET