double faculty(int n) { int buf = 1; for (int i = n ; i > 0; i--) { buf *=i; //cout << i << "; " << buf << endl; } return buf; } double poisson(double *x, double *par) { return par[0]*pow(par[1],x[0])/faculty(x[0])*TMath::Exp(-par[1]); } void HistoPlotter3er() { TCanvas *can3 = new TCanvas("can3", "Multi Tripel",8,49,1000,784); TH1D *NoH_1 = new TH1D("NoH_1","Anzahl der getroffenen Kristalle f#ddot{u}r Tripel-Detektoren",10,0.5,10.5); NoH_1->SetBinContent(1,64497); NoH_1->SetBinContent(2,96921); NoH_1->SetBinContent(3,21142); NoH_1->SetBinContent(4,2711); NoH_1->SetBinContent(5,346); NoH_1->SetBinContent(6,52); NoH_1->SetBinContent(7,8); NoH_1->SetBinContent(8,2); TH1D *NoH_4 = new TH1D("NoH_4","Anzahl der getroffenen Kristalle für Tripel-Detektoren",10,0.5,10.5); NoH_4->SetBinContent(1,0); NoH_4->SetBinContent(2,35228); NoH_4->SetBinContent(3,53344); NoH_4->SetBinContent(4,40456); NoH_4->SetBinContent(5,20384); NoH_4->SetBinContent(6,7654); NoH_4->SetBinContent(7,2390); NoH_4->SetBinContent(8,559); NoH_4->SetBinContent(9,133); NoH_4->SetBinContent(10,14); TH1D *NoH_8 = new TH1D("NoH_8","Anzahl der getroffenen Kristalle für Tripel-Detektoren",10,0.5,10.5); NoH_8->SetBinContent(2,1896); NoH_8->SetBinContent(3,7027); NoH_8->SetBinContent(4,15345); NoH_8->SetBinContent(5,20946); NoH_8->SetBinContent(6,20278); NoH_8->SetBinContent(7,14289); NoH_8->SetBinContent(8,7683); NoH_8->SetBinContent(9,3524); NoH_8->SetBinContent(10,1840); NoH_1->SetStats(0); NoH_1->SetFillColor(kRed); NoH_1->SetXTitle("Anzahl der getroffenen Kristalle"); NoH_1->GetXaxis()->CenterTitle(); NoH_1->SetYTitle("Counts"); NoH_1->GetYaxis()->CenterTitle(); NoH_1->GetYaxis()->SetTitleOffset(1.6); TF1 *gau = new TF1("f1","gaus",2,10); NoH_1->Fit("f1","same"); //NoH_1->Draw(); NoH_4->SetFillColor(kBlue); NoH_4->SetFillStyle(3002); /*TF1 *gau1 = new TF1("f2","gaus",0.5,5.5); gau1->SetParameters(44460*1.1,3.05,1.49); gau1->SetParLimits(0,44460,44460*1.2); gau1->SetParLimits(1,3,3.2); gau1->SetParLimits(2,1.3,2); gau1->SetLineColor(kBlue); //gau1->Draw("SAME"); NoH_4->Fit("f2","MR","same");*/ TF1 *gau1 = new TF1("f2","gaus",0,10); //gau1->SetParameters(160000,3.2,2.3); //gau1->SetParLimits(0,1000,2000000); //gau1->SetParLimits(1,2.0,4); //gau1->SetParLimits(2,0,2.6); gau1->SetLineColor(kBlue); NoH_4->Fit("f2","M","same"); //NoH_4->Draw("SAME"); TF1 *gau2 = new TF1("f3","gaus",0,10); gau2->SetLineColor(kGreen); NoH_8->Fit("f3","","same"); NoH_8->SetFillColor(kGreen); NoH_8->SetFillStyle(3010); NoH_8->Draw("SAME"); TLegend* leg = new TLegend(0.6,0.7,0.9,0.9); leg -> AddEntry(NoH_1,"1,332 MeV","F"); leg -> AddEntry(NoH_4,"4 MeV","F"); leg -> AddEntry(NoH_8,"8 MeV","F"); leg->Draw(); }