3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 //_________________________________________________________________________
8 // Class for track/cluster acceptance selection
9 // Selection in Central barrel, EMCAL and PHOS
11 //*-- Author: Gustavo Conesa (INFN-LNF)
13 // --- ROOT system ---
17 class TLorentzVector ;
20 //--- AliRoot system ---
23 class AliCaloPID : public TObject {
27 AliCaloPID() ; // ctor
28 AliCaloPID(const AliCaloPID & g) ; // cpy ctor
29 AliCaloPID & operator = (const AliCaloPID & g) ;//cpy assignment
30 virtual ~AliCaloPID() ;//virtual dtor
38 kNeutralHadron = 2112,
40 kNeutralUnknown = 130,
44 enum PhotonStatusType {
53 void InitParameters();
55 void Print(const Option_t * opt)const;
57 Int_t GetPdg(const TString calo, const Double_t * pid, const Float_t energy) const ;
58 Int_t GetPdg(const TString calo, const TLorentzVector mom, const Double_t l0, const Double_t l1, const Double_t disp, const Double_t tof, const Double_t distCPV) const ;
61 Float_t GetEMCALPhotonWeight() const { return fEMCALPhotonWeight ; }
62 Float_t GetEMCALPi0Weight() const { return fEMCALPi0Weight ; }
63 Float_t GetEMCALElectronWeight() const { return fEMCALElectronWeight ; }
64 Float_t GetEMCALChargeWeight() const { return fEMCALChargeWeight ; }
65 Float_t GetEMCALNeutralWeight() const { return fEMCALNeutralWeight ; }
66 Float_t GetPHOSPhotonWeight() const { return fPHOSPhotonWeight ; }
67 Float_t GetPHOSPi0Weight() const { return fPHOSPi0Weight ; }
68 Float_t GetPHOSElectronWeight() const { return fPHOSElectronWeight ; }
69 Float_t GetPHOSChargeWeight() const { return fPHOSChargeWeight ; }
70 Float_t GetPHOSNeutralWeight() const { return fPHOSNeutralWeight ; }
72 Bool_t IsPHOSPIDWeightFormulaOn() const { return fPHOSWeightFormula ; }
73 TFormula * GetPHOSPhotonWeightFormula() const { return fPHOSPhotonWeightFormula ; }
74 TFormula * GetPHOSPi0WeightFormula() const { return fPHOSPi0WeightFormula ; }
77 void SetEMCALPhotonWeight(Float_t w){ fEMCALPhotonWeight = w ; }
78 void SetEMCALPi0Weight(Float_t w){ fEMCALPi0Weight = w ; }
79 void SetEMCALElectronWeight(Float_t w){ fEMCALElectronWeight = w ; }
80 void SetEMCALChargeWeight(Float_t w){ fEMCALChargeWeight = w ; }
81 void SetEMCALNeutralWeight(Float_t w){ fEMCALNeutralWeight = w ; }
82 void SetPHOSPhotonWeight(Float_t w){ fPHOSPhotonWeight = w ; }
83 void SetPHOSPi0Weight(Float_t w){ fPHOSPi0Weight = w ; }
84 void SetPHOSElectronWeight(Float_t w){ fPHOSElectronWeight = w ; }
85 void SetPHOSChargeWeight(Float_t w){ fPHOSChargeWeight = w ; }
86 void SetPHOSNeutralWeight(Float_t w){ fPHOSNeutralWeight = w ; }
88 void UsePHOSPIDWeightFormula(Bool_t par) { fPHOSWeightFormula = par; }
89 void SetPHOSPhotonWeightFormula(TFormula * photon) { fPHOSPhotonWeightFormula = photon; }
90 void SetPHOSPi0WeightFormula(TFormula * pi0) { fPHOSPi0WeightFormula = pi0; }
94 Float_t fEMCALPhotonWeight; //Bayesian PID weight for photons in EMCAL
95 Float_t fEMCALPi0Weight; //Bayesian PID weight for pi0 in EMCAL
96 Float_t fEMCALElectronWeight; //Bayesian PID weight for electrons in EMCAL
97 Float_t fEMCALChargeWeight; //Bayesian PID weight for charged hadrons in EMCAL
98 Float_t fEMCALNeutralWeight; //Bayesian PID weight for neutral hadrons in EMCAL
99 Float_t fPHOSPhotonWeight; //Bayesian PID weight for photons in PHOS
100 Float_t fPHOSPi0Weight; //Bayesian PID weight for pi0 in PHOS
101 Float_t fPHOSElectronWeight; //Bayesian PID weight for electrons in PHOS
102 Float_t fPHOSChargeWeight; //Bayesian PID weight for charged hadrons in PHOS
103 Float_t fPHOSNeutralWeight; //Bayesian PID weight for neutral hadrons in PHOS
105 Bool_t fPHOSWeightFormula ; //Use parametrized weight threshold, function of energy
106 TFormula * fPHOSPhotonWeightFormula ; //Formula for photon weight
107 TFormula * fPHOSPi0WeightFormula ; //Formula for pi0 weight
110 ClassDef(AliCaloPID,1)
114 #endif //ALICALOPID_H