]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/AliEMCALClusterParams.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEMCALClusterParams.h
CommitLineData
58c00d93 1#ifndef ALIEMCALCLUSTERPARAMS_H
2#define ALIEMCALCLUSTERPARAMS_H
3
4// $Id$
5
6#include <TObject.h>
7class AliESDtrack;
8class AliESDCaloCluster;
9class AliEMCALGeometry;
10class AliESDCaloCells;
11class TObjArray;
12
13class 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 &param1, Double_t &param2) 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 &param1, Double_t &param2) 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