1 #ifndef ALICALOCLUSTERINFO_H
2 #define ALICALOCLUSTERINFO_H
4 /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //***********************************************************
8 // Class AliCaloClusterInfo
9 // class used to extract and store reco info of calo cluster
10 // Author: H-S. Zhu, hongsheng.zhu@cern.ch
11 // hszhu@iopp.ccnu.edu.cn
12 //***********************************************************
16 #include <TLorentzVector.h>
20 class AliPHOSGeoUtils;
22 class AliCaloClusterInfo : public TObject{
26 AliCaloClusterInfo(AliVCluster* const clust, AliESDEvent* const esd, AliPHOSGeoUtils* const phosGeo, Double_t vtx[3]);
27 AliCaloClusterInfo(const AliCaloClusterInfo &src);
28 AliCaloClusterInfo& operator=(const AliCaloClusterInfo &src);
29 virtual ~AliCaloClusterInfo();
31 TLorentzVector LorentzVector() const{ return fLorentzVector; }
33 Int_t GetModule() const { return fModule; }
34 Int_t GetNCells() const { return fNCells; }
35 Int_t GetTRUNumber() const { return fTRUNumber; }
36 Int_t GetNTracksMatched() const { return fNTracksMatched; }
37 Short_t GetTrackCharge() const { return fTrackCharge; }
38 UInt_t GetPIDBit() const { return fPIDBit; }
39 Double_t GetDistToBad() const { return fDistToBad; }
40 Double_t GetEmcCpvDistance() const { return fEmcCpvDistance; }
41 Double_t GetM02() const { return fM02; }
42 Double_t GetM20() const { return fM20; }
43 Double_t GetTOF() const { return fTOF; }
44 Double_t GetTrackDz() const { return fTrackDz; }
45 Double_t GetTrackDx() const { return fTrackDx; }
46 Double_t GetTrackPt() const { return fTrackPt; }
48 void SetPIDBit(UInt_t bit) { fPIDBit |= bit; }
50 Bool_t TestCPV(Double_t mf);
52 static void SetLogWeight(Float_t logWeight=0.05) { fgLogWeight = logWeight; }
56 void FillCaloClusterInfo(AliVCluster* const clust, AliESDEvent* const esd, AliPHOSGeoUtils* const phosGeo, Double_t vtx[3]);
57 void Reclusterize(AliVCluster *clust, AliPHOSGeoUtils* const phosGeo);
60 Bool_t AreNeighbors(Int_t id1,Int_t id2, AliPHOSGeoUtils* const phosGeo);
61 Bool_t IsInFiducialRegion(/*Int_t cellX, Int_t cellZ*/);
62 Int_t GetTRUNumber(Int_t cellX, Int_t cellZ);
64 static Float_t fgLogWeight;
66 TLorentzVector fLorentzVector;
69 Int_t fNCells; // Number of cells in cluster
70 Int_t fTRUNumber; // TRU Number
71 Int_t fNTracksMatched;
73 UInt_t fPIDBit; // PID Bit
74 Double_t fDistToBad ; // Distance to nearest bad channel
75 Double_t fEmcCpvDistance; // Distance from PHOS EMC rec.point to the closest CPV rec.point
76 Double_t fM02; // lambda0
77 Double_t fM20; // lambda1
83 ClassDef(AliCaloClusterInfo,1);
86 #endif // #ifdef ALICALOCLUSTERINFO_H