]>
Commit | Line | Data |
---|---|---|
ee7de0dd | 1 | #ifndef ALIJETUNITARRAY_H |
2 | #define ALIJETUNITARRAY_H | |
4a01bb2c | 3 | |
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * * * See cxx source for full Copyright notice */ | |
6 | ||
8838ab7a | 7 | /* $Id$ */ |
ee7de0dd | 8 | |
8838ab7a | 9 | // Class description : Unit red as input by jet finder algorithm to store |
10 | // the physical characteristics of a particle | |
11 | // | |
12 | // Author: magali.estienne@subatech.in2p3.fr | |
13 | // | |
14 | // Unit used by jet finder algorithm | |
15 | // | |
16 | // | |
17 | ||
be6e5811 | 18 | #include <Riostream.h> |
4a01bb2c | 19 | #include <TObject.h> |
be6e5811 | 20 | #include <TRefArray.h> |
21 | #include <TMath.h> | |
22 | #include "AliESDtrack.h" | |
23 | #include "AliAODTrack.h" | |
24 | #include "AliVParticle.h" | |
25 | #include "AliESDCaloCells.h" | |
26 | #include "AliAODCaloCells.h" | |
27 | #include "AliESDCaloCluster.h" | |
28 | #include "AliAODCaloCluster.h" | |
4a01bb2c | 29 | #include "AliJetFinderTypes.h" |
30 | ||
be6e5811 | 31 | class TList; |
32 | class TVector3; | |
33 | ||
3a7af7bd | 34 | using std::vector; |
35 | ||
4a01bb2c | 36 | class AliJetUnitArray : public TObject |
37 | { | |
38 | public: | |
39 | AliJetUnitArray(); | |
8838ab7a | 40 | AliJetUnitArray(Int_t absId, Int_t esdId, Float_t eta, Float_t phi, Float_t en, Float_t Deta, Float_t Dphi, |
41 | AliJetFinderUnitDetectorFlagType_t det, AliJetFinderUnitFlagType_t inout, AliJetFinderUnitCutFlagType_t cut, | |
42 | AliJetFinderUnitCutFlagType_t cut2, AliJetFinderUnitSignalFlagType_t signal, Float_t mass, Int_t clusId); | |
43 | AliJetUnitArray(Int_t absId, Int_t esdId, Float_t eta, Float_t phi, Float_t en, Float_t px, Float_t py, Float_t pz, | |
44 | Float_t Deta, Float_t Dphi, AliJetFinderUnitDetectorFlagType_t det, AliJetFinderUnitFlagType_t inout, | |
45 | AliJetFinderUnitCutFlagType_t cut, Float_t mass, Int_t clusId); | |
4a01bb2c | 46 | ~AliJetUnitArray(); |
47 | ||
48 | // Setter | |
49 | void SetUnitEnergy(Float_t energy) {fUnitEnergy = energy;} | |
50 | void SetUnitEta(Float_t eta) {fUnitEta = eta;} | |
51 | void SetUnitPhi(Float_t phi) {fUnitPhi = phi;} | |
8838ab7a | 52 | void SetUnitPx(Float_t px) {fUnitPx = px;} |
53 | void SetUnitPy(Float_t py) {fUnitPy = py;} | |
54 | void SetUnitPz(Float_t pz) {fUnitPz = pz;} | |
4a01bb2c | 55 | void SetUnitDeta(Float_t deta) {fUnitDeta = deta;} |
56 | void SetUnitDphi(Float_t dphi) {fUnitDphi = dphi;} | |
57 | void SetUnitID(Int_t id) {fUnitID = id;} | |
ee7de0dd | 58 | void SetUnitTrackID(Int_t esdid) {fUnitTrackID = esdid;} |
4a01bb2c | 59 | void SetUnitEntries(Int_t num) {fUnitNum = num;} |
60 | void SetUnitClusterID(Int_t id) {fUnitClusterID = id;} | |
61 | void SetUnitFlag(AliJetFinderUnitFlagType_t flag) | |
62 | { | |
63 | fUnitFlag = flag; | |
64 | } | |
65 | void SetUnitCutFlag(AliJetFinderUnitCutFlagType_t cutFlag) | |
66 | { | |
67 | fUnitCutFlag = cutFlag; | |
68 | } | |
8838ab7a | 69 | void SetUnitCutFlag2(AliJetFinderUnitCutFlagType_t cutFlag) |
70 | { | |
71 | fUnitCutFlag2 = cutFlag; | |
72 | } | |
4a01bb2c | 73 | void SetUnitSignalFlag(AliJetFinderUnitSignalFlagType_t signalFlag) |
74 | { | |
75 | fUnitSignalFlag = signalFlag; | |
76 | } | |
77 | void SetUnitDetectorFlag(AliJetFinderUnitDetectorFlagType_t detectorflag) | |
78 | { | |
79 | fUnitDetectorFlag = detectorflag; | |
80 | } | |
8838ab7a | 81 | void SetUnitSignalFlagC(Bool_t init, AliJetFinderUnitSignalFlagType_t flag); |
82 | void SetUnitSignalFlagN(Bool_t init, AliJetFinderUnitSignalFlagType_t flag); | |
ee7de0dd | 83 | void SetUnitMass(Float_t mass) {fUnitMass = mass;} |
be6e5811 | 84 | void SetUnitTrackRef(TRefArray* trackref) {fUnitTrackRef = trackref;} |
85 | void SetUnitCellRef(TRefArray* cellref) {fUnitCellRef = cellref;} | |
86 | void SetUnitClusterRef(TRefArray* clusterref) {fUnitClusterRef = clusterref;} | |
4a01bb2c | 87 | |
88 | // Getter | |
be6e5811 | 89 | Float_t GetUnitEnergy() const {return fUnitEnergy;} |
90 | Float_t GetUnitEta() const {return fUnitEta;} | |
91 | Float_t GetUnitPhi() const {return fUnitPhi;} | |
92 | Float_t GetUnitPx() const {return fUnitPx;} | |
93 | Float_t GetUnitPy() const {return fUnitPy;} | |
94 | Float_t GetUnitPz() const {return fUnitPz;} | |
95 | Float_t GetUnitDeta() const {return fUnitDeta;} | |
96 | Float_t GetUnitDphi() const {return fUnitDphi;} | |
97 | Int_t GetUnitID() const {return fUnitID;} | |
98 | Int_t GetUnitTrackID() const {return fUnitTrackID;} | |
99 | Int_t GetUnitEntries() const {return fUnitNum;} | |
100 | Int_t GetUnitClusterID() const {return fUnitClusterID;} | |
101 | Float_t GetUnitMass() const {return fUnitMass;} | |
102 | Bool_t GetUnitSignalFlagC(Int_t ind, AliJetFinderUnitSignalFlagType_t &flagc); | |
103 | Bool_t GetUnitSignalFlagN(Int_t ind, AliJetFinderUnitSignalFlagType_t &flagn); | |
104 | TRefArray* GetUnitTrackRef() const {return fUnitTrackRef;} | |
105 | TRefArray* GetUnitCellRef() const {return fUnitCellRef;} | |
106 | TRefArray* GetUnitClusterRef() const {return fUnitClusterRef;} | |
107 | ||
108 | Float_t EtaToTheta(Float_t arg) const; | |
109 | void ClearUnitTrackRef(); | |
110 | void ClearUnitCellRef(); | |
ee7de0dd | 111 | |
4a01bb2c | 112 | AliJetFinderUnitFlagType_t GetUnitFlag() const |
113 | { | |
114 | return fUnitFlag; | |
115 | } | |
116 | AliJetFinderUnitCutFlagType_t GetUnitCutFlag() const | |
117 | { | |
118 | return fUnitCutFlag; | |
119 | } | |
8838ab7a | 120 | AliJetFinderUnitCutFlagType_t GetUnitCutFlag2() const |
121 | { | |
122 | return fUnitCutFlag2; | |
123 | } | |
4a01bb2c | 124 | AliJetFinderUnitSignalFlagType_t GetUnitSignalFlag() const |
125 | { | |
126 | return fUnitSignalFlag; | |
127 | } | |
128 | AliJetFinderUnitDetectorFlagType_t GetUnitDetectorFlag() const | |
129 | { | |
130 | return fUnitDetectorFlag; | |
131 | } | |
132 | ||
4a01bb2c | 133 | protected: |
be6e5811 | 134 | AliJetUnitArray(const AliJetUnitArray& rUnit); |
135 | AliJetUnitArray& operator = (const AliJetUnitArray& rhs); | |
1240edf5 | 136 | Bool_t operator> (const AliJetUnitArray* unit1) const; |
137 | Bool_t operator< (const AliJetUnitArray* unit1) const; | |
138 | Bool_t operator== (const AliJetUnitArray* unit1) const; | |
8838ab7a | 139 | |
140 | Float_t fUnitEnergy; // Energy (Pt,et) of the unit | |
141 | Float_t fUnitEta; // Eta of the unit | |
142 | Float_t fUnitPhi; // Phi of the unit | |
143 | Float_t fUnitDeta; // Delta Eta of the unit | |
144 | Float_t fUnitDphi; // Delta Phi of the unit | |
145 | Int_t fUnitID; // ID of the unit | |
146 | Int_t fUnitTrackID; // ID of a given charged track | |
147 | Int_t fUnitNum; // Number of units | |
148 | Int_t fUnitClusterID; // ID for clusters | |
ee7de0dd | 149 | AliJetFinderUnitFlagType_t fUnitFlag; // Flag of the unit |
8838ab7a | 150 | AliJetFinderUnitCutFlagType_t fUnitCutFlag; // Cut flag of the unit in the tpc |
151 | AliJetFinderUnitCutFlagType_t fUnitCutFlag2; // Cut flag of the unit in the emcal | |
152 | AliJetFinderUnitSignalFlagType_t fUnitSignalFlag; // Signal flag of the unit | |
ee7de0dd | 153 | AliJetFinderUnitDetectorFlagType_t fUnitDetectorFlag; // Detector flag of the unit |
8838ab7a | 154 | Float_t fUnitPx; // Px of charged track |
155 | Float_t fUnitPy; // Py of charged track | |
156 | Float_t fUnitPz; // Pz of charged track | |
157 | Float_t fUnitMass; // Mass of particle | |
8838ab7a | 158 | vector< AliJetFinderUnitSignalFlagType_t > fVc; //|| added for background studies |
159 | vector< AliJetFinderUnitSignalFlagType_t > fVn; //|| added for background studies | |
be6e5811 | 160 | TRefArray* fUnitTrackRef; //! pointer to array of references to esd tracks |
161 | TRefArray* fUnitCellRef; //! pointer to array of references to esd cells | |
162 | TRefArray* fUnitClusterRef; //! pointer to array of references to esd clusters | |
a1fa3a77 | 163 | |
e1b55cde | 164 | ClassDef(AliJetUnitArray,2) |
8838ab7a | 165 | |
4a01bb2c | 166 | }; |
167 | ||
168 | #endif | |
169 |