1 #ifndef ALIEMCALCLUSTERPARAMS_H
2 #define ALIEMCALCLUSTERPARAMS_H
8 class AliESDCaloCluster;
9 class AliEMCALGeometry;
10 class AliESDCaloCells;
13 class AliEMCALClusterParams : public TObject
16 AliEMCALClusterParams(AliESDtrack *trackin,
17 AliESDCaloCluster *clusin,
18 AliEMCALGeometry *geometryin,
19 AliESDCaloCells *cellsin);
20 virtual ~AliEMCALClusterParams() {;}
22 Double_t GetPe() const;
23 Int_t IsElectron() const;
24 void LoopThroughCells() const;
25 void PrintClusterParameters() const;
27 //==========Un-log-weighted parameters============================================================
28 void GetCentroid(Double_t &xback, Double_t &yback, Double_t &rback) const;
29 Double_t GetR(Double_t x, Double_t y) const; //Uses Centroid
30 Double_t GetRfactor() const; //Uses GetR,Centroid
31 Double_t ElectronFraction(Double_t r, Double_t tce) const; //Only used locally for K-factor
32 Double_t GetKfactor() const; //Gets K-factor, uses electronfraction
33 Double_t GetDispersionX() const; //Gets unweighted dispersionX
34 Double_t GetDispersionY() const; //Gets unweighted dispersionY
35 Double_t GetDispersionMax() const; //Gets unweighted dispersionMax
36 void GetEllipseParameters(Double_t ¶m1, Double_t ¶m2) const; //Gets M02 M20
37 Double_t GetDispersion() const; //Unweighted Dispersion
39 //==========Log-weighted parameters===============================================================
40 void GetWeightedCentroid(Double_t &xback, Double_t &yback, Double_t &rback) const;
41 Double_t GetWeightedR(Double_t x, Double_t y) const; //Weighted r, uses WeightedCentriod
42 Double_t GetWeightedRfactor() const; //Uses WeightedR
43 Double_t ElectronfractionWeighted(Double_t r, Double_t tce) const; //Used locally for K-factor weighted
44 Double_t GetWeightedKfactor() const; //Gets Weighted K-factor
45 Double_t GetWeightedDispersionX() const; //Gets Weighted dispersionX
46 Double_t GetWeightedDispersionY() const; //Gets Weighted dispersionY
47 Double_t GetWeightedDispersionMax() const; //Gets Weighted dispersionMax
48 void GetWeightedEllipseParameters(Double_t ¶m1, Double_t ¶m2) const; //Gets weighted M02 M20
49 Double_t GetWeightedDispersion(Double_t &dispersionback) const; //Gets Weighted dispersion
51 void RecalculateClusterShowerShapeParameters(Double_t &m02, Double_t &m20, Double_t &dispersion) const; //from Gustavo's code!
54 AliESDtrack *fTrack; //!
55 AliESDCaloCluster *fCluster; //!
56 AliEMCALGeometry *fGeom; //!
57 AliESDCaloCells *fCells; //!
59 AliEMCALClusterParams(const AliEMCALClusterParams & g);
60 AliEMCALClusterParams & operator = (const AliEMCALClusterParams & g);
62 ClassDef(AliEMCALClusterParams,0)
64 #endif //ALIEMCALCLUSTERPARAMS_H