HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HarpoAnalyseBasic.h
Go to the documentation of this file.
1 #ifndef HARPOANALYSEBASIC_H
2 #define HARPOANALYSEBASIC_H
3 
5 //
6 // HarpoAnalyseBasic
7 //
8 // Dummy analise which print all run events.
9 //
10 
11 #include "TObject.h"
12 #include "HarpoAnalyse.h"
13 #include "HarpoEvent.h"
14 #include "TProfile.h"
15 #include "TH1F.h"
16 #include "TH2F.h"
17 #include "TArrayD.h"
18 #include "TGraphErrors.h"
19 #include "TProfile.h"
20 #include "TMapFile.h"
21 #include "TTree.h"
22 
24 
25  public:
26 
28 
29  void Init();
30  void Save(char *mode=NULL);
31  void process();
32  void print();
33  void FillHistograms();
34  void FillHistogramsPMM2();
35  void FillHistogramsTrigger();
36  private:
37 
38  Int_t fQmin; // Qtot cut for empty events
39  Int_t fQmax; // Qtot cut for saturated events
40  Double_t fTmin; // cut for beginning of Tpc
41  Double_t fLTpc; // Tmax-Tmin cut for traversing tracks
42 
43  Double_t fNormTTz;
44  Double_t fNormTTzX;
45  Double_t fNormTTzY;
46 
47  //position of signal
48  TH1F *h1_tmin;
49  TH1F *h1_tmax;
50  TH1F *h1_xmin;
51  TH1F *h1_xmax;
52  TH1F *h1_ymin;
53  TH1F *h1_ymax;
54  TH1F *h1_dtime;
55 
56 
57  //
58  TH1F *h1_Qpix_x;
59  TH1F *h1_Q_time_x;
61 
62  TH1F *h1_Qpix_y;
63  TH1F *h1_Q_time_y;
65 
66  //clustering
77 
88 
89  //Tracking
90  TH1F *h1_theta_x;
91  TH1F *h1_rho_x;
93  TH1F *h1_sigrho_x;
94  TH1F *h1_QcAssoc_x;
96  TH1F *h1_QtAssoc_x;
100 
101  TH1F *h1_theta_y;
102  TH1F *h1_rho_y;
104  TH1F *h1_sigrho_y;
111 
112  //distortion
113  Double_t fXT, fYT, fXC, fYC, fXdT, fXdC,fYdT,fYdC;
114 
119  TProfile *h2_prof_dc_t_x;
120  TProfile *h2_prof_dc_c_x;
121  TProfile *h2_prof_dt_t_x;
122  TProfile *h2_prof_dt_c_x;
125 
130  TProfile *h2_prof_dc_t_y;
131  TProfile *h2_prof_dc_c_y;
132  TProfile *h2_prof_dt_t_y;
133  TProfile *h2_prof_dt_c_y;
136 
137  //
142 
147  //
150  TProfile *h2_Qprof_x;
151  TProfile *h2_Qprof_y;
152 
153 
154  //pmm2
155  TH1F * helen;
156  TH1F * heprof;
157  TH1F * hadc[2];
158  TH2F * htvse;
159  TH2F * hpps;
160  TH2F * hramp;
161  TH1F * htdiff;
162  TH1F * htdiff2;
163 
164  TH1F* hPmm2;
165  TH1F* hPmm2Missed;
169 
171 
177  TH1F* hTriggerTTZ;
178 
184 
185  static const Int_t kNtriggerTypes = 16;
186 
187  TGraphErrors* gRateCreated[kNtriggerTypes+1];
188  TGraphErrors* gRateEmpty[kNtriggerTypes+1];
189  TGraphErrors* gRateTraversing[kNtriggerTypes+1];
190  TGraphErrors* gRateSaturated[kNtriggerTypes+1];
191  TGraphErrors* gRateOther[kNtriggerTypes+1];
192  TGraphErrors* gRateTotal[kNtriggerTypes+1];
193 
194  TGraphErrors* gRateContained[kNtriggerTypes+1];
195  TGraphErrors* gRateDepot[kNtriggerTypes+1];
196  TGraphErrors* gRateTwoTrGamma[kNtriggerTypes+1];
197  TGraphErrors* gRateTwoTrDelta[kNtriggerTypes+1];
198  TGraphErrors* gRateTwoTrOther[kNtriggerTypes+1];
199 
205 
212 
215  TGraph* alignmentx;
216  TGraph* alignmenty;
217 /* TH1F* alignmentx; */
218 /* TH1F* alignmenty; */
220  int itsold; // old time stamp value
221  Double_t TruncMean(TArrayD* vect, Double_t tl, Double_t th);
222 
223  //vertexing
224  TH1F* h1Doca;
225  TH1F* h1Poca_x;
226  TH1F* h1Poca_y;
227  TH1F* h1Poca_z;
228  TH2F* h2Poca_xy;
229  TH2F* h2Poca_xz;
230  TH2F* h2Poca_yz;
231 
232  TH1F* h1Px;
233  TH1F* h1Py;
234  TH1F* h1Pz;
235  TH2F* h2Pxy;
236  TH2F* h2Pxz;
237  TH2F* h2Pyz;
238 
239  TH1F* h1Azimutal;
240  TH1F* h1AOpen;
241  //alignement
242  TH1F* h1xd;
243  TH1F* h1yd;
244  TH1F* h1zxd;
245  TH1F* h1zyd;
246  TH2F* h2xz;
247  TH2F* h2yz;
248  TH2F* h2xzn;
249  TH2F* h2yzn;
250  TH2F* h2xyn;
251 
252  //alignement first 3 clusters
253  TH1F* h1x3d;
254  TH1F* h1y3d;
255  TH1F* h1zx3d;
256  TH1F* h1zy3d;
257  TH2F* h2xz3n;
258  TH2F* h2yz3n;
259  TH2F* h2xy3n;
260 
261  //cluster <---> track
262 
263  TH1F* h1NTrackX;
265  TH1F* h1NTrackY;
266  TH1F* h1NClusterX;
267  TH1F* h1NClusterY;
272 
273  TH1F *h1_NEvent;
274  TH1F *h1_TimeSt;
275 
278  TH2F *h2_vertex;
279 
280  Int_t NEventEmpty;
282  Int_t NEventTTZ;
283  Int_t NEventTT;
284  Int_t NEventTCR;
285  Int_t NEventTCN;
286  Int_t NEventGAMMA;
287  Int_t NEventDELTA;
290  Int_t NEventOTHER;
291  Int_t NEvent;
292  Double_t TimeSt;
293 
294  //ULong_t TimeSt;
295 
296 
297 
302 
304  Int_t fNe;
306  Int_t fEventType;
307  TTree *fTree;
309  //TMapFile* mfile;
310 
311  ClassDef(HarpoAnalyseBasic,1) //Run AnalysePrint
312  };
313 
314 #endif
Int_t fNempty[kNtriggerTypes+1]
Int_t fNtwotrdelta[kNtriggerTypes+1]
TGraphErrors * gRateDepot[kNtriggerTypes+1]
Int_t fNcreated[kNtriggerTypes+1]
TH1F * htdiff2
Time Stamp differens.
A virtual class which define intrafece between HARPO Reader and Event Analysis code.
Definition: HarpoAnalyse.h:47
TH2F * hramp
Time stamp vs PPS counter.
TGraphErrors * gRateTwoTrOther[kNtriggerTypes+1]
TGraphErrors * gRateOther[kNtriggerTypes+1]
Int_t fNdepot[kNtriggerTypes+1]
Int_t fNtwotrgamma[kNtriggerTypes+1]
TGraphErrors * gRateEmpty[kNtriggerTypes+1]
void Save(char *mode=NULL)
void print()
Ovreloaded medod whic do all job.
Int_t fNshower[kNtriggerTypes+1]
TGraphErrors * gRateTraversing[kNtriggerTypes+1]
static const Int_t kNtriggerTypes
TGraphErrors * gRateSaturated[kNtriggerTypes+1]
TH2F * hpps
Time stamp vs Event number.
Int_t fNother[kNtriggerTypes+1]
TH2F * htvse
Adc valuer for each gain.
Int_t fTriggerDownscaling[kNtriggerTypes]
TH1F * hPmm2
Time Stamp differens ( zoom on low val)
Int_t fNcontained[kNtriggerTypes+1]
TH1F * htdiff
Fine Time vs TDC Ramp.
Int_t fNtwotrother[kNtriggerTypes+1]
Int_t fNtraversing[kNtriggerTypes+1]
TGraphErrors * gRateContained[kNtriggerTypes+1]
void FillHistograms()
Redefine empty default.
Double_t TruncMean(TArrayD *vect, Double_t tl, Double_t th)
TGraphErrors * gRateTotal[kNtriggerTypes+1]
Basic HARPO Event Analysis code. "Offline monitoring".
TGraphErrors * gRateTwoTrGamma[kNtriggerTypes+1]
TGraphErrors * gRateCreated[kNtriggerTypes+1]
Int_t f1TZ[kNtriggerTypes+1]
Int_t fTriggerTime[kNtriggerTypes]
TH1F * hadc[2]
Hits per channel.
TH1F * heprof
Number of Digi's in event.
TGraphErrors * gRateTwoTrDelta[kNtriggerTypes+1]