Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FitterEM.h

Go to the documentation of this file.
00001 #ifndef FITTEREM_H
00002 #define FITTEREM_H
00003 #include "RecoBase/CandStripHandle.h"
00004 #include "CandFitShowerEM/CacherEM.h"
00005 #include "CandFitShowerEM/BinCorrelationEM.h"
00006 
00007 class FitterEM {
00008 
00009  private:
00010 
00011   CandStripHandleItr fDataStpItr;
00012   CacherEM *fCache;
00013   BinCorrelationEM *fBinCorrel;
00014   
00015   Int_t     fNStp;
00016   Double_t  fEnergy;
00017   Double_t *fVtx;
00018   Double_t  fdudz;
00019   Double_t  fdvdz;
00020 
00021   Int_t     fclosestPlaneToVtx;
00022   Float_t   fclosestZedDiff;
00023   Int_t     fclosestZedView;
00024   Int_t     fclosestUStripToVtx;
00025   Int_t     fclosestVStripToVtx;
00026   Float_t   fclosestTPosUDiff;
00027   Float_t   fclosestTPosVDiff;
00028 
00029   Int_t     fNPlanes;
00030   Int_t     fNStrips;
00031   Int_t     fMinBoxPlane;
00032   Int_t     fMaxBoxPlane;
00033   Int_t     fMinBoxStrip;
00034   Int_t     fMaxBoxStrip;
00035 
00036   Double_t  fTotMip;
00037   Int_t    *fPlaneArray;
00038   Int_t    *fStripArray;
00039   Int_t    *fViewArray;
00040   Double_t *fMipArray;
00041   Double_t *fZedArray;
00042   Double_t *fTPosArray;
00043   Int_t    *fBoxPlaneArray;
00044   Int_t    *fBoxStripArray;
00045   Double_t *fMips;
00046 
00047   Bool_t    fPass;
00048   Double_t *fFittedPars;
00049   Double_t *fFittedErr;
00050   Double_t *fStepSize;  
00051   Int_t    *fNSteps;
00052   Double_t  fChi2Min;
00053   Int_t     fNDF;
00054   Int_t     fNiter;
00055   
00056   Double_t  fSignStat;
00057   Double_t  fBestSignStat;
00058   Double_t  fRunStat;
00059   Double_t  fKSStat;
00060 
00061   //Double_t  PredictEMLoss(Int_t,Int_t);
00062   Double_t  CalculateChi2();
00063   void      SetUpStripInfo();
00064   void      SetUpFitBox();
00065 
00066  public:
00067 
00068   FitterEM();
00069   FitterEM(Int_t,CandStripHandleItr);
00070   ~FitterEM();
00071   
00072   void      SetInputParams(Double_t,Double_t*,Double_t,Double_t);
00073   void      QuickInput(Double_t,Double_t,Double_t,Double_t,
00074                        Double_t,Double_t,Int_t);
00075   void      SetStepSize(Double_t *);
00076   void      SetNSteps(Int_t *);
00077 
00078   Double_t  PredictEMLoss(Int_t,Int_t,Double_t &);
00079   void      DoFit();
00080   Bool_t    Pass()                          {return fPass;}
00081   Double_t  GetChi2()                       {return fChi2Min;}
00082   Int_t     GetNDF()                        {return fNDF;}
00083   Double_t *GetFittedPars();
00084   Double_t *GetFittedErr()                  {return fFittedErr;}
00085   Int_t     GetNIterations()                {return fNiter;}
00086   
00087   void      DoTests();
00088   Double_t  GetSignTestStat()               {return fBestSignStat;}
00089   Double_t  GetRunTestStat()                {return fRunStat;}
00090   Double_t  GetKSTestStat()                 {return fKSStat;}  
00091 
00092 };
00093 
00094 #endif //FITTEREM_H

Generated on Mon Feb 15 11:06:43 2010 for loon by  doxygen 1.3.9.1