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