]>
Commit | Line | Data |
---|---|---|
70da6c5a | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | // | |
16 | // Class for PID QA | |
17 | // Several studies done on clean samples of electrons, pions and kaons | |
18 | // coming from V0 PID | |
19 | // More information can be found in the implementation file | |
20 | // | |
21 | #ifndef ALIHFEPIDQA_H | |
22 | #define ALIHFEPIDQA_H | |
23 | ||
24 | #ifndef ROOT_TObject | |
25 | #include <TObject.h> | |
26 | #endif | |
27 | ||
28 | class TList; | |
29 | class TObjArray; | |
30 | ||
31 | class AliAODTrack; | |
32 | class AliESDtrack; | |
33 | class AliHFEcollection; | |
34 | class AliHFEV0pid; | |
35 | class AliMCEvent; | |
36 | //class AliTRDPIDResponseLQ1D; | |
37 | class AliVEvent; | |
38 | class AliESDpid; | |
39 | class AliHFEV0pidMC; | |
40 | ||
41 | class AliHFEpidQA : public TObject{ | |
42 | public: | |
43 | AliHFEpidQA(); | |
44 | ~AliHFEpidQA(); | |
45 | ||
46 | void Init(); | |
47 | void Process(AliVEvent *inputEvent); | |
48 | ||
49 | TList *GetOutput(); | |
50 | TList *GetV0pidQA(); | |
51 | TList *GetV0pidMC(); | |
52 | ||
53 | Bool_t HasV0pidQA() const { return TestBit(kV0pidQA); }; | |
54 | Bool_t HasRecalculateTRDpid() const { return TestBit(kRecalculateTRDpid); }; | |
55 | ||
56 | void SetMCEvent(AliMCEvent * const mc) { fMC = mc; }; | |
57 | void SetV0pidQA(Bool_t v0pidQA = kTRUE) { SetBit(kV0pidQA, v0pidQA); }; | |
58 | void SetRecalculateTRDpid(Bool_t recal = kTRUE) { SetBit(kRecalculateTRDpid, recal); }; | |
59 | ||
60 | void SetRun(Int_t run) { fRun = run; }; | |
61 | // temporary solutions for correction the T0 for pass4 & pass5 | |
62 | void CorrectT0(); | |
63 | void SetT0(Float_t t0) { fT0 = t0; }; | |
64 | Float_t TOFbeta(AliESDtrack *const track) const; | |
65 | ||
66 | protected: | |
67 | enum{ | |
68 | kV0pidQA = BIT(14), | |
69 | kRecalculateTRDpid = BIT(15) | |
70 | }; | |
71 | enum{ // detectors for histogram names | |
72 | kITS = 0, | |
73 | kTPC = 1, | |
74 | kTRD = 2, | |
75 | kTOF = 4 | |
76 | }; | |
77 | ||
78 | void MakePurity(TObjArray *tracks, Int_t species); | |
79 | void FillTRDelectronLikelihoods(TObjArray * const particles, Int_t species); | |
80 | void FillPIDresponse(TObjArray * const particles, Int_t species); | |
81 | void RecalculateTRDpid(AliESDtrack *track, Double_t *pidProbs) const; | |
82 | void RecalculateTRDpid(AliAODTrack *track, Double_t *pidProbs) const; | |
83 | ||
84 | private: | |
85 | AliHFEpidQA(const AliHFEpidQA &ref); | |
86 | AliHFEpidQA &operator=(const AliHFEpidQA &ref); | |
87 | ||
88 | AliMCEvent *fMC; // MC Event | |
89 | AliHFEV0pid *fV0pid; // V0 PID | |
90 | AliHFEV0pidMC *fV0pidMC; // V0 MC PID | |
91 | //AliTRDPIDResponseLQ1D *fTRDpidResponse; // TRD PID | |
92 | AliHFEcollection *fOutput; // Output container | |
93 | Float_t fT0; // corrected T0 for pass4 & pass5 | |
94 | Int_t fRun; // Run Number | |
95 | AliESDpid *fESDpid; // ESD PID object | |
96 | ||
97 | ClassDef(AliHFEpidQA, 1) // PID QA tool | |
98 | }; | |
99 | #endif |