Ignore:
Timestamp:
01/19/04 23:02:57 (21 years ago)
Author:
gaug
Message:
*** empty log message ***
File:
1 edited

Legend:

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

    r2835 r2852  
    3838  TH1I* fHBlindPixelChargevsN;     //-> Summed Charge vs. Event Nr.
    3939 
    40   TF1 *fSinglePheFit;
    41   TF1 *fTimeGausFit; 
    42   TF1 *fSinglePhePedFit;
     40  TF1 fSinglePheFit;
     41  TF1 fTimeGausFit; 
     42  TF1 fSinglePhePedFit;
    4343
    4444  Axis_t  fBlindPixelChargefirst;
     
    4949  void DrawLegend();
    5050
    51   TPaveText *fFitLegend;
     51  TPaveText *fFitLegend;                  //!
    5252  Bool_t fFitOK; 
    5353 
     
    8181  ~MHCalibrationBlindPixel();
    8282
    83   typedef Double_t (*BlindPixelFitFunc)(Double_t *, Double_t *);
    84 
    8583  Bool_t FillBlindPixelCharge(Float_t q)             { return fHBlindPixelCharge->Fill(q) > -1;  } 
    8684  Bool_t FillBlindPixelTime(Int_t t)                 { return fHBlindPixelTime->Fill(t) > -1;  }
    8785  Bool_t FillBlindPixelChargevsN(Stat_t rq, Int_t t) { return fHBlindPixelChargevsN->Fill(t,rq) > -1;  } 
    8886 
     87
     88  //Getters
    8989  const Double_t GetLambda()         const { return fLambda; }
    90   const Double_t GetLambdaCheck()    const { return fLambdaCheck; }
     90  const Double_t GetLambdaCheck()     const { return fLambdaCheck; }
    9191  const Double_t GetMu0()            const { return fMu0; }
    9292  const Double_t GetMu1()            const { return fMu1; }
     
    9595
    9696  const Double_t GetLambdaErr()      const { return fLambdaErr; }
    97   const Double_t GetLambdaCheckErr() const { return fLambdaCheckErr; }
     97  const Double_t GetLambdaCheckErr()  const { return fLambdaCheckErr; }
    9898  const Double_t GetMu0Err()         const { return fMu0Err; }
    9999  const Double_t GetMu1Err()         const { return fMu1Err; }
     
    102102
    103103  const Double_t GetChiSquare()      const { return fChisquare; }
    104   const Double_t GetProb()           const { return fProb;      } 
    105   const Int_t    GetNdf()            const { return fNdf;       }   
     104  const Double_t GetProb()         const { return fProb;      } 
     105  const Int_t    GetNdf()          const { return fNdf;       }   
    106106
    107107  const Double_t GetMeanTime()      const { return fMeanTime; }
     
    110110  const Double_t GetSigmaTimeErr()    const { return fSigmaTimeErr; }
    111111
    112   Bool_t SimulateSinglePhe(Double_t lambda,
    113                            Double_t mu0,
    114                            Double_t mu1,
    115                            Double_t sigma0,
    116                            Double_t sigma1);
    117  
     112  const Bool_t IsFitOK()                { return fFitOK; }
     113
     114  // Draws
     115  TObject *DrawClone(Option_t *option="") const;
     116  void Draw(Option_t *option="");
     117
     118  // Fits
     119  enum FitFunc_t  { kEPoisson4, kEPoisson5, kEPoisson6, kEPoisson7, kEPolya, kEMichele };
     120
     121private:
     122  FitFunc_t fFitFunc;
     123
     124public:
    118125  Bool_t FitSinglePhe(Axis_t rmin=0, Axis_t rmax=0, Option_t *opt="RL0+Q");
    119126  Bool_t FitTime(Axis_t rmin=0., Axis_t rmax=0.,Option_t *opt="R0+Q");
    120 
    121   void ChangeFitFunc(BlindPixelFitFunc fitfunc, Int_t par=6);
    122 
     127  void ChangeFitFunc(FitFunc_t func)      { fFitFunc = func;  }
     128 
     129  // Simulation
     130  Bool_t SimulateSinglePhe(Double_t lambda,
     131                           Double_t mu0,Double_t mu1,
     132                           Double_t sigma0,Double_t sigma1);
     133 
     134  // Others
    123135  void CutAllEdges();
    124136
    125   TObject *DrawClone(Option_t *option="") const;
    126   void Draw(Option_t *option="");
    127 
    128   Bool_t IsFitOK() { return fFitOK; }
    129 
    130137private:
    131  
    132   BlindPixelFitFunc fgSinglePheFitFunc;     //! In the beginning,
    133   Int_t             fgSinglePheFitNPar;     //! we want to be flexible using different functions
    134 
    135   inline static Double_t fAna(Double_t *x, Double_t *par)
     138
     139  void InitFit(TF1& f, Axis_t min, Axis_t max);
     140  void ExitFit(TF1& f); 
     141 
     142  inline static Double_t fFitFuncMichele(Double_t *x, Double_t *par)
    136143    {
    137144
     
    189196    }
    190197   
    191   inline static Double_t fKto4(Double_t *x, Double_t *par)
     198  inline static Double_t fPoissonKto4(Double_t *x, Double_t *par)
    192199    {
    193200
     
    246253
    247254 
    248   inline static Double_t fKto5(Double_t *x, Double_t *par)
     255  inline static Double_t fPoissonKto5(Double_t *x, Double_t *par)
    249256    {
    250257     
     
    311318 
    312319 
    313   inline static Double_t fKto6(Double_t *x, Double_t *par)
     320  inline static Double_t fPoissonKto6(Double_t *x, Double_t *par)
    314321    {
    315322     
     
    382389    }
    383390 
    384   ClassDef(MHCalibrationBlindPixel, 1)
     391  ClassDef(MHCalibrationBlindPixel, 1)  // Histograms from the Calibration Blind Pixel
    385392};
    386393
Note: See TracChangeset for help on using the changeset viewer.