]>
Commit | Line | Data |
---|---|---|
401ad2f1 | 1 | #ifndef ALITPCCALIBCPID_H |
2 | #define ALITPCCALIBCPID_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 "TH2F.h" | |
10 | #include "TF1.h" | |
11 | #include "THnSparse.h" | |
12 | class TH1F; | |
13 | class TList; | |
14 | class AliESDEvent; | |
15 | class AliESDtrack; | |
16 | class AliTPCseed; | |
17 | ||
18 | #include "TTreeStream.h" | |
19 | ||
20 | ||
21 | class AliTPCcalibPID:public AliTPCcalibBase { | |
22 | public: | |
23 | AliTPCcalibPID(); | |
24 | AliTPCcalibPID(const Text_t *name, const Text_t *title); | |
25 | virtual ~AliTPCcalibPID(); | |
26 | ||
27 | virtual void Process(AliESDEvent *event); | |
28 | virtual Long64_t Merge(TCollection *li); | |
29 | virtual void Analyze(); | |
37fb53c1 | 30 | void MakeReport(const char * outputpath); |
31 | void DrawRatioTot(Int_t ipad, const char* outputpath); | |
32 | void DrawRatioMax(Int_t ipad, const char* outputpath); | |
33 | void DrawRatiodEdx(Float_t demin, Float_t demax, const char* outputpath); | |
8a92e133 | 34 | void DrawResolBGQtot(Int_t minClusters, Int_t maxClusters, Float_t minp, Float_t maxp, const char *outputpath, Bool_t resol=kTRUE); // |
35 | void DrawResolBGQmax(Int_t minClusters, Int_t maxClusters, Float_t minp, Float_t maxp, const char *outputpath, Bool_t resol=kTRUE); | |
401ad2f1 | 36 | // |
37 | TH1F * GetHistNTracks(){return fHistNTracks;}; | |
38 | TH1F * GetHistClusters(){return fClusters;}; | |
39 | TH2F * GetHistPileUp(){return fPileUp;}; | |
40 | TH2F * GetHistLandau(){return fLandau;}; | |
41 | // | |
42 | THnSparseS * GetHistQmax(){return fDeDxQmax;}; | |
43 | THnSparseS * GetHistQtot(){return fDeDxQtot;}; | |
37fb53c1 | 44 | THnSparseS * GetHistRatioMaxTot(){return fDeDxRatioMaxTot;}; |
45 | THnSparseS * GetHistRatioQmax(){return fDeDxRatioQmax;}; | |
46 | THnSparseS * GetHistRatioQtot(){return fDeDxRatioQtot;}; | |
47 | THnSparseS * GetHistRatioTruncQmax(){return fDeDxRatioTruncQmax;}; | |
48 | THnSparseS * GetHistRatioTruncQtot(){return fDeDxRatioTruncQtot;}; | |
401ad2f1 | 49 | // |
50 | void SetMIPvalue(Float_t mip){fMIP = mip;}; | |
51 | void SetLowerTrunc(Float_t lowerTrunc){fLowerTrunc = lowerTrunc;}; | |
52 | void SetUpperTrunc(Float_t upperTrunc){fUpperTrunc = upperTrunc;}; | |
53 | void SetUseShapeNorm(Bool_t useShapeNorm){fUseShapeNorm = useShapeNorm;}; | |
37fb53c1 | 54 | void SetUsePosNorm(Int_t usePosNorm){fUsePosNorm = usePosNorm;}; |
401ad2f1 | 55 | void SetPadNorm(Int_t padNorm){fUsePadNorm = padNorm;}; |
56 | void SetIsCosmic(Bool_t isCosmic){fIsCosmic = isCosmic;}; | |
57 | // | |
58 | // | |
59 | static void BinLogX(THnSparse * h, Int_t axisDim); // method for correct histogram binning | |
37fb53c1 | 60 | void DumpTree(THnSparse * hndim, const char * outname); |
61 | void DumpTrees(); | |
62 | void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; | |
63 | void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);} | |
401ad2f1 | 64 | private: |
65 | // | |
66 | // parameter specifications | |
67 | // | |
68 | Float_t fMIP; | |
69 | Float_t fLowerTrunc; | |
70 | Float_t fUpperTrunc; | |
71 | Bool_t fUseShapeNorm; | |
37fb53c1 | 72 | Int_t fUsePosNorm; |
401ad2f1 | 73 | Int_t fUsePadNorm; |
74 | // | |
75 | Bool_t fIsCosmic; | |
76 | // | |
77 | // histograms | |
78 | // | |
79 | TH1F *fHistNTracks; // histogram showing number of ESD tracks per event | |
80 | TH1F *fClusters; // histogram showing the number of clusters per track | |
81 | TH2F *fPileUp; // histogram which shows correlation between time mismatch and dEdx signal | |
82 | TH2F *fLandau; // histogran which shows Landau distribution for the three pad geometries | |
83 | // | |
84 | THnSparseS * fDeDxQmax; // histogram which shows dEdx (Qmax) as a function of z,sin(phi),tan(theta),p,betaGamma | |
85 | THnSparseS * fDeDxQtot; // histogram which shows dEdx (Qtot) as a function of z,sin(phi),tan(theta),p,betaGamma | |
37fb53c1 | 86 | // |
87 | // ratio histograms | |
88 | // | |
89 | THnSparseS * fDeDxRatioMaxTot; // histogram which shows dEdx ratio (Qmax/Qtot) as a function of z,sin(phi),tan(theta),dEdx,dEdx*dl | |
90 | THnSparseS * fDeDxRatioQmax; // dEdx ratio (tracklet/track) as a function of z,sin(phi),tan(theta),dEdx,dEdx*dl | |
91 | THnSparseS * fDeDxRatioQtot; // dEdx ratio (tracklet/track) as a function of z,sin(phi),tan(theta),dEdx,dEdx*dl | |
92 | THnSparseS * fDeDxRatioTruncQtot; // dEdx ratio (tracklet/track) as a function of z,sin(phi),tan(theta),dEdx,dEdx*dl | |
93 | THnSparseS * fDeDxRatioTruncQmax; // dEdx ratio (tracklet/track) as a function of z,sin(phi),tan(theta),dEdx,dEdx*dl | |
94 | ||
401ad2f1 | 95 | // |
96 | AliTPCcalibPID(const AliTPCcalibPID&); | |
97 | AliTPCcalibPID& operator=(const AliTPCcalibPID&); | |
98 | ||
99 | ClassDef(AliTPCcalibPID, 1); | |
100 | }; | |
101 | ||
102 | #endif | |
103 | ||
104 |