Ignore:
Timestamp:
09/28/04 12:25:50 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mhflux
Files:
2 edited

Legend:

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

    r5012 r5143  
    304304    // within the range (yq[0], yq[1]) there must be no empty bin;
    305305    // choose pedestrian approach as long as GetQuantiles is not available
    306     Double_t xq[2] = { 0.05, 0.95 };
     306    Double_t xq[2] = { 0.6, 0.99 };
    307307    Double_t yq[2];
    308308    h->GetQuantiles(2, yq, xq);
     
    321321    //func.SetParNames("lambda", "N0", "del");
    322322
    323     func.SetParameter(0, 100);       // Hz
     323    func.SetParameter(0, 200);       // Hz
    324324    func.SetParameter(1, Nm);
    325325    func.FixParameter(2, Nmdel/Nm);
     
    335335
    336336    // was fit successful ?
    337     const Bool_t ok = NDF>0 && chi2<2.5*NDF;
     337    const Bool_t ok = NDF>0 && chi2<3*NDF;
    338338
    339339    if (paint)
     
    343343        func.Paint("same");
    344344    }
    345 
    346     if (!ok)
    347         return kFALSE;
    348345
    349346    const Double_t lambda = func.GetParameter(0);
     
    385382    res[5] = NDF;
    386383
     384    // Chi2
     385    res[6] = chi2;
     386
    387387    // Rdead (from fit) is the fraction from real time lost by the dead time
    388388    //fHRdead.SetBinContent(i, Rdead);
    389389    //fHRdead.SetBinError  (i,dRdead);
    390390
    391     return kTRUE;
     391    return ok;
    392392}
    393393
     
    415415        h = fH2DeltaT.ProjectionX(name, i, i, "E");
    416416
    417         Double_t res[6];
     417        Double_t res[7];
    418418        if (!FitH(h, res))
    419419            continue;
     
    457457    // Fit histogram
    458458    //
    459     Double_t res[6];
     459    Double_t res[7];
    460460    if (!FitH(&fH1DeltaT, res))
    461461        return;
     
    551551
    552552    //
    553     // If we reached the event number limit for the time-bins fit the histogram
    554     //
    555     if (fH1DeltaT.GetEntries()>=fNumEvents)
     553    // If we reached the event number limit for the time-bins fit the
     554    // histogram - if it fails try again when 1.6% more events available
     555    //
     556    const Int_t n = (Int_t)fH1DeltaT.GetEntries();
     557    if (n>=fNumEvents && n%(fNumEvents/60)==0)
    556558        FitTimeBin();
    557559
     
    592594void MHEffectiveOnTime::PaintText(Double_t *res) const
    593595{
    594     TLatex text(0.25, 0.94, Form("T_{eff}=%.1fs\\pm%.1fs  \\labda=%.1f\\pm%.1f  p=%.1f%%  NDF=%d",
    595                                  res[0], res[1], res[3], res[4], res[2], res[5]));
     596    TLatex text(0.27, 0.94, Form("T_{eff}=%.1fs\\pm%.1fs  \\lambda=%.1f\\pm%.1fHz  p=%.1f%%  \\chi^{2}/%d=%.1f",
     597                                 res[0], res[1], res[3], res[4], res[2], (int)res[5], res[6]/res[5]));
    596598    text.SetBit(TLatex::kTextNDC);
    597599    text.SetTextSize(0.04);
     
    613615        return;
    614616
    615     TLatex text(0.45, 0.94, Form("\\bar{p} = %.1f%%  (n=%d)", sum/n, n));
     617    TLatex text(0.47, 0.94, Form("\\bar{p} = %.1f%%", sum/n));
    616618    text.SetBit(TLatex::kTextNDC);
    617619    text.SetTextSize(0.04);
     
    692694        if ((h = (TH1D*)gPad->FindObject(fNameProjDeltaT)))
    693695        {
    694             Double_t res[6];
     696            Double_t res[7];
    695697            FitH(h, res, kTRUE);
    696698            PaintText(res);
  • trunk/MagicSoft/Mars/mhflux/MHFalseSource.cc

    r5100 r5143  
    290290    // for the current pointing position and add a offset in the
    291291    // Fill function!
    292     fRa  = fPointPos->GetRa();
    293     fDec = fPointPos->GetDec();
     292    fRa  = fPointPos ? fPointPos->GetRa()  :  0;
     293    fDec = fPointPos ? fPointPos->GetDec() : 90;
    294294
    295295    return kTRUE;
     
    592592    stars->ReadBSC("bsc5.dat");
    593593
    594     *fLog << err << "FIXME - The catalog will never be deleted, because this crashes!" << endl;
    595 
    596 //    stars->SetBit(kCanDelete);
    597 
     594    stars->SetBit(kCanDelete);
    598595    return stars;
    599596}
     
    612609    pad->Divide(1, 2, 0, 0.03);
    613610
    614     *fLog << err << "FIXME - Plotting the catalog is broken!" << endl;
    615 
    616611    TObject *catalog = GetCatalog();
    617612
    618613    // Initialize upper part
    619614    pad->cd(1);
     615    // Make sure that the catalog is deleted only once
     616    gROOT->GetListOfCleanups()->Add(gPad);
    620617    gPad->SetBorderMode(0);
    621618    gPad->Divide(3, 1);
     
    662659    // Initialize lower part
    663660    pad->cd(2);
     661    // Make sure that the catalog is deleted only once
     662    gROOT->GetListOfCleanups()->Add(gPad);
    664663    gPad->SetBorderMode(0);
    665664    gPad->Divide(3, 1);
     
    673672    h1->SetXTitle(fHist.GetZaxis()->GetTitle());
    674673    h1->SetYTitle("Counts");
    675     h1->Draw(opt);
     674    h1->Draw();
    676675    h1->SetBit(kCanDelete);
    677676
     
    942941
    943942
    944     TF2 f2d("Gaus-2D", FcnGauss2d, -1.5, 1.5, -1.5, 1.5, 6);
     943    const Double_t maxr = 0.9*TMath::Abs(fHist.GetBinCenter(1));
     944    TF2 f2d("Gaus-2D", FcnGauss2d, -maxr, maxr, -maxr, maxr, 6);
    945945    f2d.SetLineWidth(1);
    946946    f2d.SetParName(0, "Max   sigma");
     
    950950    f2d.SetParName(4, "Sigma_2 deg");
    951951    f2d.SetParName(5, "Phi     deg");
    952     f2d.SetParLimits(1, -1, 1);    // mu_1
    953     f2d.SetParLimits(3, -1, 1);    // mu_2
    954     f2d.SetParLimits(2, 0, 1);     // sigma_1
    955     f2d.SetParLimits(4, 0, 1);     // sigma_2
    956     f2d.SetParLimits(5, 0, 90);    // phi
    957     f2d.SetParameter(0, maxs);     // A
    958     f2d.SetParameter(1, 0);        // mu_1
    959     f2d.SetParameter(2, 0.5);      // sigma_1
    960     f2d.SetParameter(3, 0);        // mu_2
    961     f2d.SetParameter(4, 0.5);      // sigma_2
    962     f2d.SetParameter(5, 0);        // phi
    963     hist->Fit(&f2d, "NI0");
     952    f2d.SetParLimits(1, -maxr/2, maxr/2); // mu_1
     953    f2d.SetParLimits(3, -maxr/2, maxr/2); // mu_2
     954    f2d.SetParLimits(2, 0, maxr);         // sigma_1
     955    f2d.SetParLimits(4, 0, maxr);         // sigma_2
     956    f2d.SetParLimits(5, 0, 45);           // phi
     957    f2d.SetParameter(0, maxs);            // A
     958    f2d.SetParameter(1, hist->GetXaxis()->GetBinCenter(maxx)); // mu_1
     959    f2d.SetParameter(2, 0.1);             // sigma_1
     960    f2d.SetParameter(3, hist->GetYaxis()->GetBinCenter(maxy)); // mu_2
     961    f2d.SetParameter(4, 0.1);             // sigma_2
     962    f2d.FixParameter(5, 0);               // phi
     963    hist->Fit(&f2d, "NI0R");
    964964    f2d.DrawCopy("cont2same");
    965965
Note: See TracChangeset for help on using the changeset viewer.