Ignore:
Timestamp:
09/14/04 16:54:56 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mhflux/MAlphaFitter.cc

    r5002 r5006  
    4646#include "MMath.h"
    4747
     48#include "MLogManip.h"
     49
    4850ClassImp(MAlphaFitter);
    4951
     
    8688    Double_t bgmin=fBgMin;
    8789    Double_t bgmax=fBgMax;
    88     Byte_t polynom=fPolynom;
     90    Byte_t polynom=fPolynomOrder;
    8991
    9092    // Implementing the function yourself is only about 5% faster
    9193    TF1 func("", Form("gaus(0) + pol%d(3)", polynom), 0, 90);
    9294    //TF1 func("", Form("[0]*(TMath::Gaus(x, [1], [2])+TMath::Gaus(x, -[1], [2]))+pol%d(3)", polynom), 0, 90);
    93     TArrayD maxpar(func.GetNpar());
     95
     96    if (fCoefficients.GetSize() != polynom+3)
     97    {
     98        fCoefficients.Set(polynom+3);
     99        fCoefficients.Reset();
     100    }
     101    else
     102        func.SetParameters(fCoefficients.GetArray());
    94103
    95104    func.FixParameter(1, 0);
     
    154163    h.Fit(&func, "NQI", "", 0, sigmax);
    155164
    156     fChiSqSignal  = func.GetChisquare()/func.GetNDF();
    157     fSigmaGaus    = func.GetParameter(2);
     165    fChiSqSignal = func.GetChisquare()/func.GetNDF();
     166    fCoefficients.Set(func.GetNpar(), func.GetParameters());
    158167
    159168    //const Bool_t ok = NDF>0 && chi2<2.5*NDF;
     
    167176    }
    168177    // ------------------------------------
    169     const Double_t s  = func.Integral(0, sigint)/alphaw;
     178    //const Double_t s = func.Integral(0, sigint)/alphaw;
    170179    func.SetParameter(0, 0);
    171180    func.SetParameter(2, 1);
    172     const Double_t b  = func.Integral(0, sigint)/alphaw;
    173 
    174     fSignificance = MMath::SignificanceLiMaSigned(s, b);
     181    //const Double_t b = func.Integral(0, sigint)/alphaw;
     182
     183    //fSignificance = MMath::SignificanceLiMaSigned(s, b);
    175184    //exc = s-b;
    176185
    177186    const Double_t uin = 1.25*sigint;
    178187    const Int_t    bin = h.GetXaxis()->FindFixBin(uin);
    179     fIntegralMax  = h.GetBinLowEdge(bin+1);
    180     fExcessEvents = h.Integral(0, bin)-func.Integral(0, fIntegralMax)/alphaw;
     188
     189    fIntegralMax      = h.GetBinLowEdge(bin+1);
     190    fEventsBackground = func.Integral(0, fIntegralMax)/alphaw;
     191    fEventsSignal     = h.Integral(0, bin);
     192    fEventsExcess     = fEventsSignal-fEventsBackground;
     193    fSignificance     = MMath::SignificanceLiMaSigned(fEventsSignal, fEventsBackground);
    181194
    182195    return kTRUE;
     
    186199{
    187200    TLatex text(x, y, Form("\\sigma_{Li/Ma}=%.1f (\\alpha<%.1f\\circ)  \\omega=%.1f\\circ  E=%d  (\\alpha<%.1f\\circ)  (\\chi_{b}^{2}=%.1f  \\chi_{s}^{2}=%.1f)",
    188                            fSignificance, fSigInt, fSigmaGaus,
    189                            (int)fExcessEvents, fIntegralMax,
     201                           fSignificance, fSigInt, GetGausSigma(),
     202                           (int)fEventsExcess, fIntegralMax,
    190203                           fChiSqBg, fChiSqSignal));
    191204
Note: See TracChangeset for help on using the changeset viewer.