Changeset 13393


Ignore:
Timestamp:
04/20/12 11:04:35 (13 years ago)
Author:
tbretz
Message:
Implemented the possibility to fit the projection per default with a gaussian.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Mars/mhist/MHCamEvent.cc

    r13387 r13393  
    5959#include "MHCamEvent.h"
    6060
     61#include <TF1.h>
     62#include <TPaveStats.h>
     63
    6164#include "MLog.h"
    6265#include "MLogManip.h"
     
    323326}
    324327
    325 void MHCamEvent::Paint(Option_t *)
     328void MHCamEvent::Paint(Option_t *opt)
    326329{
    327330    TVirtualPad *pad = gPad;
     
    333336        if (h->GetMaximum()>0)
    334337            gPad->SetLogy();
     338
     339        if (TString(opt).Contains("gaus", TString::kIgnoreCase))
     340        {
     341            // Create a copy of the function if it is not yet there
     342            if (!h->GetFunction("gaus"))
     343                h->Fit("gaus", "q");
     344
     345            TF1 *f = h->GetFunction("gaus");
     346            if (f)
     347            {
     348                f->SetParameters(h->GetMean(), h->GetRMS(), h->GetMaximum());
     349                f->SetLineWidth(1);
     350                h->Fit("gaus", "q");
     351            }
     352
     353            TPaveStats *s1 = dynamic_cast<TPaveStats*>(h->GetListOfFunctions()->FindObject("stats"));
     354            if (s1)
     355            {
     356                if (s1->GetOptStat()==1111)
     357                    s1->SetOptStat(1000000001);
     358                if (s1->GetOptFit()==1)
     359                    s1->SetOptFit(1111);
     360            }
     361
     362        }
    335363    }
    336364
     
    350378}
    351379
    352 void MHCamEvent::Draw(Option_t *)
     380void MHCamEvent::Draw(Option_t *opt)
    353381{
    354382    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this);
     
    356384    pad->SetBorderMode(0);
    357385
    358     AppendPad();
     386    AppendPad(opt);
    359387
    360388    TString name = MString::Format("%s_1", pad->GetName());
Note: See TracChangeset for help on using the changeset viewer.