Ignore:
Timestamp:
04/28/05 11:10:12 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

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

    r6954 r6983  
    4545#include "MMcEvt.hxx"
    4646
    47 #include "MEnergyEst.h"
    4847#include "MBinning.h"
    4948#include "MParList.h"
     
    156155    return kTRUE;
    157156}
    158 
     157/*
     158#include <TSpline.h>
     159Double_t x[] = {33, 75, 153, 343, 745, 1617, 3509, 7175};
     160Double_t y[] = {2,  24, 302, 333, 132,   53,   11,    1};
     161Int_t n = 8;
     162TSpline3 spline("", x, y, n);
     163*/
    159164// --------------------------------------------------------------------------
    160165//
     
    180185    // lg(N0) = 4.3*2.2-6
    181186
    182     const Double_t n  = 2; //pow(10, -4.3*(log10(etru)-2.2));
    183 
    184     fChisq += log10(etru)<2.2? res*res*n/2:res*res;
    185     fBias  += log10(etru)<2.2? res*sqrt(n/2):res;
     187    const Double_t n  = 2.;///spline.Eval(etru); //pow(10, -4.3*(log10(etru)-2.2));
     188    if (n<=0)
     189        return kCONTINUE;
     190
     191    fChisq += log10(etru)>0 ? res*res*n/2   : res*res;
     192    fBias  += log10(etru)>0 ? res*sqrt(n/2) : res;
    186193
    187194    return kTRUE;
    188195}
    189 
     196/*
     197void MHEnergyEst::CalcChisq(Double_t &chisq, Double_t &prob) const
     198{
     199    TH1D *h1 = (TH1D*)fHEnergy.Project3D("dum2_ex");
     200    TH1D *h2 = (TH1D*)fHEnergy.Project3D("dum2_ey");
     201
     202    Int_t df = 0;
     203    chisq    = 0;
     204    prob     = 0;
     205
     206    for (Int_t i=1; i<=h1->GetNbinsX(); i++)
     207    {
     208        if (h1->GetBinContent(i)>0 && h2->GetBinContent(i)>0)
     209        {
     210            const Double_t bin1 = log10(h1->GetBinContent(i));
     211            const Double_t bin2 = log10(h2->GetBinContent(i));
     212
     213            const Double_t temp = bin1-bin2;
     214
     215            chisq += temp*temp/(bin1+bin2);
     216            df ++;
     217        }
     218    }
     219 
     220    prob = TMath::Prob(0.5*chisq, Int_t(0.5*df));
     221
     222    chisq /= df;
     223 
     224    delete h1;
     225    delete h2;
     226}
     227*/
    190228Bool_t MHEnergyEst::Finalize()
    191229{
     230    //Double_t chisq, prob;
     231    //CalcChisq(chisq, prob);
     232 
    192233    fChisq /= GetNumExecutions();
    193234    fBias  /= GetNumExecutions();
    194235
     236    fResult->SetVal(TMath::Sqrt(fChisq));
     237
     238/*
    195239    Double_t sigma = TMath::Sqrt(fChisq);//+TMath::Abs(fBias);
    196240    fResult->SetVal(sigma);
    197 
     241*/
    198242    Print();
    199243
     
    225269    TH1D *h2 = (TH1D*)fHEnergy.Project3D("rtlprmft_ey");
    226270
    227     h1->Copy(hist);
    228     hist.Divide(h2);
     271    h2->Copy(hist);
     272    hist.Divide(h1);
    229273
    230274    delete h1;
     
    233277    hist.SetNameTitle("EnergyRatio", "Ratio between estimated and monte carlo energy");
    234278    hist.SetXTitle("E [GeV]");
    235     hist.SetYTitle("N_{est}/N_{mc} [1]");
     279    hist.SetYTitle("N_{mc}/N_{est} [1]");
    236280    hist.SetDirectory(0);
    237281}
Note: See TracChangeset for help on using the changeset viewer.