- Changed module names to be the same as the libraries names;
[u/mrichter/AliRoot.git] / JETAN / AliJet.h
index d4e55cc..84fb508 100644 (file)
@@ -1,64 +1,95 @@
 #ifndef ALIJET_H
 #define ALIJET_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 
-/* $Id$ */
-
-///////////////////////////////////////////////////////////////////
-//
-// class AliJet
-//
-// loizides@ikf.uni-frankfurt.de
-//
-///////////////////////////////////////////////////////////////////
-
+/* $Id$ */ 
+//---------------------------------------------------------------------
+// Jet class 
+// Stores the output of a jet algorithm
+// Author: jgcn@mda.cinvestav.mx
+//---------------------------------------------------------------------
 #include <TObject.h>
-#include <TClonesArray.h>
-#include <TObjString.h>
-#include <TString.h>
-class TParticle;
-class AliJetParticle;
+#include <TArrayI.h>
+#include <TArrayF.h>
 
-class AliJet: public TObject
+class TClonesArray;
+class TLorentzVector;
+class AliJet : public TObject
 {
-  public:
-#if 0
-  AliJetEvent(Int_t size=1000);
-  AliJetEvent(const AliJetEvent& source);
-  virtual ~AliJetEvent();
-    
-  void SetVertex(Float_t v[3]){fVertexX=v[0];fVertexY=v[1];fVertexZ=v[2];}
-  void SetVertex(Float_t v1,Float_t v2, Float_t v3){fVertexX=v1;fVertexY=v2;fVertexZ=v3;}
-  void SetHeader(TString& s){fHeader=s;}
-  void Reset(Int_t size=-1); //deletes all entries
+ public:
+  AliJet();
+  ~AliJet();
+
+  // Getters
+  Int_t GetNinput() const {return fNInput;}
+  Int_t GetNJets() const {return fNJets;}
+  TClonesArray* GetJets() const {return fJets;}
+  TArrayI GetInJet() const {return fInJet;}
+  TArrayI GetMultiplicities() const {return fMultiplicities;}
+  TArrayI GetNCells() const {return fNCells;}
+  TArrayF GetPtFromSignal() const {return fPtFromSignal;}
+  TArrayF GetEtaIn() const {return fEtaIn;}
+  TArrayF GetPhiIn() const {return fPhiIn;}
+  TArrayF GetPtIn() const {return fPtIn;}
+  Double_t GetEtAvg() const {return fEtAvg;}
+
+  TLorentzVector* GetJet(Int_t i);
+  Int_t GetMultiplicity(Int_t i) const;
+  Int_t GetNCell(Int_t i) const;
+  Double_t GetPx(Int_t i);
+  Double_t GetPy(Int_t i);
+  Double_t GetPz(Int_t i);
+  Double_t GetP(Int_t i);
+  Double_t GetE(Int_t i);
+  Double_t GetPt(Int_t i);
+  Double_t GetEta(Int_t i);
+  Double_t GetPhi(Int_t i);
+  Double_t GetTheta(Int_t i);
+  Double_t GetMass(Int_t i);
+   
+  // Setters
+  void SetNinput(Int_t i) {fNInput = i;}
+  void AddJet(Double_t px, Double_t py, Double_t pz, Double_t e);
+  void SetMultiplicities(Int_t* m);
+  void SetNCells(Int_t* n);
+  void SetPtFromSignal(Float_t* p);
+  void SetEtaIn(Float_t* eta);
+  void SetPhiIn(Float_t* phi);
+  void SetPtIn(Float_t* pt);
+  void SetInJet(Int_t* idx);
+  void SetEtAvg(Double_t et) { fEtAvg = et; }
   
-  //adds particle to the event
-  void AddParticle(AliJetParticle* p);  
-  void AddParticle(const AliJetParticle* p); 
-  void AddParticle(const TParticle* part,Int_t idx=-1, Int_t l=0); 
-  void AddParticle(Float_t px, Float_t py, Float_t pz, Float_t etot, Int_t idx=-1, Int_t l=0);
-  void AddParticle(Float_t px, Float_t py, Float_t pz, Float_t etot, Int_t idx, Int_t l,
-                  Float_t pt, Float_t phi, Float_t eta);
+  // others
+  Bool_t OutOfRange(Int_t i, const char *s) const;
+  void ClearJets(Option_t *option="");
+  void PrintJets();
 
-  const AliJetParticle* GetParticle(Int_t n) //gets particle without boundary check
-    {return (const AliJetParticle*)fParticles->At(n);} 
-  const AliJetParticle* GetParticleSafely(Int_t n); 
-  Int_t GetNParticles()              const {return fNParticles;}
-  const TClonesArray* GetParticles() const {return fParticles;}
-  Float_t GetVertexX()               const {return fVertexX;}  
-  Float_t GetVertexY()               const {return fVertexY;}  
-  Float_t GetVertexZ()               const {return fVertexZ;}  
+ protected:
 
-  void Print(Option_t *t="") const;
+  AliJet(const AliJet& rJet);
+  AliJet& operator = (const AliJet& rhs);
 
-  protected:
-  TString fHeader;          //   event description
-  Int_t fNParticles;        //   number of particles read
-  TClonesArray *fParticles; //-> particles in event
+  Int_t fNInput;               // number of input objects
+  Int_t fNJets;                // number of jets found
+  Double_t fEtAvg;             // average background et per cell
 
-  Float_t fVertexX; //vertex x
-  Float_t fVertexY; //vertex y
-  Float_t fVertexZ; //vertex z
-#endif
-  ClassDef(AliJet,1) //class AliJet
+  TArrayI fInJet;              // i-input object belongs to k-jet 
+  TArrayI fMultiplicities;     // Multiplicity of each jet
+  TArrayI fNCells;             // Number of cells in jet
+  TArrayF fPtFromSignal;       // percentage of pt from signal
+  TClonesArray* fJets;         // 4-momenta of jets
+
+  TArrayF fEtaIn;              // Arrays of input particles kine:Eta
+  TArrayF fPhiIn;              // Arrays of input particles kine:Phi
+  TArrayF fPtIn;               // Arrays of input particles kine:Pt
+  
+  ClassDef(AliJet,1)
 };
 #endif