]> git.uio.no Git - u/mrichter/AliRoot.git/blame - JETAN/AliJetUnitArray.h
fill average trials in a separeted histo
[u/mrichter/AliRoot.git] / JETAN / AliJetUnitArray.h
CommitLineData
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 31class TList;
32class TVector3;
33
3a7af7bd 34using std::vector;
35
4a01bb2c 36class 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