]>
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 | ||
4a01bb2c | 34 | class AliJetUnitArray : public TObject |
35 | { | |
36 | public: | |
37 | AliJetUnitArray(); | |
8838ab7a | 38 | AliJetUnitArray(Int_t absId, Int_t esdId, Float_t eta, Float_t phi, Float_t en, Float_t Deta, Float_t Dphi, |
39 | AliJetFinderUnitDetectorFlagType_t det, AliJetFinderUnitFlagType_t inout, AliJetFinderUnitCutFlagType_t cut, | |
40 | AliJetFinderUnitCutFlagType_t cut2, AliJetFinderUnitSignalFlagType_t signal, Float_t mass, Int_t clusId); | |
41 | 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, | |
42 | Float_t Deta, Float_t Dphi, AliJetFinderUnitDetectorFlagType_t det, AliJetFinderUnitFlagType_t inout, | |
43 | AliJetFinderUnitCutFlagType_t cut, Float_t mass, Int_t clusId); | |
4a01bb2c | 44 | ~AliJetUnitArray(); |
45 | ||
46 | // Setter | |
47 | void SetUnitEnergy(Float_t energy) {fUnitEnergy = energy;} | |
48 | void SetUnitEta(Float_t eta) {fUnitEta = eta;} | |
49 | void SetUnitPhi(Float_t phi) {fUnitPhi = phi;} | |
8838ab7a | 50 | void SetUnitPx(Float_t px) {fUnitPx = px;} |
51 | void SetUnitPy(Float_t py) {fUnitPy = py;} | |
52 | void SetUnitPz(Float_t pz) {fUnitPz = pz;} | |
4a01bb2c | 53 | void SetUnitDeta(Float_t deta) {fUnitDeta = deta;} |
54 | void SetUnitDphi(Float_t dphi) {fUnitDphi = dphi;} | |
55 | void SetUnitID(Int_t id) {fUnitID = id;} | |
ee7de0dd | 56 | void SetUnitTrackID(Int_t esdid) {fUnitTrackID = esdid;} |
4a01bb2c | 57 | void SetUnitEntries(Int_t num) {fUnitNum = num;} |
58 | void SetUnitClusterID(Int_t id) {fUnitClusterID = id;} | |
59 | void SetUnitFlag(AliJetFinderUnitFlagType_t flag) | |
60 | { | |
61 | fUnitFlag = flag; | |
62 | } | |
63 | void SetUnitCutFlag(AliJetFinderUnitCutFlagType_t cutFlag) | |
64 | { | |
65 | fUnitCutFlag = cutFlag; | |
66 | } | |
8838ab7a | 67 | void SetUnitCutFlag2(AliJetFinderUnitCutFlagType_t cutFlag) |
68 | { | |
69 | fUnitCutFlag2 = cutFlag; | |
70 | } | |
4a01bb2c | 71 | void SetUnitSignalFlag(AliJetFinderUnitSignalFlagType_t signalFlag) |
72 | { | |
73 | fUnitSignalFlag = signalFlag; | |
74 | } | |
75 | void SetUnitDetectorFlag(AliJetFinderUnitDetectorFlagType_t detectorflag) | |
76 | { | |
77 | fUnitDetectorFlag = detectorflag; | |
78 | } | |
8838ab7a | 79 | void SetUnitSignalFlagC(Bool_t init, AliJetFinderUnitSignalFlagType_t flag); |
80 | void SetUnitSignalFlagN(Bool_t init, AliJetFinderUnitSignalFlagType_t flag); | |
ee7de0dd | 81 | void SetUnitMass(Float_t mass) {fUnitMass = mass;} |
be6e5811 | 82 | void SetUnitTrackRef(TRefArray* trackref) {fUnitTrackRef = trackref;} |
83 | void SetUnitCellRef(TRefArray* cellref) {fUnitCellRef = cellref;} | |
84 | void SetUnitClusterRef(TRefArray* clusterref) {fUnitClusterRef = clusterref;} | |
4a01bb2c | 85 | |
86 | // Getter | |
be6e5811 | 87 | Float_t GetUnitEnergy() const {return fUnitEnergy;} |
88 | Float_t GetUnitEta() const {return fUnitEta;} | |
89 | Float_t GetUnitPhi() const {return fUnitPhi;} | |
90 | Float_t GetUnitPx() const {return fUnitPx;} | |
91 | Float_t GetUnitPy() const {return fUnitPy;} | |
92 | Float_t GetUnitPz() const {return fUnitPz;} | |
93 | Float_t GetUnitDeta() const {return fUnitDeta;} | |
94 | Float_t GetUnitDphi() const {return fUnitDphi;} | |
95 | Int_t GetUnitID() const {return fUnitID;} | |
96 | Int_t GetUnitTrackID() const {return fUnitTrackID;} | |
97 | Int_t GetUnitEntries() const {return fUnitNum;} | |
98 | Int_t GetUnitClusterID() const {return fUnitClusterID;} | |
99 | Float_t GetUnitMass() const {return fUnitMass;} | |
100 | Bool_t GetUnitSignalFlagC(Int_t ind, AliJetFinderUnitSignalFlagType_t &flagc); | |
101 | Bool_t GetUnitSignalFlagN(Int_t ind, AliJetFinderUnitSignalFlagType_t &flagn); | |
102 | TRefArray* GetUnitTrackRef() const {return fUnitTrackRef;} | |
103 | TRefArray* GetUnitCellRef() const {return fUnitCellRef;} | |
104 | TRefArray* GetUnitClusterRef() const {return fUnitClusterRef;} | |
105 | ||
106 | Float_t EtaToTheta(Float_t arg) const; | |
107 | void ClearUnitTrackRef(); | |
108 | void ClearUnitCellRef(); | |
ee7de0dd | 109 | |
4a01bb2c | 110 | AliJetFinderUnitFlagType_t GetUnitFlag() const |
111 | { | |
112 | return fUnitFlag; | |
113 | } | |
114 | AliJetFinderUnitCutFlagType_t GetUnitCutFlag() const | |
115 | { | |
116 | return fUnitCutFlag; | |
117 | } | |
8838ab7a | 118 | AliJetFinderUnitCutFlagType_t GetUnitCutFlag2() const |
119 | { | |
120 | return fUnitCutFlag2; | |
121 | } | |
4a01bb2c | 122 | AliJetFinderUnitSignalFlagType_t GetUnitSignalFlag() const |
123 | { | |
124 | return fUnitSignalFlag; | |
125 | } | |
126 | AliJetFinderUnitDetectorFlagType_t GetUnitDetectorFlag() const | |
127 | { | |
128 | return fUnitDetectorFlag; | |
129 | } | |
130 | ||
4a01bb2c | 131 | protected: |
be6e5811 | 132 | AliJetUnitArray(const AliJetUnitArray& rUnit); |
133 | AliJetUnitArray& operator = (const AliJetUnitArray& rhs); | |
8838ab7a | 134 | Bool_t operator> ( AliJetUnitArray unit1) const; |
135 | Bool_t operator< ( AliJetUnitArray unit1) const; | |
136 | Bool_t operator== ( AliJetUnitArray unit1) const; | |
137 | ||
138 | Float_t fUnitEnergy; // Energy (Pt,et) of the unit | |
139 | Float_t fUnitEta; // Eta of the unit | |
140 | Float_t fUnitPhi; // Phi of the unit | |
141 | Float_t fUnitDeta; // Delta Eta of the unit | |
142 | Float_t fUnitDphi; // Delta Phi of the unit | |
143 | Int_t fUnitID; // ID of the unit | |
144 | Int_t fUnitTrackID; // ID of a given charged track | |
145 | Int_t fUnitNum; // Number of units | |
146 | Int_t fUnitClusterID; // ID for clusters | |
ee7de0dd | 147 | AliJetFinderUnitFlagType_t fUnitFlag; // Flag of the unit |
8838ab7a | 148 | AliJetFinderUnitCutFlagType_t fUnitCutFlag; // Cut flag of the unit in the tpc |
149 | AliJetFinderUnitCutFlagType_t fUnitCutFlag2; // Cut flag of the unit in the emcal | |
150 | AliJetFinderUnitSignalFlagType_t fUnitSignalFlag; // Signal flag of the unit | |
ee7de0dd | 151 | AliJetFinderUnitDetectorFlagType_t fUnitDetectorFlag; // Detector flag of the unit |
8838ab7a | 152 | Float_t fUnitPx; // Px of charged track |
153 | Float_t fUnitPy; // Py of charged track | |
154 | Float_t fUnitPz; // Pz of charged track | |
155 | Float_t fUnitMass; // Mass of particle | |
8838ab7a | 156 | vector< AliJetFinderUnitSignalFlagType_t > fVc; //|| added for background studies |
157 | vector< AliJetFinderUnitSignalFlagType_t > fVn; //|| added for background studies | |
be6e5811 | 158 | TRefArray* fUnitTrackRef; //! pointer to array of references to esd tracks |
159 | TRefArray* fUnitCellRef; //! pointer to array of references to esd cells | |
160 | TRefArray* fUnitClusterRef; //! pointer to array of references to esd clusters | |
a1fa3a77 | 161 | |
ee7de0dd | 162 | ClassDef(AliJetUnitArray,1) |
8838ab7a | 163 | |
4a01bb2c | 164 | }; |
165 | ||
166 | #endif | |
167 |