# ifndef HMDCSEGMENTF_H
# define HMDCSEGMENTF_H
# include "TH1.h"
# include "TH2.h"
# include "hlocation.h"
# include "hmdcleverarmgeometry.h"
# include "hmdcmodulegeometry.h"
# include "hreconstructor.h"
# include "hmdcsegmentfpar.h"
class HCategory;
class HMdcHit;
class HMdcSeg;
class HMdcSegmentF : public HReconstructor{
private:
HCategory* fHitCat;
HCategory* fSegCat;
HMdcLeverArmGeometry* geoLever;
HMdcModuleGeometry* geoModules;
HLocation fLoc;
HMdcSegmentFPar *parContainer;
Int_t fEventId;
TH1F *hDiffX, *hDiffY, *hDiffSlopeX, *hDiffSlopeY;
TH1F *hDiffXRec, *hDiffYRec, *hDiffSlopeXRec, *hDiffSlopeYRec;
TH2F *hDiffYDiffX, *hDiffXSlopeDiffX, *hDiffYSlopeDiffX;
TH2F *hDiffXSlopeDiffY, *hDiffYSlopeDiffY, *hDiffXSlopeDiffYSlope;
TH1F *hProbEllipse;
TH2F *hDiffYDiffXOverErr, *hDiffXSlopeDiffXOverErr, *hDiffYSlopeDiffXOverErr;
TH2F *hDiffXSlopeDiffYOverErr, *hDiffYSlopeDiffYOverErr, *hDiffXSlopeDiffYSlopeOverErr;
TH1F* hFitDiffX, *hFitDiffY, *hFitDiffXSlope, *hFitDiffYSlope, *hFitChiX, *hFitChiY, *hFitChi;
void setParContainers(void);
void bookHisto(void);
void fitProjection(Float_t z1, Float_t x1, Float_t errorX1, Float_t slope1, Float_t errSlope1, Int_t n1, Float_t z2, Float_t x2, Float_t errorX2, Float_t slope2, Float_t errSlope2, Int_t n2, Float_t& a, Float_t& b, Float_t& errora, Float_t& errorb, Float_t& chi1);
protected:
virtual void fit(HMdcHit* hit1, Float_t z1, HMdcHit* hit2, Float_t z2, HMdcSeg* segment, HMdcHit *hit1Orig);
public:
HMdcSegmentF(void);
HMdcSegmentF(const Text_t* name,const Text_t* title);
~HMdcSegmentF(void);
void setLoc(HLocation& location);
Int_t execute(void);
Bool_t init(void);
Bool_t finalize(void){return kTRUE;}
ClassDef(HMdcSegmentF,1)
};
# endif /* !HMDCSEGMENTF_H */
Last change: Sat May 22 13:03:24 2010
Last generated: 2010-05-22 13:03
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.