09-jul-2001 NvE Support for impact points and user identifier introduced in AliTrack.
[u/mrichter/AliRoot.git] / RALICE / AliJet.h
CommitLineData
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
17class 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)
43bfa5be 36 AliTrack* GetIdTrack(Int_t id); // Provide the track with user identifier "id"
d071d629 37 Double_t GetPt(); // Provide trans. momentum w.r.t. z-axis
38 Double_t GetPl(); // Provide long. momentum w.r.t. z-axis
39 Double_t GetEt(); // Provide trans. energy w.r.t. z-axis
40 Double_t GetEl(); // Provide long. energy w.r.t. z-axis
41 Double_t GetMt(); // Provide trans. mass w.r.t. z-axis
8adaf597 42 Double_t GetRapidity(); // Provide rapidity value w.r.t. z-axis
c1f25d1d 43 void SetTrackCopy(Int_t j); // (De)activate creation of private copies in fTracks
44 Int_t GetTrackCopy(); // Provide TrackCopy flag value
43bfa5be 45 void SetId(Int_t id); // Set the user defined identifier
46 Int_t GetId(); // Provide the user defined identifier
d88f97cc 47
48 protected:
49 void SetNtinit(Int_t n=2); // Set the initial max. number of tracks for this Jet
50 Int_t fNtinit; // The initial max. number of tracks for this jet
51 Int_t fNtmax; // The maximum number of tracks for this Jet
52 Float_t fQ; // The total charge of the jet
53 Int_t fNtrk; // The number of tracks in the jet
54 TObjArray* fTracks; // Array to hold the pointers to the tracks of the jet
c1f25d1d 55 Int_t fTrackCopy; // Flag to denote creation of private copies in fTracks
43bfa5be 56 Int_t fUserId; // The user defined identifier
d88f97cc 57
959fbac5 58 ClassDef(AliJet,1) // Creation and investigation of a jet of particle tracks.
d88f97cc 59};
60#endif