Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
THaVhist.h
Go to the documentation of this file.
1#ifndef Podd_THaVhist_h_
2#define Podd_THaVhist_h_
3
5//
6// THaVhist
7//
9
10#include "THaVform.h"
11#include "TTree.h"
12#include <vector>
13#include <string>
14
15class THaVar;
16class TH1F;
17class TH2F;
18class THaCut;
19
20using std::string;
21
22class THaVhist {
23
24public:
25
26 THaVhist(string type, string name, string title);
27 virtual ~THaVhist();
28
29// Set up the axis and cuts, as applicable.
30 void SetX(Int_t nbinx, Double_t xlo, Double_t xhi, const string& varx);
31 void SetX(THaVform *varx);
32 void SetY(Int_t nbiny, Double_t ylo, Double_t yhi, const string& vary);
33 void SetY(THaVform *vary);
34 void SetCut(const string& cut);
35 void SetCut(THaVform *cut);
36 void SetScalarTrue() { fScalar = 1; };
37 const string& GetVarX() const { return fVarX; };
38 const string& GetVarY() const { return fVarY; };
39 const string& GetCutStr() const { return fScut; };
40 Int_t CheckCut(Int_t index=0);
41 Bool_t HasCut() const { return !fScut.empty(); };
42 Bool_t IsValid() const { return fProc; };
43// Must Init() once at beginning after various Set()'s
44 Int_t Init();
45// Must ReAttach() if pointers to global variables reset
46 void ReAttach();
47// Must Process() each event.
48 Int_t Process();
49// Must End() to write histogram to output at end of analysis.
50 Int_t End();
51// Self-explanatory printouts.
52 void Print() const;
53 void ErrPrint() const;
54// CheckValid() checks if this histogram is valid.
55// If invalid, you get no output.
56 void CheckValidity();
57// IsScalar() is true if histogram is a scalar.
58 Bool_t IsScalar() const { return (fScalar==1); };
59 Int_t GetSize() const { return fSize; };
60
61protected:
62
63// Int_t ParseVar();
64 Int_t BookHisto(Int_t hfirst, Int_t hlast);
66 Bool_t FindEye(const string& var);
67 Bool_t FindEyeOffset(const string& var);
68// Int_t GetCut(Int_t index=0);
69
73
74 static const int fgVERBOSE = 1;
75 static const int fgVHIST_HUGE = 10000;
76
81
82 std::vector<TH1* > fH1;
86
87private:
88
89 THaVhist(const THaVhist& vhist);
90 THaVhist& operator=(const THaVhist& vhist);
91
92 ClassDef(THaVhist,0) // Vector of histograms.
93
94};
95
96inline
98 const string& varx)
99{
100 fNbinX = nbinx; fXlo = xlo; fXhi = xhi; fVarX = varx;
101}
102
103
104inline
106{
107 if(fMyFormX) delete fFormX;
108 fFormX = varx;
109 fMyFormX = false;
110}
111
112
113inline
115 const string& vary)
116{
117 fNbinY = nbiny; fYlo = ylo; fYhi = yhi; fVarY = vary;
118}
119
120
121inline
123{
124 if(fMyFormY) delete fFormY;
125 fFormY = vary;
126 fMyFormY = false;
127}
128
129
130inline
131void THaVhist::SetCut(const string& cut)
132{
133 fScut = cut;
134}
135
136
137inline
139{
140 if(fMyCut) delete fCut;
141 fCut = cut;
142 fMyCut = false;
143}
144
145inline
147 // Check the cut. Returns !=0 if cut condition passed.
148 return (fCut) ? Int_t(fCut->GetData(index)) : 1;
149}
150
151#endif
152
153
154
155
156
157
int Int_t
bool Bool_t
double Double_t
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char name[80]
Double_t GetData(Int_t index=0) const
Definition THaVform.h:112
Double_t fXhi
Definition THaVhist.h:79
void ErrPrint() const
Definition THaVhist.cxx:548
virtual ~THaVhist()
Definition THaVhist.cxx:54
Bool_t fMyCut
Definition THaVhist.h:84
Bool_t IsScalar() const
Definition THaVhist.h:58
std::vector< TH1 * > fH1
Definition THaVhist.h:82
static const int fgVERBOSE
Definition THaVhist.h:74
Int_t End()
Definition THaVhist.cxx:540
Bool_t IsValid() const
Definition THaVhist.h:42
Int_t CheckCut(Int_t index=0)
Definition THaVhist.h:146
static const int fgVHIST_HUGE
Definition THaVhist.h:75
Double_t fYhi
Definition THaVhist.h:79
Bool_t FindEye(const string &var)
Definition THaVhist.cxx:213
@ kNoBinX
Definition THaVhist.h:70
@ kIllFoy
Definition THaVhist.h:70
@ kIllFox
Definition THaVhist.h:70
@ kAxiSiz
Definition THaVhist.h:71
@ kIllCut
Definition THaVhist.h:70
@ kCutSix
Definition THaVhist.h:71
@ kCutSiy
Definition THaVhist.h:71
Int_t Init()
Definition THaVhist.cxx:86
const string & GetCutStr() const
Definition THaVhist.h:39
void Print() const
Definition THaVhist.cxx:599
Bool_t fMyFormX
Definition THaVhist.h:84
Bool_t FindEyeOffset(const string &var)
Definition THaVhist.cxx:235
const string & GetVarX() const
Definition THaVhist.h:37
Int_t fNbinX
Definition THaVhist.h:78
Double_t fYlo
Definition THaVhist.h:79
string fType
Definition THaVhist.h:77
void ReAttach()
Definition THaVhist.cxx:204
THaVform * fFormX
Definition THaVhist.h:83
const string & GetVarY() const
Definition THaVhist.h:38
Int_t Process()
Definition THaVhist.cxx:430
string fName
Definition THaVhist.h:77
Bool_t HasCut() const
Definition THaVhist.h:41
Double_t fXlo
Definition THaVhist.h:79
Int_t BookHisto(Int_t hfirst, Int_t hlast)
Definition THaVhist.cxx:371
THaVform * fFormY
Definition THaVhist.h:83
string fVarY
Definition THaVhist.h:77
Int_t fInitStat
Definition THaVhist.h:78
THaVform * fCut
Definition THaVhist.h:83
string fVarX
Definition THaVhist.h:77
Int_t FindVarSize()
Definition THaVhist.cxx:267
void SetCut(const string &cut)
Definition THaVhist.h:131
Int_t fSize
Definition THaVhist.h:78
Int_t fEyeOffset
Definition THaVhist.h:78
string fTitle
Definition THaVhist.h:77
Int_t fNbinY
Definition THaVhist.h:78
Int_t fEye
Definition THaVhist.h:78
THaVhist & operator=(const THaVhist &vhist)
string fScut
Definition THaVhist.h:77
void SetY(Int_t nbiny, Double_t ylo, Double_t yhi, const string &vary)
Definition THaVhist.h:114
Int_t fScalar
Definition THaVhist.h:78
void SetX(Int_t nbinx, Double_t xlo, Double_t xhi, const string &varx)
Definition THaVhist.h:97
Bool_t fProc
Definition THaVhist.h:80
THaVhist(const THaVhist &vhist)
void SetScalarTrue()
Definition THaVhist.h:36
Bool_t fMyFormY
Definition THaVhist.h:84
Int_t fDebug
Definition THaVhist.h:85
Int_t GetSize() const
Definition THaVhist.h:59
void CheckValidity()
Definition THaVhist.cxx:65
Bool_t fFirst
Definition THaVhist.h:80