4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8 //---------------------------------------------------------------------
10 // Stores the output of a jet algorithm
11 // Author: jgcn@mda.cinvestav.mx
12 //---------------------------------------------------------------------
14 #include <Riostream.h>
24 class AliJet : public TObject
32 Int_t GetNinput() const { return fNInput; }
33 Int_t GetNJets() const {return fNJets;}
34 TClonesArray* GetJets() const {return fJets;}
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; }
44 TArrayI GetVectorSizeIn() const { return fVectorSizeIn; }
45 vector< vector<Float_t> > GetVectorPxIn() const { return fVPx; }
46 vector< vector<Float_t> > GetVectorPyIn() const { return fVPy; }
47 vector< vector<Float_t> > GetVectorPzIn() const { return fVPz; }
48 TArrayI GetDetectorFlagIn() const { return fDetIn; }
49 Double_t GetEtAvg() const { return fEtAvg; }
51 TLorentzVector* GetJet(Int_t i);
52 Int_t GetMultiplicity(Int_t i) const;
53 Int_t GetNCell(Int_t i) const;
54 Double_t GetPx(Int_t i);
55 Double_t GetPy(Int_t i);
56 Double_t GetPz(Int_t i);
57 Double_t GetP(Int_t i);
58 Double_t GetE(Int_t i);
59 Double_t GetPt(Int_t i);
60 Double_t GetEta(Int_t i);
61 Double_t GetPhi(Int_t i);
62 Double_t GetTheta(Int_t i);
63 Double_t GetMass(Int_t i);
66 void SetNinput(Int_t i) {fNInput = i;}
67 void AddJet(Double_t px, Double_t py, Double_t pz, Double_t e);
68 void SetMultiplicities(Int_t* m);
69 void SetNCells(Int_t* n);
70 void SetPtFromSignal(Float_t* p);
71 void SetEtaIn(Float_t* eta);
72 void SetPhiIn(Float_t* phi);
73 void SetPtIn(Float_t* pt);
74 void SetInJet(Int_t* idx);
75 void SetPtChargedPtCutIn(Float_t* pt2T);
76 void SetEnTotChargedPtCutIn(Float_t* en2T);
77 void SetVectorSizeIn(Int_t* vectT);
78 void SetVectorPxIn(vector< vector<Float_t> > pxT);
79 void SetVectorPyIn(vector< vector<Float_t> > pyT);
80 void SetVectorPzIn(vector< vector<Float_t> > pzT);
81 void SetDetectorFlagIn(Int_t* detT);
82 void SetEtAvg(Double_t et) { fEtAvg = et; }
84 Bool_t OutOfRange(Int_t i, const char *s) const;
85 void ClearJets(Option_t *option="");
90 AliJet(const AliJet& rJet);
91 AliJet& operator = (const AliJet& rhs);
93 Int_t fNInput; // number of input objects
94 Int_t fNJets; // number of jets found
95 Double_t fEtAvg; // average background et per cell
97 TArrayI fInJet; // i-input object belongs to k-jet
98 TArrayI fMultiplicities; // Multiplicity of each jet
99 TArrayI fNCells; // Number of cells in jet
100 TArrayF fPtFromSignal; // percentage of pt from signal
101 TClonesArray* fJets; // 4-momenta of jets
103 TArrayF fEtaIn; // Arrays of input particles kine:Eta
104 TArrayF fPhiIn; // Arrays of input particles kine:Phi
105 TArrayF fPtIn; // Arrays of input particles kine:Pt
106 TArrayF fPtChPtCutIn; // Arrays of input particles kin:Pt Charged with pt cut
107 TArrayF fEnTotChPtCutIn; // Arrays of total energy with pt cut on charged + cut min on cell
108 TArrayI fVectorSizeIn; // Arrays of number of charged tracks in each unitArray
109 TArrayI fDetIn; // Arrays of detector type of each UnitArray
110 vector< vector<Float_t> > fVPx; //||
111 vector< vector<Float_t> > fVPy; //||
112 vector< vector<Float_t> > fVPz; //||