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