Ignore:
Timestamp:
12/11/03 14:10:12 (21 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mhist
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mhist/MHCalibrationBlindPixel.h

    r2627 r2642  
    3939  TF1 *fSinglePheFit;
    4040  TF1 *fTimeGausFit; 
     41  TF1 *fSinglePhePedFit;
    4142
    4243  Axis_t  fBlindPixelChargefirst;
     
    5556 
    5657  BlindPixelFitFunc fgSinglePheFitFunc;     // In the beginning,
    57   Int_t     fgSinglePheFitNPar;     // we want to be flexible using different functions
     58  Int_t     fgSinglePheFitNPar;             // we want to be flexible using different functions
    5859
    5960  Double_t  fLambda;
     
    7879  Double_t  fSigmaTimeErr;
    7980 
     81  Double_t fLambdaCheck;
     82  Double_t fLambdaCheckErr;
     83
    8084public:
    8185
     
    8892  Bool_t FillBlindPixelChargevsN(Stat_t rq, Int_t t) { return fHBlindPixelChargevsN->Fill(t,rq) > -1;  } 
    8993 
    90   const Double_t GetLambda()   const { return fLambda; }
    91   const Double_t GetMu0()     const { return fMu0; }
    92   const Double_t GetMu1()     const { return fMu1; }
    93   const Double_t GetSigma0()   const { return fSigma0; }
    94   const Double_t GetSigma1()   const { return fSigma1; }
     94  const Double_t GetLambda()         const { return fLambda; }
     95  const Double_t GetLambdaCheck()    const { return fLambdaCheck; }
     96  const Double_t GetMu0()            const { return fMu0; }
     97  const Double_t GetMu1()            const { return fMu1; }
     98  const Double_t GetSigma0()         const { return fSigma0; }
     99  const Double_t GetSigma1()         const { return fSigma1; }
    95100
    96   const Double_t GetLambdaErr() const { return fLambdaErr; }
    97   const Double_t GetMu0Err()   const { return fMu0Err; }
    98   const Double_t GetMu1Err()   const { return fMu1Err; }
    99   const Double_t GetSigma0Err() const { return fSigma0Err; }
    100   const Double_t GetSigma1Err() const { return fSigma1Err; }
     101  const Double_t GetLambdaErr()      const { return fLambdaErr; }
     102  const Double_t GetLambdaCheckErr() const { return fLambdaCheckErr; }
     103  const Double_t GetMu0Err()         const { return fMu0Err; }
     104  const Double_t GetMu1Err()         const { return fMu1Err; }
     105  const Double_t GetSigma0Err()      const { return fSigma0Err; }
     106  const Double_t GetSigma1Err()      const { return fSigma1Err; }
    101107
    102   const Double_t GetChiSquare() const { return fChisquare; }
    103   const Double_t GetProb()    const { return fProb;      } 
    104   const Int_t    GetNdf()     const { return fNdf;       }   
     108  const Double_t GetChiSquare()      const { return fChisquare; }
     109  const Double_t GetProb()           const { return fProb;      } 
     110  const Int_t    GetNdf()            const { return fNdf;       }   
    105111
    106112  const Double_t GetMeanTime()      const { return fMeanTime; }
     
    118124                           Double_t sigma1);
    119125 
    120   Bool_t FitSinglePhe(Axis_t rmin=0, Axis_t rmax=0, Option_t *opt="R0+");
     126  Bool_t FitSinglePhe(Axis_t rmin=0, Axis_t rmax=0, Option_t *opt="RL0+");
    121127  Bool_t FitTime(Axis_t rmin=0., Axis_t rmax=0.,Option_t *opt="R0+");
    122128
     
    126132  void Draw(Option_t *option="");
    127133
     134  Bool_t IsFitOK() { return fFitOK; }
     135
    128136  ClassDef(MHCalibrationBlindPixel, 1)
    129137};
  • trunk/MagicSoft/Mars/mhist/MHCalibrationPixel.cc

    r2629 r2642  
    4040
    4141#include <TFitter.h>
     42#include <TGraph.h>
     43#include <TAxis.h>
    4244
    4345#include <TF1.h>
     
    6264MHCalibrationPixel::MHCalibrationPixel(const char *name, const char *title)
    6365      : fPixId(-1),
     66        fHiGainvsLoGain(NULL),
     67        fTotalEntries(0),
     68        fHiGains(NULL),
     69        fLoGains(NULL),
    6470        fChargeGausFit(NULL),
    6571        fTimeGausFit(NULL),
     
    141147    fHChargevsNLoGain->SetDirectory(NULL);
    142148
     149    fHiGains = new TArrayF();
     150    fLoGains = new TArrayF();
     151
    143152}
    144153
     
    153162  delete fHTimeLoGain;
    154163  delete fHChargevsNLoGain;
     164
     165  if (fHiGainvsLoGain)
     166    delete fHiGainvsLoGain;
     167
     168  delete fHiGains;
     169  delete fLoGains;
    155170
    156171  if (fChargeGausFit)
     
    232247  fChargeLastHiGain     = 9999.5;
    233248
    234   fHChargeLoGain->GetXaxis()->SetRangeUser(0.,fChargeLastLoGain);
     249  fHChargeHiGain->GetXaxis()->SetRangeUser(0.,fChargeLastHiGain);
    235250
    236251 for (Int_t i = fHChargeLoGain->FindBin(fChargeFirstLoGain);
     
    280295}
    281296
     297void MHCalibrationPixel::SetPointInGraph(Float_t qhi,Float_t qlo)
     298{
     299
     300  fHiGains->Set(++fTotalEntries);
     301  fLoGains->Set(fTotalEntries);
     302
     303  fHiGains->AddAt(qhi,fTotalEntries-1);
     304  fLoGains->AddAt(qlo,fTotalEntries-1);
     305
     306}
     307
    282308
    283309// -------------------------------------------------------------------------
     
    338364void MHCalibrationPixel::Draw(Option_t *opt)
    339365{
     366
     367  if (!fHiGainvsLoGain)
     368    {
     369
     370    // Create TGraph, we set the points later, get hold of the number of points with fTotalEntries
     371    fHiGainvsLoGain = new TGraph(fTotalEntries,fHiGains->GetArray(),fLoGains->GetArray());
     372    fHiGainvsLoGain->SetName("HiGainvsLoGain");
     373    fHiGainvsLoGain->SetTitle("Plot the High Gain vs. Low Gain");
     374    fHiGainvsLoGain->GetXaxis()->Set(300,0.,1500.);
     375    fHiGainvsLoGain->GetYaxis()->Set(400,0.,2000.);
     376    fHiGainvsLoGain->SetMarkerStyle(7);
     377
     378    }
    340379
    341380    gStyle->SetOptFit(0);
     
    374413            fChargeGausFit->DrawCopy("same");
    375414          }
     415        c->Modified();
     416        c->Update();
     417
     418        c->cd(3);
     419        gROOT->SetSelectedPad(NULL);
     420        fHiGainvsLoGain->DrawClone("Apq")->SetBit(kCanDelete);
     421        gPad->Modified();
     422        gPad->Update();
    376423
    377424        c->cd(4);
     
    393440        gPad->SetLogy(1);
    394441        gPad->SetTicks();
     442
    395443        fHChargeLoGain->DrawCopy(opt);
     444        c->Modified();
     445        c->Update();
     446   
    396447        c->cd(3);
    397448        DrawLegend();
     449
     450        c->cd(4);
     451       
     452        gROOT->SetSelectedPad(NULL);
     453        fHiGainvsLoGain->DrawClone("Apq")->SetBit(kCanDelete);
     454        gPad->Modified();
     455        gPad->Update();
     456
     457
    398458      }
    399459
     
    426486           
    427487            fTimeGausFit->DrawCopy("same");
     488            c->Modified();
     489            c->Update();
    428490          }
    429491      }
     
    445507        gPad->SetLogy(1);
    446508        fHTimeLoGain->DrawCopy(opt);   
     509        c->Modified();
     510        c->Update();
     511   
    447512      }
    448513    c->Modified();
     
    459524    c->Update();
    460525
     526
    461527}
    462528
     
    616682  fHChargeHiGain->Fit(fChargeGausFit,option);
    617683 
    618   Axis_t rtry = fChargeGausFit->GetParameter(1) - 2.5*fChargeGausFit->GetParameter(2);
     684  Axis_t rtry = fChargeGausFit->GetParameter(1) - 2.0*fChargeGausFit->GetParameter(2);
    619685 
    620686  rmin = (rtry < rmin ? rmin : rtry);
    621   rmax = fChargeGausFit->GetParameter(1) + 2.5*fChargeGausFit->GetParameter(2);
     687  rmax = fChargeGausFit->GetParameter(1) + 3.5*fChargeGausFit->GetParameter(2);
    622688  fChargeGausFit->SetRange(rmin,rmax); 
    623689
    624690  fHChargeHiGain->Fit(fChargeGausFit,option);
    625 
    626   //  rmin = fChargeGausFit->GetParameter(1) - 2.5*fChargeGausFit->GetParameter(2);
    627   //  rmax = fChargeGausFit->GetParameter(1) + 2.5*fChargeGausFit->GetParameter(2);
    628   //  fChargeGausFit->SetRange(rmin,rmax); 
    629 
    630   // fHChargeHiGain->Fit(fChargeGausFit,option);
    631691
    632692  fChargeChisquare = fChargeGausFit->GetChisquare();
     
    697757  fHChargeLoGain->Fit(fChargeGausFit,option);
    698758 
    699   Axis_t rtry = fChargeGausFit->GetParameter(1) - 2.5*fChargeGausFit->GetParameter(2);
     759  Axis_t rtry = fChargeGausFit->GetParameter(1) - 2.*fChargeGausFit->GetParameter(2);
    700760 
    701761  rmin = (rtry < rmin ? rmin : rtry);
    702   rmax = fChargeGausFit->GetParameter(1) + 2.5*fChargeGausFit->GetParameter(2);
     762  rmax = fChargeGausFit->GetParameter(1) + 3.5*fChargeGausFit->GetParameter(2);
    703763  fChargeGausFit->SetRange(rmin,rmax); 
    704764
  • trunk/MagicSoft/Mars/mhist/MHCalibrationPixel.h

    r2629 r2642  
    1818#endif
    1919
     20#ifndef ROOT_TGraph
     21#include "TGraph.h"
     22#endif
     23
     24#ifndef ROOT_TArrayF
     25#include "TArrayF.h"
     26#endif
     27
    2028class TPaveText;
    2129class TMath;
     
    2735private:
    2836
    29   Int_t fPixId;           //-> Pixel Nr
    30  
     37  Int_t fPixId;                  // Pixel Nr
     38  TGraph *fHiGainvsLoGain;       // Plot the HiGain vs. the LoGain
     39  Int_t fTotalEntries;           // Number of entries
     40
     41  TArrayF *fHiGains;
     42  TArrayF *fLoGains;
     43
    3144protected:
    3245
    33   TH1F* fHChargeHiGain;              //-> Summed FADC slices
    34   TH1I* fHTimeHiGain;                //-> Mean arrival time in number of FADC sice
    35   TH1I* fHChargevsNHiGain;           //-> Summed Charge vs. Event Nr.
     46  TH1F* fHChargeHiGain;          // Summed FADC slices High Gain
     47  TH1I* fHTimeHiGain;            // Mean arrival time in number of FADC sice
     48  TH1I* fHChargevsNHiGain;       // Summed Charge vs. Event Nr.
    3649 
    37   TH1F* fHChargeLoGain;              //-> Summed FADC slices
    38   TH1I* fHTimeLoGain;                //-> Mean arrival time in number of FADC sice
    39   TH1I* fHChargevsNLoGain;           //-> Summed Charge vs. Event Nr.
    40  
     50  TH1F* fHChargeLoGain;          // Summed FADC slices Low Gain
     51  TH1I* fHTimeLoGain;            // Mean arrival time in number of FADC sice
     52  TH1I* fHChargevsNLoGain;       // Summed Charge vs. Event Nr.
     53
    4154  TF1* fChargeGausFit;
    4255  TF1* fTimeGausFit;
     
    8598  Bool_t Fill(const MParContainer *, const Stat_t w=1) { return kTRUE; }
    8699
    87   Bool_t FillChargeLoGain(Float_t q)             { return fHChargeLoGain->Fill(q)      > -1; }
    88   Bool_t FillTimeLoGain(Int_t t)                 { return fHTimeLoGain->Fill(t)        > -1; }
    89   Bool_t FillChargevsNLoGain(Float_t q, Int_t n) { return fHChargevsNLoGain->Fill(n,q) > -1; }
     100  void   SetPointInGraph(Float_t qhi, Float_t qlo);
    90101
    91   Bool_t FillChargeHiGain(Float_t q)             { return fHChargeHiGain->Fill(q)      > -1; }
    92   Bool_t FillTimeHiGain(Int_t t)                 { return fHTimeHiGain->Fill(t)        > -1; }
    93   Bool_t FillChargevsNHiGain(Float_t q, Int_t n) { return fHChargevsNHiGain->Fill(n,q) > -1; }
     102  Bool_t FillChargeLoGain(Float_t q)             { return (fHChargeLoGain->Fill(q) > -1); }
     103  Bool_t FillTimeLoGain(Int_t t)                 { return (fHTimeLoGain->Fill(t)   > -1); }
     104  Bool_t FillChargevsNLoGain(Float_t q, Int_t n) { return (fHChargevsNLoGain->Fill(n,q) > -1); }
     105
     106  Bool_t FillChargeHiGain(Float_t q)             { return (fHChargeHiGain->Fill(q)      > -1); }
     107  Bool_t FillTimeHiGain(Int_t t)                 { return (fHTimeHiGain->Fill(t)        > -1); }
     108  Bool_t FillChargevsNHiGain(Float_t q, Int_t n) { return (fHChargevsNHiGain->Fill(n,q) > -1); }
    94109
    95110  void   SetUseLoGain()                          { fUseLoGain = kTRUE; }
  • trunk/MagicSoft/Mars/mhist/MHCamera.h

    r2627 r2642  
    125125    virtual void     SetCamContent(const MHCamera &d, Int_t type=0) { Reset(); AddCamContent(d, type); fEntries=d.fEntries; }
    126126
    127     virtual void     SetCamError(const MCamEvent &event, Int_t type=0);
     127    virtual void     SetCamError(const MCamEvent &evt, Int_t type=0);
    128128
    129129    virtual void     CntCamContent(const MCamEvent &evt, Double_t threshold, Int_t type=0);
Note: See TracChangeset for help on using the changeset viewer.