]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCDigitsH.h
Implements all the new classes (JB, AM)
[u/mrichter/AliRoot.git] / TPC / AliTPCDigitsH.h
CommitLineData
cc80f89e 1#ifndef TTPCDIGITSH_H
2#define TTPCDIGITSH_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8////////////////////////////////////////////////
9// Manager class for AliTPCDigitsH //
10////////////////////////////////////////////////
11
12
13// include files and class forward declarations
14
15class TFile;
16class TH2F;
17class AliH2F;
18class TH1F;
19class TPaveText;
20class TPad;
21class TCanvas;
22class AliTPCParam;
23class AliTPCD;
24class TClonesArray;
25class TTree;
26#include "TObject.h"
27#include "TUnixSystem.h"
28
29class AliTPCDigitsH :public TObject{
30public:
31 ~AliTPCDigitsH();
32 AliTPCDigitsH(const AliTPCDigitsH &);
33 AliTPCDigitsH();
34 AliTPCDigitsH & operator = (const AliTPCDigitsH &);
35 AliTPCD * GetDParam() {return fDParam;}
36 void SetDParam(AliTPCD * dig);
37 AliTPCParam *& GetParam();
38 //get tpc parameters
39 TFile * GetIn() {return fin;}
40 TFile * GetOut() {return fout;}
41 void Anal(); //get two dimensional histogram time*pad*amplitude for given
42 void SetSecRowTime(Int_t sec , Int_t row = 1,
43 Int_t TimeN = 500 ,
44 Float_t TimeStart = 0, Float_t TimeStop = 500);
45 //set section row and timing histogram
46 //ranges and calculate histograms
47 void SetHisto( Int_t pad = 1 );
48 virtual void Draw(Option_t * opt1 ="cont1" , Option_t * opt2 = "error",
49 Option_t * opt3 = "L" );
50
51 void CloseFiles(); //close input and output file
52 void DeleteHisto(const Text_t *namecycle); //
53
54 Bool_t SetIO(const char * inFile, const char* outFile);
55 Bool_t SetTree(Int_t eventn =0 );
56 void SetParticles(Int_t sec = -1, Int_t row = -1 ,
57 Int_t size1 = 30000,Int_t size2=300,
58 Bool_t all=1 );
59 Bool_t SetEventN(Int_t EventN=0); //set event number connected to analisys
60
61 void SetbDelHisto(Bool_t bDelHisto) { fbDelHisto = bDelHisto;} //
62 void SetThreshold(Int_t threshold = 10 ) { fThreshold = threshold ;} //
63 /////////////
64 AliH2F & GetHis1() { return *fH2Digit;}
65 AliH2F & GetHisBW() { return *fH2DigitBW;}
66 TH1F & GetHis2() { return *fH1Digit;}
67 TH1F & GetHis3() { return *fH1Occu;}
68 TPad & GetPad1() {return *fpad1;}
69 TPad & GetPad2() {return *fpad2;}
70 TPad & GetPad3() {return *fpad3;}
71 TCanvas &GetCanvas(){return *fcanvas;}
72protected:
73
74private:
75 TFile *fin; //input TTRE file with digits
76 TFile *fout; //output file
77 TPad * fpad1;
78 TPad * fpad2;
79 TPad * fpad3;
80 TCanvas * fcanvas;
81 AliTPCParam * fTPCParam;
82 AliTPCD *fDParam;
83 Bool_t fbIOState;
84 //state of Input and Output file : kTRUE if all is OK
85 Bool_t fbDigState;
86 //state of Input digits tree kTRUE if ftree point to valid digit tree
87 TClonesArray *fDigits; //pointer to digits object used inanal
88 TClonesArray *fParticles; //pointer to particles array
89 TTree *ftree; //pointer to tree with digits
90 Int_t fsec; //actual sector of TPC
91 Int_t frow; //actual row of TPC
92 Int_t fpad; //actual pad
93 Int_t fEventN; //event number connected to
94 Int_t fTimeN; //division number of the time
95 Float_t fTimeStart,fTimeStop; //start and stop time for histograms
96 Int_t fOccuN; //time division for occupancy calculating
97 TPaveText * fTitle; //
98 Int_t fThreshold; //treshold for the ocupancy definition
99 Bool_t fbDelHisto; //swith which tell if we want to delete produced histogram
100
101 AliH2F *fH2Digit; //two dimensional histogram - sector row
102 AliH2F *fH2DigitBW; //black and white histogram over treshold
103 TH1F *fH1Digit; //one dimensional histogram sector row pad
104 TH1F *fH1Occu; //occupancy graph
105 TH1F *fHParticles; //histogram of particles contributing to digits
106 TH1F *fHPartMultiplicity;
107 //histogram of particles multiplicity
108 TH1F *fHAllP; //histogram with accepted time bin for all particles
109 TH1F *fHSecondaryP;
110 //histogram with accepted time bin for secondary particles
111
112 ClassDef(AliTPCDigitsH,1)
113};
114#endif /* TTPCDIGITSH_H */