Updates provided by Magali Estienne
[u/mrichter/AliRoot.git] / JETAN / AliJet.h
CommitLineData
99e5fe42 1#ifndef ALIJET_H
2#define ALIJET_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8838ab7a 6
99e5fe42 7
8//---------------------------------------------------------------------
9// Jet class
10// Stores the output of a jet algorithm
11// Author: jgcn@mda.cinvestav.mx
12//---------------------------------------------------------------------
8838ab7a 13
14#include <Riostream.h>
99e5fe42 15
16#include <TObject.h>
17#include <TArrayI.h>
365b766d 18#include <TArrayF.h>
be6e5811 19#include <TRefArray.h>
99e5fe42 20
21class TClonesArray;
22class TLorentzVector;
23
24class AliJet : public TObject
25{
26 public:
27
28 AliJet();
29 ~AliJet();
30
31 // Getters
8838ab7a 32 Int_t GetNinput() const { return fNInput; }
33 Int_t GetNJets() const {return fNJets;}
99e5fe42 34 TClonesArray* GetJets() const {return fJets;}
8838ab7a 35 TArrayI GetInJet() const {return fInJet;}
36 TArrayI GetMultiplicities() const {return fMultiplicities;}
37 TArrayI GetNCells() const {return fNCells;}
38 TArrayF GetPtFromSignal() const {return fPtFromSignal;}
39 TArrayF GetEtaIn() const { return fEtaIn; }
40 TArrayF GetPhiIn() const { return fPhiIn; }
41 TArrayF GetPtIn() const { return fPtIn; }
42 TArrayF GetPtChargedPtCutIn() const { return fPtChPtCutIn; }
43 TArrayF GetEnTotChargedPtCutIn() const {return fEnTotChPtCutIn; }
be6e5811 44 TRefArray* GetTrackRef() const { return fTrackRef;}
8838ab7a 45 TArrayI GetDetectorFlagIn() const { return fDetIn; }
46 Double_t GetEtAvg() const { return fEtAvg; }
99e5fe42 47
48 TLorentzVector* GetJet(Int_t i);
8838ab7a 49 Int_t GetMultiplicity(Int_t i) const;
50 Int_t GetNCell(Int_t i) const;
99e5fe42 51 Double_t GetPx(Int_t i);
52 Double_t GetPy(Int_t i);
53 Double_t GetPz(Int_t i);
54 Double_t GetP(Int_t i);
55 Double_t GetE(Int_t i);
56 Double_t GetPt(Int_t i);
57 Double_t GetEta(Int_t i);
58 Double_t GetPhi(Int_t i);
59 Double_t GetTheta(Int_t i);
60 Double_t GetMass(Int_t i);
61
62 // Setters
63 void SetNinput(Int_t i) {fNInput = i;}
64 void AddJet(Double_t px, Double_t py, Double_t pz, Double_t e);
99e5fe42 65 void SetMultiplicities(Int_t* m);
83a444b1 66 void SetNCells(Int_t* n);
365b766d 67 void SetPtFromSignal(Float_t* p);
83a444b1 68 void SetEtaIn(Float_t* eta);
69 void SetPhiIn(Float_t* phi);
70 void SetPtIn(Float_t* pt);
71 void SetInJet(Int_t* idx);
8838ab7a 72 void SetPtChargedPtCutIn(Float_t* pt2T);
73 void SetEnTotChargedPtCutIn(Float_t* en2T);
be6e5811 74 void SetTrackReferences(TRefArray* ref) {fTrackRef = ref;}
8838ab7a 75 void SetDetectorFlagIn(Int_t* detT);
83a444b1 76 void SetEtAvg(Double_t et) { fEtAvg = et; }
99e5fe42 77 // others
78 Bool_t OutOfRange(Int_t i, const char *s) const;
79 void ClearJets(Option_t *option="");
80 void PrintJets();
81
82 protected:
83
1b7d5d7e 84 AliJet(const AliJet& rJet);
85 AliJet& operator = (const AliJet& rhs);
86
8838ab7a 87 Int_t fNInput; // number of input objects
88 Int_t fNJets; // number of jets found
89 Double_t fEtAvg; // average background et per cell
90
91 TArrayI fInJet; // i-input object belongs to k-jet
92 TArrayI fMultiplicities; // Multiplicity of each jet
93 TArrayI fNCells; // Number of cells in jet
94 TArrayF fPtFromSignal; // percentage of pt from signal
95 TClonesArray* fJets; // 4-momenta of jets
83a444b1 96
8838ab7a 97 TArrayF fEtaIn; // Arrays of input particles kine:Eta
98 TArrayF fPhiIn; // Arrays of input particles kine:Phi
99 TArrayF fPtIn; // Arrays of input particles kine:Pt
100 TArrayF fPtChPtCutIn; // Arrays of input particles kin:Pt Charged with pt cut
101 TArrayF fEnTotChPtCutIn; // Arrays of total energy with pt cut on charged + cut min on cell
8838ab7a 102 TArrayI fDetIn; // Arrays of detector type of each UnitArray
be6e5811 103 TRefArray* fTrackRef; //|| Reference to tracks which could belongs to the jet
99e5fe42 104
8838ab7a 105 ClassDef(AliJet,2)
99e5fe42 106};
107
108#endif