]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALTasks/AliEmcalJet.h
revert mistake
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliEmcalJet.h
index 134bed3f8b56c0d7a7e109485005c800628e7d0d..d46c784eb0f2cca8cdf1e8bafaed0025b83de550 100644 (file)
@@ -1,21 +1,22 @@
-#ifndef AliESDJet_H
-#define AliESDJet_H
+#ifndef AliEmcalJet_H
+#define AliEmcalJet_H
 
 // $Id$
 
-#include "AliVParticle.h"
+#include <TArrayS.h>
 #include <TLorentzVector.h>
 #include <TMath.h>
+#include "AliVParticle.h"
 
-class AliESDJet : public AliVParticle
+class AliEmcalJet : public AliVParticle
 {
  public:
-  AliESDJet() : AliVParticle(), fPt(0), fEta(0), fPhi(0), fM(0), fNEF(0), fArea(0), 
-                fNch(0), fNn(0), fMaxCPt(0), fMaxNPt(0) {;}
-  AliESDJet(Double_t pt, Double_t eta, Double_t phi, Double_t m);
-  AliESDJet(Double_t px, Double_t py, Double_t pz);
-  AliESDJet(const AliESDJet &jet); 
-  AliESDJet& operator=(const AliESDJet &jet);
+  AliEmcalJet() : AliVParticle(), fPt(0), fEta(0), fPhi(0), fM(0), fNEF(0), fArea(0), 
+                  fMaxCPt(0), fMaxNPt(0), fClusterIDs(), fTrackIDs() {;}
+  AliEmcalJet(Double_t pt, Double_t eta, Double_t phi, Double_t m);
+  AliEmcalJet(Double_t px, Double_t py, Double_t pz);
+  AliEmcalJet(const AliEmcalJet &jet); 
+  AliEmcalJet& operator=(const AliEmcalJet &jet);
 
   Double_t    Px()                         const { return fPt*TMath::Cos(fPhi);  }
   Double_t    Py()                         const { return fPt*TMath::Cos(fPhi);  }
@@ -41,16 +42,29 @@ class AliESDJet : public AliVParticle
   void        GetMom(TLorentzVector &vec)  const;
   void        Print(Option_t* option = "") const;
 
-  Double_t    Area()                       const { return fArea;   }
-  Double_t    NEF()                        const { return fNEF;    }
-  UShort_t    N()                          const { return fNch+fNn;}
-  Double32_t  MaxTrackPt()                 const { return fMaxCPt; }
-  Double32_t  MaxClusterPt()               const { return fMaxNPt; }
+  Double_t    Area()                       const { return fArea;                     }
+  Short_t     ClusterAt(Int_t idx)         const { return fClusterIDs.At(idx);       }
+  UShort_t    GetNumberOfClusters()        const { return Nn();                      }
+  UShort_t    GetNumberOfTracks()          const { return Nch();                     }
+  Double_t    MaxClusterPt()               const { return fMaxNPt;                   }
+  Double_t    MaxTrackPt()                 const { return fMaxCPt;                   }
+  Double_t    NEF()                        const { return fNEF;                      }
+  UShort_t    Nn()                         const { return fClusterIDs.GetSize();     }
+  UShort_t    Nch()                        const { return fTrackIDs.GetSize();       }
+  UShort_t    N()                          const { return Nch()+Nn();                }
+  Short_t     TrackAt(Int_t idx)           const { return fTrackIDs.At(idx);         }
 
-  void        SetArea(Double_t a)                { fArea   = a;    }
-  void        SetNEF(Double_t nef)               { fNEF    = nef;  }
-  void        SetMaxTrackPt(Double32_t t)        { fMaxCPt = t;    }
-  void        SetMaxClusterPt(Double32_t t)      { fMaxNPt = t;    }
+  void        AddClusterAt(Int_t clus, Int_t idx){ fClusterIDs.AddAt(clus, idx);     }
+  void        AddTrackAt(Int_t track, Int_t idx) { fTrackIDs.AddAt(track, idx);      }
+  void        Clear(Option_t */*option*/="")     { fClusterIDs.Set(0); 
+                                                   fTrackIDs.Set(0);                 }
+  void        SetArea(Double_t a)                { fArea   = a;                      }
+  void        SetMaxClusterPt(Double32_t t)      { fMaxNPt = t;                      }
+  void        SetMaxTrackPt(Double32_t t)        { fMaxCPt = t;                      }
+  void        SetNEF(Double_t nef)               { fNEF    = nef;                    }
+  void        SetNumberOfClusters(Int_t n)       { fClusterIDs.Set(n);               }
+  void        SetNumberOfTracks(Int_t n)         { fTrackIDs.Set(n);                 }
+  void        SortConstituents();
 
  protected:
   Double32_t  fPt;           //[0,0,12]   pt 
@@ -59,11 +73,11 @@ class AliESDJet : public AliVParticle
   Double32_t  fM;            //[0,0,8]    mass
   Double32_t  fNEF;          //[0,1,8]    neutral energy fraction
   Double32_t  fArea;         //[0,0,12]   area
-  UShort_t    fNch;          //           number of charged constituents
-  UShort_t    fNn;           //           number of neutral constituents
   Double32_t  fMaxCPt;       //[0,0,12]   pt of maximum track
   Double32_t  fMaxNPt;       //[0,0,12]   pt of maximum cluster
+  TArrayS     fClusterIDs;   //           array of cluster constituents  
+  TArrayS     fTrackIDs;     //           array of track constituents    
 
-  ClassDef(AliESDJet,1) // ESD jet class in cylindrical coordinates
+  ClassDef(AliEmcalJet,2) // ESD jet class in cylindrical coordinates
 };
 #endif