]>
Commit | Line | Data |
---|---|---|
dc293ae9 | 1 | #ifndef AliEMCALPID_H |
2 | #define AliEMCALPID_H | |
3 | ||
4 | /* $Id$ */ | |
5 | /* History of cvs commits: | |
6 | * | |
7 | * $Log$ | |
8ba062b1 | 8 | * Revision 1.13 2007/07/11 13:43:29 hristov |
9 | * New class AliESDEvent, backward compatibility with the old AliESD (Christian) | |
10 | * | |
af885e0f | 11 | * Revision 1.12 2007/02/20 20:17:43 hristov |
12 | * Corrected array size, removed warnings (icc) | |
13 | * | |
d69ab345 | 14 | * Revision 1.11 2006/12/19 08:49:35 gustavo |
15 | * New PID class for EMCAL, bayesian analysis done with ESD data, PID information filled when calling AliEMCALPID in AliEMCALReconstructor::FillESD() | |
16 | * | |
dc293ae9 | 17 | * |
18 | */ | |
19 | ||
20 | /////////////////////////////////////////////////////////////////////////////// | |
21 | // Class AliEMCALPID | |
22 | /////////////////////////////////////////////////////////////////////////////// | |
23 | ||
24 | #include "TTask.h" | |
25 | #include "TArrayD.h" | |
af885e0f | 26 | #include "AliESDEvent.h" |
dc293ae9 | 27 | #include "AliPID.h" |
28 | ||
29 | class AliEMCALPID : public TTask { | |
30 | ||
31 | public: | |
32 | ||
33 | AliEMCALPID(); | |
34 | virtual ~AliEMCALPID() { } | |
35 | ||
af885e0f | 36 | void RunPID(AliESDEvent *esd); |
dc293ae9 | 37 | void ComputePID(Double_t energy, Double_t lambda0); // give the PID of a cluster |
38 | TArrayD DistLambda0(Double_t energy, Int_t nature); // compute lambda0 distributions | |
39 | ||
40 | Double_t GetPID(Int_t idx) const {if (idx>=0&&idx<3) return fPID[idx]; else return 0.;} | |
41 | Double_t GetPIDFinal(Int_t idx) const {if (idx>=0&&idx<AliPID::kSPECIESN) return fPIDFinal[idx]; else return 0.;} | |
42 | Double_t GetPIDWeight(Int_t idx) const {if (idx>=0&&idx<3) return fPIDWeight[idx]; else return 0.;} | |
43 | ||
44 | void SetPID(Double_t val, Int_t idx) {if (idx>=0&&idx<3) fPID[idx] = val;} | |
45 | void SetPIDFinal(Double_t val, Int_t idx) {if (idx>=0&&idx<AliPID::kSPECIESN) fPIDFinal[idx] = val;} | |
46 | void SetPIDWeight(Double_t val, Int_t idx) {if (idx>=0&&idx<3) fPIDWeight[idx] = val;} | |
47 | void SetPrintInfo(Bool_t yesno) {fPrintInfo = yesno;} | |
48 | void SetReconstructor(Bool_t yesno) {fReconstructor = yesno;} | |
49 | private: | |
50 | ||
51 | Double_t Polynomial(Double_t x, Double_t *params); | |
52 | ||
53 | Bool_t fPrintInfo; // flag to decide if details about PID must be printed | |
54 | ||
55 | Double_t fGamma[6][6]; // Parameter to Compute PID | |
56 | Double_t fHadron[6][6]; // Parameter to Compute PID | |
57 | Double_t fPiZero5to10[6][6]; // Parameter to Compute PID | |
58 | Double_t fPiZero10to60[6][6]; // Parameter to Compute PID | |
59 | ||
60 | Float_t fPID[3]; | |
61 | ||
d69ab345 | 62 | Float_t fPIDFinal[AliPID::kSPECIESN+1]; // final PID format |
dc293ae9 | 63 | Float_t fPIDWeight[3]; // order: gamma, pi0, hadrons, |
64 | Double_t fProbGamma; // probility to be a Gamma | |
65 | Double_t fProbPiZero; // probility to be a PiO | |
66 | Double_t fProbHadron; // probility to be a Hadron | |
67 | Bool_t fReconstructor; //Fill esdcalocluster when called from EMCALReconstructor | |
68 | ||
69 | ClassDef(AliEMCALPID, 0) | |
70 | }; | |
71 | ||
72 | #endif // ALIEMCALPID_H | |
8ba062b1 | 73 |