#include Double_t Fattoriale (Int_t x) { if (x<=1) return 1.0; return x*Fattoriale(x-1); } Double_t Binomiale(Int_t x, Int_t N, Double_t p) { return Fattoriale(N)*pow(p,x)*pow((1-p),(N-x))/(Fattoriale(x)*Fattoriale(N-x)); } void Binomiale() { // Intervalli di visualizzazione delle distribuzioni const Int_t xMin = 0; const Int_t xMax = 6; TCanvas* c1 = new TCanvas("c1","Binomiale1",180,10,700,500); TCanvas* c2 = new TCanvas("c2","Binomiale2",200,30,700,500); TCanvas* c3 = new TCanvas("c3","Binomiale3",220,50,700,500); TCanvas* c4 = new TCanvas("c4","Binomiale4",240,70,700,500); Int_t ParBinom1 = 2; Double_t ParBinom2 = 0.5; Double_t x[xMax-xMin+1], y[xMax-xMin+1]; for (Int_t i = 0; icd(); TGraph* Binomiale1PDF = new TGraph (xMax-xMin+1,x,y); Binomiale1PDF->SetFillColor(35); Binomiale1PDF ->SetTitle("Binomiale1"); Binomiale1PDF->SetMarkerStyle(21); Binomiale1PDF->SetMarkerColor(4); Binomiale1PDF->Draw("APC"); // Seconda Binomiale const Int_t xMin = 0; const Int_t xMax = 7; Int_t ParBinom1 = 5; Double_t ParBinom2 = 0.5; Double_t x1[xMax-xMin+1], y1[xMax-xMin+1]; for (Int_t i = 0; icd(); TGraph* Binomiale2PDF = new TGraph (xMax-xMin+1,x1,y1); Binomiale2PDF->SetFillColor(35); Binomiale2PDF ->SetTitle("Binomiale2"); Binomiale2PDF->SetMarkerStyle(21); Binomiale2PDF->SetMarkerColor(2); Binomiale2PDF->Draw("APC"); // terza Binomiale const Int_t xMin = 0; const Int_t xMax = 10; Int_t ParBinom1 = 10; Double_t ParBinom2 = 0.5; // Calcolo i valori della terza binomiale Double_t x2[xMax-xMin+1], y2[xMax-xMin+1]; for (Int_t i = 0; icd(); TGraph* Binomiale3PDF = new TGraph (xMax-xMin+1,x2,y2); Binomiale3PDF->SetFillColor(35); Binomiale3PDF ->SetTitle("Binomiale3"); Binomiale3PDF->SetMarkerStyle(21); Binomiale3PDF->SetMarkerColor(3); Binomiale3PDF->Draw("APC"); // quarta Binomiale const Int_t xMin = 5; const Int_t xMax = 25; Int_t ParBinom1 = 30; Double_t ParBinom2 = 0.5; // Calcolo i valori della quarta binomiale Double_t x3[xMax-xMin+1], y3[xMax-xMin+1]; for (Int_t i = 0; icd(); TGraph* Binomiale4PDF = new TGraph (xMax-xMin+1,x3,y3); Binomiale4PDF->SetFillColor(35); Binomiale4PDF ->SetTitle("Binomiale4"); Binomiale4PDF->SetMarkerStyle(21); Binomiale4PDF->SetMarkerColor(7); Binomiale4PDF->Draw("APC"); TCanvas* all = new TCanvas ("all","All in one"); all->Divide(2,2); all->cd(1); Binomiale1PDF->Draw("APC"); leg = new TLegend(0.60,0.78,0.92,0.92); leg->SetHeader("N= 2;p=0.5"); leg->SetTextSize(0.06); leg->Draw(); all->cd(2); Binomiale2PDF->Draw("APC"); leg1 = new TLegend(0.60,0.78,0.88,0.88); leg1->SetHeader("N=5; p=0.5"); leg1->SetTextSize(0.06); leg1->Draw(); all_3->cd(); Binomiale3PDF->Draw("APC"); leg2 = new TLegend(0.60,0.78,0.88,0.88); leg2->SetHeader("N= 10;p=0.5"); leg2->SetTextSize(0.06); leg2->Draw(); all_4->cd(); leg3 = new TLegend(0.60,0.78,0.88,0.88); Binomiale4PDF->Draw("APC"); leg3->SetHeader(" N= 30; p=0.5"); leg3->SetTextSize(0.06); leg3->Draw(); // hist->Draw(); // Binomiale1PDF->Draw("PC"); //Binomiale2PDF->Draw("PC"); //Binomiale3PDF->Draw("PC"); //leg->Draw(); }