d88f97cc |
1 | #ifndef ALIJET_H |
2 | #define ALIJET_H |
3da30618 |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
f531a546 |
6 | // $Id$ |
d88f97cc |
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 |
f531a546 |
24 | virtual void AddTrack(AliTrack& t);// Add a track to the jet |
25 | virtual void AddTrack(AliTrack* t) { AddTrack(*t); } |
d88f97cc |
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) |
d071d629 |
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 |
8adaf597 |
41 | Double_t GetRapidity(); // Provide rapidity value w.r.t. z-axis |
c1f25d1d |
42 | void SetTrackCopy(Int_t j); // (De)activate creation of private copies in fTracks |
43 | Int_t GetTrackCopy(); // Provide TrackCopy flag value |
d88f97cc |
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 |
c1f25d1d |
52 | Int_t fTrackCopy; // Flag to denote creation of private copies in fTracks |
d88f97cc |
53 | |
959fbac5 |
54 | ClassDef(AliJet,1) // Creation and investigation of a jet of particle tracks. |
d88f97cc |
55 | }; |
56 | #endif |