Basic calibration and QA class for the PID of the TPC based on dEdx.
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibPID.h
CommitLineData
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"
12class TH1F;
13class TList;
14class AliESDEvent;
15class AliESDtrack;
16class AliTPCseed;
17
18#include "TTreeStream.h"
19
20
21class AliTPCcalibPID:public AliTPCcalibBase {
22public:
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();
30 void MakeReport();
31 //
32 //
33 TH1F * GetHistNTracks(){return fHistNTracks;};
34 TH1F * GetHistClusters(){return fClusters;};
35 TH2F * GetHistPileUp(){return fPileUp;};
36 TH2F * GetHistLandau(){return fLandau;};
37 //
38 THnSparseS * GetHistQmax(){return fDeDxQmax;};
39 THnSparseS * GetHistQtot(){return fDeDxQtot;};
40 THnSparseS * GetHistRatio(){return fDeDxRatio;};
41 THnSparseS * GetHistShortMediumRatio(){return fDeDxShortMediumRatio;};
42 THnSparseS * GetHistLongMediumRatio(){return fDeDxLongMediumRatio;};
43 //
44 void SetMIPvalue(Float_t mip){fMIP = mip;};
45 void SetLowerTrunc(Float_t lowerTrunc){fLowerTrunc = lowerTrunc;};
46 void SetUpperTrunc(Float_t upperTrunc){fUpperTrunc = upperTrunc;};
47 void SetUseShapeNorm(Bool_t useShapeNorm){fUseShapeNorm = useShapeNorm;};
48 void SetUsePosNorm(Bool_t usePosNorm){fUsePosNorm = usePosNorm;};
49 void SetPadNorm(Int_t padNorm){fUsePadNorm = padNorm;};
50 void SetIsCosmic(Bool_t isCosmic){fIsCosmic = isCosmic;};
51 //
52 //
53 static void BinLogX(THnSparse * h, Int_t axisDim); // method for correct histogram binning
54
55
56private:
57 //
58 // parameter specifications
59 //
60 Float_t fMIP;
61 Float_t fLowerTrunc;
62 Float_t fUpperTrunc;
63 Bool_t fUseShapeNorm;
64 Bool_t fUsePosNorm;
65 Int_t fUsePadNorm;
66 //
67 Bool_t fIsCosmic;
68 //
69 // histograms
70 //
71 TH1F *fHistNTracks; // histogram showing number of ESD tracks per event
72 TH1F *fClusters; // histogram showing the number of clusters per track
73 TH2F *fPileUp; // histogram which shows correlation between time mismatch and dEdx signal
74 TH2F *fLandau; // histogran which shows Landau distribution for the three pad geometries
75 //
76 THnSparseS * fDeDxQmax; // histogram which shows dEdx (Qmax) as a function of z,sin(phi),tan(theta),p,betaGamma
77 THnSparseS * fDeDxQtot; // histogram which shows dEdx (Qtot) as a function of z,sin(phi),tan(theta),p,betaGamma
78 THnSparseS * fDeDxRatio; // histogram which shows dEdx ratio (Qmax/Qtot) as a function of z,sin(phi),tan(theta),p,betaGamma
79 THnSparseS * fDeDxShortMediumRatio; // histogram which shows dEdx ratio (QmaxShort/QmaxMedium) as a function of z,sin(phi),tan(theta),p,betaGamma
80 THnSparseS * fDeDxLongMediumRatio; // histogram which shows dEdx ratio (QmaxLong/QmaxMedium) as a function of z,sin(phi),tan(theta),p,betaGamma
81 //
82 AliTPCcalibPID(const AliTPCcalibPID&);
83 AliTPCcalibPID& operator=(const AliTPCcalibPID&);
84
85 ClassDef(AliTPCcalibPID, 1);
86};
87
88#endif
89
90