]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RALICE/AliJet.h
Suppressed FTOS/frame overlap (A.Morsch)
[u/mrichter/AliRoot.git] / RALICE / AliJet.h
index 8f6f87b93e86b9a8b1ab2b357868c4cdce580e4d..aed1386f72928207e6f5fa6781c08117c74631c0 100644 (file)
@@ -19,33 +19,51 @@ class AliJet : public TNamed,public Ali4Vector
   AliJet();                                // Default constructor
   AliJet(Int_t n);                         // Create a Jet to hold initially n Tracks
   virtual ~AliJet();                       // Default destructor
-  AliJet(AliJet& j);                       // Copy constructor
-  virtual TObject* Clone(const char* name="");   // Make a deep copy and provide its pointer
+  AliJet(const AliJet& j);                 // Copy constructor
+  virtual TObject* Clone(const char* name="") const; // Make a deep copy and provide its pointer
   virtual void SetOwner(Bool_t own=kTRUE); // Set ownership of all added objects
   virtual void Reset();                    // Reset all values
   void AddTrack(AliTrack& t);              // Add a track to the jet
   void AddTrack(AliTrack* t) { AddTrack(*t); }
-  virtual void Data(TString f="car");      // Print jet information in coordinate frame f 
-  virtual void List(TString f="car");      // Print jet prim. track information for coord. frame f
-  virtual void ListAll(TString f="car");   // Print jet prim. and decay track information for coord. frame f
-  Double_t GetEnergy();                    // Provide the total jet energy
-  Double_t GetMomentum();                  // Provide the value of the total jet 3-momentum
-  Ali3Vector Get3Momentum();               // Provide the total jet 3-momentum
-  Double_t GetInvmass();                   // Provide the invariant mass  
-  Float_t GetCharge();                     // Provide the total charge of the jet
-  Int_t GetNtracks();                      // Return the number of tracks in the jet
-  AliTrack* GetTrack(Int_t i);             // Provide i-th track of the jet (1=first track)
-  AliTrack* GetIdTrack(Int_t id);          // Provide the track with user identifier "id"
-  Double_t GetPt();                        // Provide trans. momentum w.r.t. z-axis
-  Double_t GetPl();                        // Provide long. momentum w.r.t. z-axis
-  Double_t GetEt();                        // Provide trans. energy w.r.t. z-axis
-  Double_t GetEl();                        // Provide long. energy w.r.t. z-axis
-  Double_t GetMt();                        // Provide trans. mass w.r.t. z-axis
+  virtual void Data(TString f="car",TString u="rad"); // Print jet information in frame f and ang units u 
+  virtual void List(TString f="car",TString u="rad"); // Jet prim. track info for frame f and ang units u
+  virtual void ListAll(TString f="car",TString u="rad");// Jet prim. and decay track info for frame f and ang units u
+  Double_t GetEnergy(Float_t scale=-1);    // Provide the total jet energy
+  Double_t GetMomentum(Float_t scale=-1);  // Provide the value of the total jet 3-momentum
+  Ali3Vector Get3Momentum(Float_t scale=-1) const; // Provide the total jet 3-momentum
+  Double_t GetInvmass(Float_t scale=-1);   // Provide the invariant mass  
+  Float_t GetCharge() const;               // Provide the total charge of the jet
+  Int_t GetNtracks(Int_t idmode=0,Int_t chmode=2,Int_t pcode=0); // Provide the number of selected tracks in the jet
+  Int_t GetNtracks(TString name);          // Provide the number of tracks with a certain name
+  AliTrack* GetTrack(Int_t i) const;       // Provide i-th track of the jet (1=first track)
+  AliTrack* GetIdTrack(Int_t id) const;    // Provide the track with user identifier "id"
+  TObjArray* GetTracks(Int_t idmode=0,Int_t chmode=2,Int_t pcode=0); // Provide references to selected tracks
+  TObjArray* GetTracks(TString name);      // Provide references to all tracks with a certain name
+  void RemoveTracks(Int_t idmode=0,Int_t chmode=2,Int_t pcode=0); // Remove selected tracks
+  void RemoveTracks(TString name);         // Remove all tracks with a certain name
+  void ShowTracks(Int_t mode=1);           // Provide on overview of the available tracks
+  Double_t GetPt(Float_t scale=-1);        // Provide trans. momentum w.r.t. z-axis
+  Double_t GetPl(Float_t scale=-1);        // Provide long. momentum w.r.t. z-axis
+  Double_t GetEt(Float_t scale=-1);        // Provide trans. energy w.r.t. z-axis
+  Double_t GetEl(Float_t scale=-1);        // Provide long. energy w.r.t. z-axis
+  Double_t GetMt(Float_t scale=-1);        // Provide trans. mass w.r.t. z-axis
   Double_t GetRapidity();                  // Provide rapidity value w.r.t. z-axis
   void SetTrackCopy(Int_t j);              // (De)activate creation of private copies in fTracks
-  Int_t GetTrackCopy();                    // Provide TrackCopy flag value      
+  Int_t GetTrackCopy() const;              // Provide TrackCopy flag value      
   void SetId(Int_t id);                    // Set the user defined identifier
-  Int_t GetId();                           // Provide the user defined identifier
+  Int_t GetId() const;                     // Provide the user defined identifier
+  void SetReferencePoint(AliPosition& p);  // Set the jet reference-point
+  AliPosition* GetReferencePoint();        // Provide the jet reference-point
+  TObjArray* SortTracks(Int_t mode=-1,TObjArray* tracks=0); // Sort tracks by a certain observable
+  Double_t GetDistance(AliPosition* p,Float_t scale=-1);    // Provide distance to position p
+  Double_t GetDistance(AliPosition& p,Float_t scale=-1) { return GetDistance(&p,scale); }
+  Double_t GetDistance(AliTrack* t,Float_t scale=-1);       // Provide distance to track t
+  Double_t GetDistance(AliTrack& t,Float_t scale=-1) { return GetDistance(&t,scale); }
+  Double_t GetDistance(AliJet* j,Float_t scale=-1);         // Provide distance to jet j
+  Double_t GetDistance(AliJet& j,Float_t scale=-1) { return GetDistance(&j,scale); }
+  Int_t GetNsignals() const;               // Provide the number of signals associated to the jet tracks
+  void SetEscale(Float_t scale);           // Set the scale of the energy/momentum units of the jet
+  Float_t GetEscale() const;               // Provide the scale of the energy/momentum units of the jet
 
  protected:
   void Init();                           // Initialisation of pointers etc...
@@ -59,7 +77,10 @@ class AliJet : public TNamed,public Ali4Vector
   TObjArray* fTracks;                    // Array to hold the pointers to the tracks of the jet
   Int_t fTrackCopy;                      // Flag to denote creation of private copies in fTracks
   Int_t fUserId;                         // The user defined identifier
+  AliPositionObj* fRef;                  // The reference-point of the jet
+  TObjArray* fSelected;                  //! Temp. array to hold user selected or ordered objects
+  Float_t fEscale;                       // The scale of the energy/momentum units of the jet
  
- ClassDef(AliJet,7) // Creation and investigation of a jet of particle tracks.
+ ClassDef(AliJet,20) // Creation and investigation of a jet of particle tracks.
 };
 #endif