]>
Commit | Line | Data |
---|---|---|
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 | |
d88f97cc | 8 | #include <math.h> |
9 | ||
387a745b | 10 | #include "TNamed.h" |
d88f97cc | 11 | #include "TObjArray.h" |
12 | ||
13 | #include "Ali4Vector.h" | |
14 | #include "AliTrack.h" | |
15 | ||
387a745b | 16 | class AliJet : public TNamed,public Ali4Vector |
d88f97cc | 17 | { |
18 | public: | |
1c01b4f8 | 19 | AliJet(); // Default constructor |
20 | AliJet(Int_t n); // Create a Jet to hold initially n Tracks | |
21 | virtual ~AliJet(); // Default destructor | |
22 | AliJet(AliJet& j); // Copy constructor | |
4bb13277 | 23 | virtual TObject* Clone(const char* name=""); // Make a deep copy and provide its pointer |
1c01b4f8 | 24 | virtual void SetOwner(Bool_t own=kTRUE); // Set ownership of all added objects |
25 | virtual void Reset(); // Reset all values | |
26 | void AddTrack(AliTrack& t); // Add a track to the jet | |
1fbffa23 | 27 | void AddTrack(AliTrack* t) { AddTrack(*t); } |
1c01b4f8 | 28 | virtual void Data(TString f="car"); // Print jet information in coordinate frame f |
29 | virtual void List(TString f="car"); // Print jet prim. track information for coord. frame f | |
30 | virtual void ListAll(TString f="car"); // Print jet prim. and decay track information for coord. frame f | |
31 | Double_t GetEnergy(); // Provide the total jet energy | |
32 | Double_t GetMomentum(); // Provide the value of the total jet 3-momentum | |
33 | Ali3Vector Get3Momentum(); // Provide the total jet 3-momentum | |
34 | Double_t GetInvmass(); // Provide the invariant mass | |
35 | Float_t GetCharge(); // Provide the total charge of the jet | |
36 | Int_t GetNtracks(); // Return the number of tracks in the jet | |
37 | AliTrack* GetTrack(Int_t i); // Provide i-th track of the jet (1=first track) | |
38 | AliTrack* GetIdTrack(Int_t id); // Provide the track with user identifier "id" | |
39 | Double_t GetPt(); // Provide trans. momentum w.r.t. z-axis | |
40 | Double_t GetPl(); // Provide long. momentum w.r.t. z-axis | |
41 | Double_t GetEt(); // Provide trans. energy w.r.t. z-axis | |
42 | Double_t GetEl(); // Provide long. energy w.r.t. z-axis | |
43 | Double_t GetMt(); // Provide trans. mass w.r.t. z-axis | |
44 | Double_t GetRapidity(); // Provide rapidity value w.r.t. z-axis | |
45 | void SetTrackCopy(Int_t j); // (De)activate creation of private copies in fTracks | |
46 | Int_t GetTrackCopy(); // Provide TrackCopy flag value | |
47 | void SetId(Int_t id); // Set the user defined identifier | |
48 | Int_t GetId(); // Provide the user defined identifier | |
d88f97cc | 49 | |
50 | protected: | |
1fbffa23 | 51 | void Init(); // Initialisation of pointers etc... |
52 | void SetNtinit(Int_t n=2); // Set the initial max. number of tracks for this Jet | |
53 | void AddTrack(AliTrack& t,Int_t copy); // Internal memberfunction to add a track to the jet | |
54 | void AddTrack(AliTrack* t,Int_t copy) { AddTrack(*t,copy); } | |
55 | Int_t fNtinit; // The initial max. number of tracks for this jet | |
56 | Int_t fNtmax; // The maximum number of tracks for this Jet | |
57 | Float_t fQ; // The total charge of the jet | |
58 | Int_t fNtrk; // The number of tracks in the jet | |
59 | TObjArray* fTracks; // Array to hold the pointers to the tracks of the jet | |
60 | Int_t fTrackCopy; // Flag to denote creation of private copies in fTracks | |
61 | Int_t fUserId; // The user defined identifier | |
d88f97cc | 62 | |
4bb13277 | 63 | ClassDef(AliJet,8) // Creation and investigation of a jet of particle tracks. |
d88f97cc | 64 | }; |
65 | #endif |