| 1 | #ifndef MARS_MHMuonPar | 
|---|
| 2 | #define MARS_MHMuonPar | 
|---|
| 3 |  | 
|---|
| 4 | #ifndef MARS_MH | 
|---|
| 5 | #include "MH.h" | 
|---|
| 6 | #endif | 
|---|
| 7 | #ifndef ROOT_TH1 | 
|---|
| 8 | #include <TH1.h> | 
|---|
| 9 | #endif | 
|---|
| 10 | #ifndef ROOT_TProfile | 
|---|
| 11 | #include <TProfile.h> | 
|---|
| 12 | #endif | 
|---|
| 13 |  | 
|---|
| 14 | class MMuonSearchPar; | 
|---|
| 15 | class MMuonCalibPar; | 
|---|
| 16 | class MGeomCam; | 
|---|
| 17 |  | 
|---|
| 18 | class MHMuonPar : public MH | 
|---|
| 19 | { | 
|---|
| 20 | private: | 
|---|
| 21 | static const Float_t  fgIntegralLoLim; // lower limit of integral | 
|---|
| 22 | static const Float_t  fgIntegralUpLim; // upper limit of integral | 
|---|
| 23 |  | 
|---|
| 24 | MMuonSearchPar *fMuonSearchPar; //! | 
|---|
| 25 | MMuonCalibPar  *fMuonCalibPar;  //! | 
|---|
| 26 | MGeomCam       *fGeom;          //! Conversion mm to deg | 
|---|
| 27 |  | 
|---|
| 28 | TH1F     fHistRadius;     // Radius | 
|---|
| 29 | TH1F     fHistArcWidth;   // ArcWidth | 
|---|
| 30 |  | 
|---|
| 31 | TProfile fHistBroad;      // ArcWidth/Radius Vs Radius | 
|---|
| 32 | TProfile fHistSize;       // MuonSize Vs Radius | 
|---|
| 33 |  | 
|---|
| 34 | //Double_t Integral(const TProfile &p, Int_t a, Int_t b) const; | 
|---|
| 35 | Double_t Integral(const TProfile &p, Float_t a=fgIntegralLoLim, Float_t b=fgIntegralUpLim) const; | 
|---|
| 36 |  | 
|---|
| 37 | public: | 
|---|
| 38 | MHMuonPar(const char *name=NULL, const char *title=NULL); | 
|---|
| 39 |  | 
|---|
| 40 | Bool_t SetupFill(const MParList *plist); | 
|---|
| 41 | Int_t  Fill(const MParContainer *par, const Stat_t w=1); | 
|---|
| 42 |  | 
|---|
| 43 | const TH1F&     GetHistRadius() const    { return fHistRadius; } | 
|---|
| 44 | const TH1F&     GetHistArcWidth() const  { return fHistArcWidth; } | 
|---|
| 45 | const TProfile& GetHistBroad() const     { return fHistBroad; } | 
|---|
| 46 | const TProfile& GetHistSize() const      { return fHistSize; } | 
|---|
| 47 |  | 
|---|
| 48 | Double_t GetMeanSize() const  { return Integral(fHistSize);     } | 
|---|
| 49 | Double_t GetMeanWidth() const { return Integral(fHistBroad);    } | 
|---|
| 50 | Stat_t   GetEntries() const   { return fHistBroad.GetEntries(); } | 
|---|
| 51 |  | 
|---|
| 52 | void Draw(Option_t *opt=""); | 
|---|
| 53 | void Paint(Option_t *opt=""); | 
|---|
| 54 |  | 
|---|
| 55 | ClassDef(MHMuonPar, 2) | 
|---|
| 56 | }; | 
|---|
| 57 |  | 
|---|
| 58 | #endif | 
|---|
| 59 |  | 
|---|
| 60 |  | 
|---|