#include "TChain.h"; #include "TF1.h"; #include "TH1.h"; #include "TMath.h"; #include ; #include ; using namespace std; Double_t peak1(Double_t *x, Double_t *par) { return par[0]*TMath::Exp(-(((x[0]-par[1])*(x[0]-par[1]))/(2*par[2]*par[2]))); } Double_t bg(Double_t *x, Double_t *par) { return par[0]*TMath::Exp(par[1]*x[0]); } void cofit() { TChain chain("Analysed_Data"); Double_t par[20],par2[20]; chain.Add("/user/phpartpg/php2np/WorkingCals/c_run708.root"); chain.Draw("C_NAI_31_E>>h(1000,15,9000)"); TF1 *mine = new TF1("mine","gaus(0)+gaus(3)+gaus(6)+expo(9)",900,1700); mine->SetParameter(0,100); mine->FixParameter(1,1173); mine->SetParameter(2,49.56); mine->SetParameter(3,100); mine->FixParameter(4,1332); mine->SetParameter(5,49.56); mine->SetParameter(6,100); mine->FixParameter(7,1461); mine->SetParameter(8,49.56); mine->SetParameter(9,-1); h->Fit(mine,"R"); mine->GetParameters(&par[0]); //cout << par[6] << " " << par[7] << " " << par[8] << endl; TF1 *gaus1 = new TF1("gaus1",peak1,900,1700,3); TF1 *gaus2 = new TF1("gaus2",peak1,900,1700,3); TF1 *gaus3 = new TF1("gaus3",peak1,900,1700,3); TF1 *line = new TF1("bg",bg,900,1700,1); gaus1->SetParameters(&par[0]); gaus2->SetParameters(&par[3]); gaus3->SetParameters(&par[6]); line->SetParameters(&par[9]); gaus1->SetLineColor(4); gaus2->SetLineColor(4); gaus3->SetLineColor(4); line->SetLineColor(6); //TF1* g1 = new TF1("g1","gaus",900,1700); //TF1* g2 = new TF1("g2","gaus",900,1700); //TF1* g3 = new TF1("g3","gaus",900,1700); //TF1* e1 = new TF1("e1","expo",900,1700); //g1->SetParameters(par); //g2->SetParameters(&par[3]); //g3->SetParameters(&par[6]); //e1->SetParameters(&par[9]); //g1->Draw("same"); //g2->Draw("same"); //g3->Draw("same"); //e1->Draw("same"); for (Int_t q=0;q<11;q++) { cout << "Parameter " << q << ": "<Draw("same"); gaus2->Draw("same"); gaus3->Draw("same"); //line->Draw("same"); }