1 // $Id: AliJPhoton.h,v 1.1 2008/05/02 20:28:14 djkim Exp $
3 ////////////////////////////////////////////////////
6 \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla)
8 \version $Revision: 1.1 $
9 \date $Date: 2008/05/02 11:56:39 $
11 ////////////////////////////////////////////////////
27 #include "AliPhJBaseTrack.h"
28 #include "AliPhJPhoton.h"
30 //class AliPhJBaseTrack;
34 class AliJPhoton : public AliPhJPhoton {
59 AliJPhoton(); // default constructor
60 AliJPhoton(const AliJPhoton& a);
61 ~AliJPhoton(){;} //destructor
63 Bool_t InPHOS() const {return fCaloType==kPHOSCalo ? kTRUE:kFALSE ;}
64 Bool_t InEMCAL() const {return fCaloType==kEMCALCalo ? kTRUE:kFALSE ;}
66 void GetPID(Double_t *pid) const {
67 for(Int_t i=0; i<kUnknownAli+1; ++i) pid[i]=fCaloPID[i];
69 Double_t GetDistToBadChannel() const {return fDistToBadChannel;}
70 Double_t GetDispersion() const {return fDispersion;}
71 Double_t GetM20() const {return fM20;}
72 Double_t GetM02() const {return fM02;}
73 Double_t GetEmcCpvDist() const {return fEmcCpvDist;}
74 Double_t GetNCells() const { return fNCells;}
75 UShort_t *GetCellsAbsId() const {return fCellsAbsId;}
76 Int_t GetCellAbsId(Int_t i) const {
77 if (fCellsAbsId && i >=0 && i < fNCells ) return fCellsAbsId[i];
79 Double32_t *GetCellsAmplitudeFraction() const {return fCellsAmpFraction;}
80 Double_t GetCellAmplitudeFraction(Int_t i) const {
81 if (fCellsAmpFraction && i >=0 && i < fNCells ) return fCellsAmpFraction[i];
83 particleType GetParticleType();
87 void SetCaloType(AliJCaloType calo) {fCaloType = calo;}
88 void SetDistToBadChannel(Double_t dist) {fDistToBadChannel = dist;}
89 void SetDispersion(Double_t disp) {fDispersion = disp;}
90 void SetM20(Double_t m20) {fM20 = m20;}
91 void SetM02(Double_t m02) {fM02 = m02;}
92 void SetEmcCpvDist(Double_t dist) {fEmcCpvDist = dist;}
93 void SetPID(const Double_t *pid);
94 void SetNCells(Int_t n) { fNCells = n;}
95 void SetCellsAbsId(const UShort_t *array);
96 void SetCellsAmplitudeFraction(const Double32_t *array) ;
98 Int_t GetMCid() const { return fMCid; }
99 void SetMCid(Int_t id) { fMCid = id; }
100 Int_t GetSuperModuleID() const { return fSuperModuleId; }
101 void SetSuperModuleID(Int_t id) { fSuperModuleId = id; }
104 AliJPhoton& operator=(const AliJPhoton& photon);
108 AliJCaloType fCaloType; // PHOS or EMCAL photon
109 Double_t fCaloPID[kUnknownAli+1]; // [0.,1.,8] pointer to PID object
110 Double_t fDistToBadChannel; // Distance to nearest bad channel
111 Double_t fDispersion; // cluster dispersion, for shape analysis
112 Double_t fM20; // 2-nd moment along the main eigen axis
113 Double_t fM02; // 2-nd moment along the second eigen axis
114 Double_t fEmcCpvDist; // the distance from PHOS EMC rec.point to the closest CPV rec.point
116 Int_t fNCells ; //number of cells
117 Int_t fSuperModuleId ; //super module id
118 UShort_t *fCellsAbsId; //[fNCells] array of cell absId numbers
119 Double32_t *fCellsAmpFraction; //[fNCells][0.,1.,16] array with cell amplitudes fraction.
121 Int_t fMCid; // track label, points back to MC track
125 ClassDef(AliJPhoton,1)