PPR version of the JETAN code (M. Lopez Noriega)
[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 */
6
7
8//---------------------------------------------------------------------
9// Jet class
10// Stores the output of a jet algorithm
11// Author: jgcn@mda.cinvestav.mx
12//---------------------------------------------------------------------
13
14#include <TObject.h>
15#include <TArrayI.h>
365b766d 16#include <TArrayF.h>
99e5fe42 17
18class TClonesArray;
19class TLorentzVector;
20
21class AliJet : public TObject
22{
23 public:
24
25 AliJet();
26 ~AliJet();
27
28 // Getters
29 Int_t GetNinput() const { return fNInput; }
30 Int_t GetNJets() const {return fNJets;}
31 TClonesArray* GetJets() const {return fJets;}
32 TArrayI GetInJet() const {return fInJet;}
33 TArrayI GetMultiplicities() const {return fMultiplicities;}
83a444b1 34 TArrayI GetNCells() const {return fNCells;}
365b766d 35 TArrayF GetPtFromSignal() const {return fPtFromSignal;}
83a444b1 36 TArrayF GetEtaIn() const { return fEtaIn; }
37 TArrayF GetPhiIn() const { return fPhiIn; }
38 TArrayF GetPtIn() const { return fPtIn; }
39 Double_t GetEtAvg() const { return fEtAvg; }
99e5fe42 40
41 TLorentzVector* GetJet(Int_t i);
83a444b1 42 Int_t GetMultiplicity(Int_t i) const;
43 Int_t GetNCell(Int_t i) const;
99e5fe42 44 Double_t GetPx(Int_t i);
45 Double_t GetPy(Int_t i);
46 Double_t GetPz(Int_t i);
47 Double_t GetP(Int_t i);
48 Double_t GetE(Int_t i);
49 Double_t GetPt(Int_t i);
50 Double_t GetEta(Int_t i);
51 Double_t GetPhi(Int_t i);
52 Double_t GetTheta(Int_t i);
53 Double_t GetMass(Int_t i);
54
55 // Setters
56 void SetNinput(Int_t i) {fNInput = i;}
57 void AddJet(Double_t px, Double_t py, Double_t pz, Double_t e);
99e5fe42 58 void SetMultiplicities(Int_t* m);
83a444b1 59 void SetNCells(Int_t* n);
365b766d 60 void SetPtFromSignal(Float_t* p);
83a444b1 61 void SetEtaIn(Float_t* eta);
62 void SetPhiIn(Float_t* phi);
63 void SetPtIn(Float_t* pt);
64 void SetInJet(Int_t* idx);
65 void SetEtAvg(Double_t et) { fEtAvg = et; }
66
99e5fe42 67 // others
68 Bool_t OutOfRange(Int_t i, const char *s) const;
69 void ClearJets(Option_t *option="");
70 void PrintJets();
71
72 protected:
73
74 Int_t fNInput; // number of input objects
75 Int_t fNJets; // number of jets found
83a444b1 76 Double_t fEtAvg; // average background et per cell
77
99e5fe42 78 TArrayI fInJet; // i-input object belongs to k-jet
79 TArrayI fMultiplicities; // Multiplicity of each jet
83a444b1 80 TArrayI fNCells; // Number of cells in jet
365b766d 81 TArrayF fPtFromSignal; // percentage of pt from signal
99e5fe42 82 TClonesArray* fJets; // 4-momenta of jets
83
83a444b1 84 TArrayF fEtaIn; // Arrays of input particles kine:Eta
85 TArrayF fPhiIn; // Arrays of input particles kine:Phi
86 TArrayF fPtIn; // Arrays of input particles kine:Pt
87
99e5fe42 88 ClassDef(AliJet,1)
89};
90
91#endif