StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Efficiency.h
1 #ifndef EFFICIENCY_H
2 #define EFFICIENCY_H
3 
4 #include <TObject.h>
5 #include <TString.h>
6 #include <TPostScript.h>
7 #include <TH1F.h>
8 #include <TH2F.h>
9 #include <TFile.h>
10 #include <TTree.h>
11 
12 class MyEvent;
13 
14 class AnaCuts;
15 
16 class Efficiency : public TObject{
17  protected:
18  TFile *mFile;
19  TFile *mFileOut;
20  TTree *myEventTree;
21  AnaCuts *cuts;
22  MyEvent *ev;
23  TPostScript *pseff;
24 
25  Bool_t isDAU;
26  Bool_t isPP05;
27 
28  Bool_t NEUTRONS;
29  Bool_t ANTINEUTRONS;
30  Bool_t PIONS;
31  Bool_t ETAS;
32  Bool_t CHARGEDPIONS;
33  Bool_t PHOTONS;
34  Bool_t KZEROLONG;
35 
36  Bool_t isMC;
37  Bool_t isPythia;
38  Bool_t USEWEIGHT;
39  Bool_t USEPYTHIAWEIGHT;
40  Bool_t USEBBCSPREAD;
41  const char *mFlag;
42 
43  Float_t nNeutrons;
44 
45  TString htitle;
46  TString dirout;
47 
48  //------
49  TH2F *h_accMB;
50  TH2F *h_genMB;
51 
52  TH2F *h_HT1adc_id;
53  TH2F *h_HT2adc_id;
54 
55  TH1F *h_convGen;
56  TH1F *h_convConv;
57  TH1F *h_convConvSSD;
58  TH1F *h_convConvSVT;
59  TH1F *h_convConvIFC;
60 
61  TH1F *h_convConvNotCtb;
62  TH1F *h_stopRadius;
63 
64  TH1F *h_mcdist;
65  TH2F *h_mcdist2D;
66  TH1F *h_dist;
67  TH2F *h_dist2D;
68 
69  TH1F *h_nbarDet;
70  TH1F *h_nbarIn;
71 
72  TH1F *h_splitClusAll;
73  TH1F *h_splitClus;
74 
75  TH1F *h_inputMB;
76  TH1F *h_inputHT1;
77  TH1F *h_inputHT2;
78 
79  TH1F *h_inputDaughtersMB;
80  TH1F *h_inputDaughtersHT1;
81  TH1F *h_inputDaughtersHT2;
82 
83  TH1F *h_recoMB;
84  TH1F *h_recoHT1;
85  TH1F *h_recoHT2;
86 
87  TH1F *h_recoDaughtersMB;
88  TH1F *h_recoDaughtersHT1;
89  TH1F *h_recoDaughtersHT2;
90 
91  TH2F *h_minvMB;
92  TH2F *h_minvHT1;
93  TH2F *h_minvHT2;
94 
95  TH1F *h_effMB;
96  TH1F *h_effHT1;
97  TH1F *h_effHT2;
98 
99  TH1F *h_effDaughtersMB;
100  TH1F *h_effDaughtersHT1;
101  TH1F *h_effDaughtersHT2;
102 
103  TH2F *h_matrixMB;
104  TH2F *h_etaphi;
105 
106  TH1F *h_pythiaPions;
107  TH1F *h_pythiaPhotons;
108  TH1F *h_pythiaPartonPt;
109 
110  TH2F *h_clusterWidth;
111  TH2F *h_energyRatio;
112  TH2F *h_towclusRatio;
113 
114  TH1F *h_vzMB;
115 
116  TH2F *h_asymmMB;
117  TH2F *h_asymmHT1;
118  TH2F *h_asymmHT2;
119 
120  TH1F *h_pionsVsEtaMB;
121 
122  TH2F *h_smdeta1;
123  TH2F *h_smdphi1;
124  TH2F *h_smdeta2;
125  TH2F *h_smdphi2;
126 
127  TH1F *h_energyeta;
128  TH1F *h_energyphi;
129 
130 
131  public:
132 
133  Efficiency(const char*,const char*,const char*);
134  ~Efficiency();
135 
136  Int_t init();
137  Int_t make(Int_t i=0);
138  Int_t finish();
139 
140  Float_t getWeightPions(Float_t);
141  Float_t getWeightEtas(Float_t);
142  Float_t getWeightAntiNeutrons(Float_t);
143  Float_t getWeightNeutrons(Float_t);
144  Float_t getWeightPhotons(Float_t);
145  Float_t getWeightVertex(Float_t);
146 
147  void setUseWeight(Bool_t val){USEWEIGHT=val;}
148  void setUsePythiaWeight(Bool_t val){USEPYTHIAWEIGHT=val;}
149  void setMC(Bool_t val) {isMC=val;}
150  void setPythia(Bool_t val) {isPythia=val;}
151  void setUseBbcSpread(Bool_t val){USEBBCSPREAD=val;}
152  ClassDef(Efficiency,0)
153 };
154 
155 #endif