source: trunk/MagicSoft/Mars/mhist/MHEffectiveOnTime.h@ 4911

Last change on this file since 4911 was 4907, checked in by tbretz, 21 years ago
*** empty log message ***
File size: 1.6 KB
Line 
1#ifndef MARS_MHEffectiveOnTime
2#define MARS_MHEffectiveOnTime
3
4#ifndef MARS_MH
5#include "MH.h"
6#endif
7#ifndef MARS_MTime
8#include "MTime.h"
9#endif
10#ifndef ROOT_TH1
11#include <TH1.h>
12#endif
13#ifndef ROOT_TH2
14#include <TH2.h>
15#endif
16
17class MTime;
18class MPointingPos;
19class MParameterDerr;
20
21class MParList;
22
23class MHEffectiveOnTime : public MH
24{
25private:
26 MPointingPos *fPointPos; //!
27 MTime fLastTime; //!
28
29 Double_t fEffOnTime0; //!
30 Double_t fEffOnErr0; //!
31
32 MTime *fTime; //!
33 MParameterDerr *fParam; //!
34
35 TH2D fHDeltaT;
36 TH1D fHEffOnTheta;
37 TH1D fHEffOnTime;
38 TH1D fHChi2;
39 TH1D fHProb;
40 TH1D fHN0;
41 TH1D fHLambda;
42
43 Bool_t fIsFinalized;
44
45 Int_t fInterval;
46
47 const TString fNameProjDeltaT; //! This should make sure, that gROOT doen't confuse the projection with something else
48 const TString fNameProjTheta; //! This should make sure, that gROOT doen't confuse the projection with something else
49
50 Bool_t FitH(TH1D *h, Double_t *res) const;
51 void FitThetaBins();
52 void FillTimeBin(Double_t val, Double_t err);
53 void Calc();
54
55public:
56 MHEffectiveOnTime(const char *name=NULL, const char *title=NULL);
57
58 void SetInterval(Int_t i) { fInterval=i; }
59
60 Bool_t SetupFill(const MParList *pList);
61 Bool_t Fill(const MParContainer *par, const Stat_t w=1);
62 Bool_t Finalize();
63
64 const TH2D *GetHist() { return &fHDeltaT; }
65 const TH2D *GetHist() const { return &fHDeltaT; }
66
67 void Draw(Option_t *option="");
68 void Paint(Option_t *opt="");
69
70 ClassDef(MHEffectiveOnTime, 1) // 2D-histogram to determin effective on-time vs. theta
71};
72
73#endif
74
Note: See TracBrowser for help on using the repository browser.