Mit den ROOT Histogramm Klassen (TH1F, ...) kann man 1-dim Häufigkeitsverteilungen darstellen und fitten:
// create histo
int nbins = 50;
TH1F * hn = new TH1F("h4","Random Gauss",nbins,-4,4);
for ( int i = 0; i<10000; i++ ) {
hn->Fill(gRandom->Gaus());
}
hn->Draw();
// direct fit
hn->Fit("gaus");
// retrieve fit-function
TF1 *fit = hn->GetFunction("gaus");
// retrieve sigma
double sigma = fit->GetParameter(2);
Interaktives Fitten analog
- Fitpanel:
mit rechter Maustaste auf Graph klicken, FitPanel auswählen
- Kommandozeile/Programm ...
Standard ist ein
Fit :
Für Histogramme wird dabei als Fehler für ein Bin mit
Einträgen
ein Gausscher Fehler
angesetzt.
- Diese Näherung ist ausreichend für genügend grosses
, d.h. man braucht
genügend Daten dass (fast) alle Kanäle des Histogramms dies erfüllen
- Ansonsten mehrere Probleme:
- grundsätzlich: Gauss-Näherung nicht mehr adäquat (Einträge Poisson-verteilt)
- praktisch: Kanäle mit Null Einträgen werden beim Gauss-Fit ignoriert (keine sinnvolle
Gauss Fehlerannahme möglich)
Erzeugt Bias für Fit-Parameter, Fluktuationen nach unten (0)
werden tendenziell ignoriert.
GDuckeck
2018-04-10