43d65e5cfdb525333660e552083e571798692335
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibKr.h
1 #ifndef ALITPCCALIBKR_H
2 #define ALITPCCALIBKR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 #include <TObject.h>
7 #include <TObjArray.h>
8 #include <TChain.h>
9 #include <TTree.h>
10 #include <TClonesArray.h>
11
12 #include "AliTPCclusterKr.h"
13
14 class TH3F;
15 class TH1D;
16
17 class AliTPCCalibKr : public TObject {
18
19 public:
20   AliTPCCalibKr();
21   AliTPCCalibKr(const AliTPCCalibKr&); // copy constructor
22   virtual ~AliTPCCalibKr();
23
24   AliTPCCalibKr& operator=(const AliTPCCalibKr&); 
25
26   //
27   void Init();
28   Bool_t Process();
29   Bool_t ReadEntry(Int_t evt);
30   Bool_t Accept(AliTPCclusterKr *cluster);
31   Bool_t Update(AliTPCclusterKr *cluster);
32   TH3F*  CreateHisto(Int_t chamber);
33
34   const TObjArray* GetHistoKrArray () {return &fHistoKrArray;}  // get calibration object
35   TH3F* GetHistoKr(Int_t sector) const;                         // get refernce histogram
36
37   Bool_t IsCSide(Int_t chamber);
38   Bool_t IsIROC(Int_t chamber);
39
40   Bool_t Terminate();
41   void Analyse();
42   static TH1D* ProjectHisto(TH3F* histo3D, const char* name = "_pz", Int_t firstxbin = 0, Int_t lastxbin = 0, Int_t firstybin = 0, Int_t lastybin = 0);
43
44   void SetInputChain(TChain *inChain) {fTree = (TTree*) inChain;}
45   void SetOutputHisto(Bool_t bHisto = kTRUE) {bOutputHisto = bHisto;}
46
47   void SetASide(Bool_t bA = kTRUE) {bASide = bA;} // fill histo only A TPC side
48   void SetBSide(Bool_t bC = kTRUE) {bCSide = bC;} // fill histo only C TPC side
49
50 private:
51
52   Bool_t bOutputHisto;        //!
53   Bool_t bASide;              //!
54   Bool_t bCSide;              //!
55
56   TClonesArray *fClusters;    //!
57   AliTPCclusterKr *fClustKr;  //!
58   TTree *fTree;               //!
59   TObjArray fHistoKrArray;    //  Calibration histograms for Kr distribution
60
61 public:
62   ClassDef(AliTPCCalibKr, 1)  // Implementation of the TPC pedestal and noise calibration
63 };
64
65 #endif
66