Hi Angela,
What do you mean by "Finally I want to get an histogram from this
function" ?
Do you want to get random numbers following the fitted function ?
Do you want simply to draw the fitted function using an histogram
drawing option ?
Depending what you want to do, you may get some inspiration
from the example below.
Rene Brun
void angela() {
TCanvas *c1 = new TCanvas("c1","c1",600,800);
c1->Divide(1,3);
TH1F *h1 = new TH1F("h1","test1",100,-3,3);
TH1F *h2 = new TH1F("h2","test2",100,-3,3);
TH1F *h3 = new TH1F("h3","test3",100,-3,3);
for (Int_t i=0;i<10000;i++) h1->Fill(gRandom->Gaus(0,1));
c1->cd(1);
TF1 *f1 = new TF1("f1","pol3",-3,0.5);
h1->Fit("f1","rn");
h1->Draw();
f1->Draw("lsame");
c1->cd(2);
h2->SetMaximum(h1->GetMaximum());
h2->Draw();
f1->Draw("hsame");
c1->cd(3);
for (Int_t j=0;j<10000;j++) h3->Fill(f1->GetRandom());
h3->Draw();
}
On Fri, 3 Mar 2000, Angela Biselli wrote:
> Hi rooters,
> I'm trying to do the following:
> I have a histogram in a range (-0.1, 0.15)
> I want to fit a polinomia in the subrange (-0.1,0.05)
> Finally I want to get an histogram from this function with the same range
> of the first one (I want the values from 0.06 to 0.15 set to zero)
> I tried to use GetHistogram() but it return me a histogram with the range
> of the fit.
> TH1F *emmsqW2cter= new TH1F("emmsqW2cter","mm^{2} e-p C_{12}W=1.232#pm0.50 scaled to NH_{3} using clebsh gordon",100,-0.1,0.15);
> ....
> TF1 *f1 = new TF1("f1","pol9",-0.1,0.05);
> emmsqW1cter->Fit("f1","R0");
> emmsqW1cter->Draw();
> TH1F *hfitW1 = new TH1F("hfitW1","hfit1",100,-0.1,0.15);
> hfitW1=f1->GetHistogram();
>
> Is there a way to get such a histogram?
> I also tought to define a new function defined as a sum of the polinomia
> in the first range and zero in the second one,and the get the histogram
> from that function,but it seems that it is not possible to do something
> like
> TF1 *f1 = new TF1("f1","pol9",-0.1,0.05);
> emmsqW1cter->Fit("f1","R0");
> TF1 *f2 = new TF1("f2","pol0",0.05,0.15);
> f2->SetParameter(0,0)
> TF1 *tot=new TF1("tot","f1+f2",-0.1,0.15)
> How can be done something similar to this
>
> thanks
> Angela
>
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:20 MET