> variabile1 >> variabile2; Int_t x[10], y[10]; Int_t n = 0; while(file >> x[n] >> y[n]) n++; cout << "Ho letto " << n << " righe" << endl; cout << variabile1 << " " << variabile2 << endl; for(Int_t i=0; i

La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

ROOT Tutorial Parte 2.

Presentazioni simili


Presentazione sul tema: "ROOT Tutorial Parte 2."— Transcript della presentazione:

1 ROOT Tutorial Parte 2

2 Importare dati da file testo
Esempio: void readfile() { const char *nomeFile = "file.txt"; fstream file(nomeFile, ios::in); string variabile1; string variabile2; file >> variabile1 >> variabile2; Int_t x[10], y[10]; Int_t n = 0; while(file >> x[n] >> y[n]) n++; cout << "Ho letto " << n << " righe" << endl; cout << variabile1 << " " << variabile2 << endl; for(Int_t i=0; i<n; i++) cout << x[i] << " " << y[i] << endl; }

3 Istogrammi ROOT permette di gestire vari tipi di istogrammi: 1-D 2-D
short, integer, float, double Istogrammi 1-D TH1F(const char name,const *title,Int_t nbins,Float_t xmin,Float_t xmax) Metodi comunemente usati: Fill h1->Fill(x); h1->Fill(x,w); //with weight SetBinContent h1->SetBinContent(Int_t bin, Double_t content) Draw h1->Draw(Option_t *goption) Fit h1->Fit(Fit(const char *fname, Option_t *option, Option_t *goption, Axis_t xxmin, Axis_t xxmax)

4 Riempimento degli istogrammi: Metodo SetBinContent
Ch Frequenza 1 0 2 0 3 0 4 2 5 1 6 3 7 5 8 8 9 11 10 10 11 8 12 6 13 6 14 4 15 2 16 1 17 0 18 0 19 0 (i,val_i) h1->SetBinContent(i,val_i) i = 0 underflow bin i = nbins+1 overflow bin nbins: numero canali xmin, xmax: range istogramma Stabiliti dai dati in ingresso

5 Riempimento degli istogrammi: Metodo Fill
Ch Frequenza 1 0 2 0 3 0 4 2 5 1 6 3 7 5 8 8 9 11 10 10 11 8 12 6 13 6 14 4 15 2 16 1 17 0 18 0 19 0 Valore 7 5 9 11 13 8 16 4 (i) h1->Fill(i)

6 Esercizio: importare i dati in formato ASCII relativi all’esperienza sulla sorgente 

7 void alfa() { const char *nomeFile = "spectrum.Spe"; fstream file(nomeFile, ios::in); string dummy; for(Int_t i=0; i<12; i++) getline(file, dummy); TH1I *hspectrum = new TH1I("hspectrum","hspectrum",2048,0,2047); Int_t n=0; Int_t counts; while((file >> counts) && n < 2048){ hspectrum->SetBinContent(n+1,counts); n++; } hspectrum->Draw(); hspectrum->GetXaxis()->SetRangeUser(200,320); hspectrum->Fit("gaus","","",237,243);

8 Istogrammi 2-D TH2F(const char name,const *title,Int_t nbinsx,Float_t xmin,Float_t xmax, Int_t nbinsy,Float_t ymin,Float_t ymax) Metodi comunemente usati: Fill h2->Fill(x,y); h2->Fill(x,y,w); //with weight SetBinContent h2->SetBinContent(Int_t binx, Int_t biny, Double_t content) Draw h2->Draw(Option_t *goption)

9 Opzioni grafiche valide per tutti i tipi di istogramma:
"AXIS": Disegna solo l’asse indicato. "SAME": Disegna l’istogramma nella pad corrente. "CYL": Usa le coordinate cilindriche. "POL": Usa le coordinate polari. "SPH": Usa le coordinate sferiche. "LEGO”, "LEGO1”, "LEGO2": Disegna un lego plot. "SURF”, "SURF1”, "SURF2”, "SURF3”, "SURF4”: Disegna plot di superficie Opzioni grafiche valide per istogrammi 2-D: "COL": Mappa di colori "COLZ": Mappa di colori + palette "CONT": Contour plot "CONTZ": Contour plot + palette "CONT1“, "CONT2“, "CONT3“, "CONT4“, "CONT5“, : Diversi stili di contour plot "SCAT": Disegna uno scatter-plot (default)


Scaricare ppt "ROOT Tutorial Parte 2."

Presentazioni simili


Annunci Google