]>
Commit | Line | Data |
---|---|---|
58c00d93 | 1 | #ifndef ALIEMCALCLUSTERPARAMS_H |
2 | #define ALIEMCALCLUSTERPARAMS_H | |
3 | ||
4 | // $Id$ | |
5 | ||
6 | #include <TObject.h> | |
7 | class AliESDtrack; | |
8 | class AliESDCaloCluster; | |
9 | class AliEMCALGeometry; | |
10 | class AliESDCaloCells; | |
11 | class TObjArray; | |
12 | ||
13 | class AliEMCALClusterParams : public TObject | |
14 | { | |
15 | public: | |
16 | AliEMCALClusterParams(AliESDtrack *trackin, | |
17 | AliESDCaloCluster *clusin, | |
18 | AliEMCALGeometry *geometryin, | |
19 | AliESDCaloCells *cellsin); | |
20 | virtual ~AliEMCALClusterParams() {;} | |
21 | ||
22 | Double_t GetPe() const; | |
23 | Int_t IsElectron() const; | |
24 | void LoopThroughCells() const; | |
25 | void PrintClusterParameters() const; | |
26 | ||
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 | |
38 | ||
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 | |
50 | ||
51 | void RecalculateClusterShowerShapeParameters(Double_t &m02, Double_t &m20, Double_t &dispersion) const; //from Gustavo's code! | |
52 | ||
53 | private: | |
54 | AliESDtrack *fTrack; //! | |
55 | AliESDCaloCluster *fCluster; //! | |
56 | AliEMCALGeometry *fGeom; //! | |
57 | AliESDCaloCells *fCells; //! | |
58 | ||
59 | AliEMCALClusterParams(const AliEMCALClusterParams & g); | |
60 | AliEMCALClusterParams & operator = (const AliEMCALClusterParams & g); | |
61 | ||
62 | ClassDef(AliEMCALClusterParams,0) | |
63 | }; | |
64 | #endif //ALIEMCALCLUSTERPARAMS_H |