| 1 | #ifndef ALIJET_H |
| 2 | #define ALIJET_H |
| 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
| 4 | * See cxx source for full Copyright notice */ |
| 5 | |
| 6 | // $Id$ |
| 7 | |
| 8 | #include <iostream.h> |
| 9 | #include <math.h> |
| 10 | |
| 11 | #include "TObject.h" |
| 12 | #include "TObjArray.h" |
| 13 | |
| 14 | #include "Ali4Vector.h" |
| 15 | #include "AliTrack.h" |
| 16 | |
| 17 | class AliJet : public TObject,public Ali4Vector |
| 18 | { |
| 19 | public: |
| 20 | AliJet(); // Default constructor |
| 21 | AliJet(Int_t n); // Create a Jet to hold initially n Tracks |
| 22 | ~AliJet(); // Default destructor |
| 23 | void Reset(); // Reset all values |
| 24 | virtual void AddTrack(AliTrack& t);// Add a track to the jet |
| 25 | virtual void AddTrack(AliTrack* t) { AddTrack(*t); } |
| 26 | void Info(TString f); // Print jet information in coordinate frame f |
| 27 | void List(TString f="car"); // Print jet prim. track information for coord. frame f |
| 28 | void ListAll(TString f="car"); // Print jet prim. and decay track information for coord. frame f |
| 29 | Double_t GetEnergy(); // Provide the total jet energy |
| 30 | Double_t GetMomentum(); // Provide the value of the total jet 3-momentum |
| 31 | Ali3Vector Get3Momentum(); // Provide the total jet 3-momentum |
| 32 | Double_t GetInvmass(); // Provide the invariant mass |
| 33 | Float_t GetCharge(); // Provide the total charge of the jet |
| 34 | Int_t GetNtracks(); // Return the number of tracks in the jet |
| 35 | AliTrack* GetTrack(Int_t i); // Provide i-th track of the jet (1=first track) |
| 36 | Double_t GetPt(); // Provide trans. momentum w.r.t. z-axis |
| 37 | Double_t GetPl(); // Provide long. momentum w.r.t. z-axis |
| 38 | Double_t GetEt(); // Provide trans. energy w.r.t. z-axis |
| 39 | Double_t GetEl(); // Provide long. energy w.r.t. z-axis |
| 40 | Double_t GetMt(); // Provide trans. mass w.r.t. z-axis |
| 41 | Double_t GetRapidity(); // Provide rapidity value w.r.t. z-axis |
| 42 | void SetTrackCopy(Int_t j); // (De)activate creation of private copies in fTracks |
| 43 | Int_t GetTrackCopy(); // Provide TrackCopy flag value |
| 44 | |
| 45 | protected: |
| 46 | void SetNtinit(Int_t n=2); // Set the initial max. number of tracks for this Jet |
| 47 | Int_t fNtinit; // The initial max. number of tracks for this jet |
| 48 | Int_t fNtmax; // The maximum number of tracks for this Jet |
| 49 | Float_t fQ; // The total charge of the jet |
| 50 | Int_t fNtrk; // The number of tracks in the jet |
| 51 | TObjArray* fTracks; // Array to hold the pointers to the tracks of the jet |
| 52 | Int_t fTrackCopy; // Flag to denote creation of private copies in fTracks |
| 53 | |
| 54 | ClassDef(AliJet,1) // Creation and investigation of a jet of particle tracks. |
| 55 | }; |
| 56 | #endif |