]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCcalibGainMult.h
Take fMCEvent from AlAODInputHandler if used.
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibGainMult.h
CommitLineData
f72219cb 1#ifndef ALITPCCALIBGAINMULT_H
2#define ALITPCCALIBGAINMULT_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7#include "AliTPCcalibBase.h"
8#include "AliTPCCalPad.h"
9#include "TH3F.h"
10#include "TF1.h"
11#include "THnSparse.h"
6feb400f 12#include "TMatrixD.h"
13#include "TVectorD.h"
f72219cb 14class TH1F;
15class TList;
16class AliESDEvent;
17class AliESDtrack;
18class AliTPCseed;
19
20#include "TTreeStream.h"
21
22
23class AliTPCcalibGainMult:public AliTPCcalibBase {
24public:
25 AliTPCcalibGainMult();
26 AliTPCcalibGainMult(const Text_t *name, const Text_t *title);
27 virtual ~AliTPCcalibGainMult();
6feb400f 28 void SetBBParam(TVectorD * param) {fBBParam=param;}
29 // virtual void Terminate();
f72219cb 30 //
31 virtual void Process(AliESDEvent *event);
6feb400f 32 virtual void ProcessV0s(AliESDEvent *event);
33 virtual void ProcessCosmic(const AliESDEvent *event);
34 virtual void ProcessKinks(const AliESDEvent *event);
35 virtual void ProcessTOF(const AliESDEvent *event);
36 virtual void DumpHPT(const AliESDEvent *event);
f72219cb 37 virtual Long64_t Merge(TCollection *li);
38 virtual void Analyze();
6feb400f 39 void DumpTrack(AliESDtrack * track, AliESDfriendTrack *ftrack, AliTPCseed * seed, Int_t index);
f72219cb 40 //
41 TH1F * GetHistNTracks() const {return fHistNTracks;};
42 TH1F * GetHistClusterShape() const {return fHistClusterShape;};
43 TH3F * GetHistQA() const {return fHistQA;};
44 //
45 THnSparseF * GetHistGainSector() const {return fHistGainSector;};
46 THnSparseF * GetHistPadEqual() const {return fHistPadEqual;};
6feb400f 47 THnSparseF * GetHistGainMult() const {return fHistGainMult;};
48 THnSparseF * GetHistdEdxMap() const { return fHistdEdxMap;} // 4D dedx histogram
49 THnSparseF * GetHistdEdxMax() const { return fHistdEdxMax;} // 4D dedx histogram
50 THnSparseF * GetHistdEdxTot() const { return fHistdEdxTot;} // 4D dedx histogram
51 TTree * GetdEdxTree() const {return fdEdxTree;} // tree for the later minimization
52
7e3e1a9c 53 TGraphErrors* GetGainPerChamber(Int_t padRegion=1, Bool_t plotQA=kFALSE);
f72219cb 54 //
55 void SetMIPvalue(Float_t mip){fMIP = mip;};
56 void SetLowerTrunc(Float_t lowerTrunc){fLowerTrunc = lowerTrunc;};
57 void SetUpperTrunc(Float_t upperTrunc){fUpperTrunc = upperTrunc;};
58 void SetUseMax(Bool_t useMax){fUseMax = useMax;};
59 //
60 //
f72219cb 61 void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);};
62 void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);}
63 //
19f63078 64 void MakeLookup(THnSparse * hist, Char_t * outputFile);
65 //
f72219cb 66 void UpdateGainMap();
67 void UpdateClusterParam();
68
afa85729 69 Double_t GetEntries() const {return fHistGainSector->GetEntries();}
70
71 static void SetMergeEntriesCut(Double_t c) {fgMergeEntriesCut=c;}
f72219cb 72
73private:
afa85729 74 static Double_t fgMergeEntriesCut; //maximal number of entries for merging -can be modified via setter
75
f72219cb 76 //
77 // parameter specifications
78 //
79 Float_t fMIP; // MIP position to be in fMIP
80 Float_t fLowerTrunc; // lower truncation for dEdx
81 Float_t fUpperTrunc; // upper truncation for dEdx
82 //
83 Bool_t fUseMax; // flag if Qmax or Qtot should be used
84 //
85 // histograms
86 //
87 TH1F *fHistNTracks; // histogram showing number of ESD tracks per event
88 TH1F *fHistClusterShape; // histogram to check the cluster shape
89 TH3F *fHistQA; // dE/dx histogram showing the final spectrum
90 //
91 THnSparseF * fHistGainSector; // histogram which shows MIP peak for each of the 3x36 sectors (pad region)
92 THnSparseF * fHistPadEqual; // histogram for the equalization of the gain in the different pad regions -> pass0
93 THnSparseF * fHistGainMult; // histogram which shows decrease of MIP signal as a function
6feb400f 94 TMatrixD *fPIDMatrix; //! custom PID matrix
95 //
96 THnSparseF * fHistdEdxMap; // 4D dedx histogram - per sector/phi
97 THnSparseF * fHistdEdxMax; // 5D dedx histogram - per 1/dedx, tan(theta), tan(phi), mult, pad-type
98 THnSparseF * fHistdEdxTot; // 5D dedx histogram - per 1/dedx, tan(theta), tan(phi), mult, pad-type
99 TTree * fdEdxTree; // tree for the later minimization
100 TVectorD *fBBParam; // BetheBloch parameterization used for the dedx expected calculation
f72219cb 101 //
102 AliTPCcalibGainMult(const AliTPCcalibGainMult&);
103 AliTPCcalibGainMult& operator=(const AliTPCcalibGainMult&);
104
6feb400f 105 ClassDef(AliTPCcalibGainMult, 2);
f72219cb 106};
107
108#endif
109
110