]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALJetTasks/AliFJWrapper.h
updates from salvatore
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliFJWrapper.h
index 24fd5c89cfb010cb0d68d9bf9aaf44d569079bbc..c9baf2eea00910bb55227711ac5aed1c6032fe3b 100644 (file)
@@ -3,23 +3,24 @@
 
 // $Id$
 
-#if !defined(__CINT__) && !defined(__MAKECINT__) &&defined(__HAVE_FJINTERFACE__)
+#if !defined(__CINT__) 
 
 #include <vector>
-#include <TNamed.h>
+#include <TString.h>
 #include "AliLog.h"
 #include "FJ_includes.h"
 
-class AliFJWrapper : public TNamed
+class AliFJWrapper
 {
  public:
   AliFJWrapper(const char *name, const char *title);
   virtual ~AliFJWrapper();
-  
+
   virtual void  AddInputVector (Double_t px, Double_t py, Double_t pz, Double_t E, Int_t index = -99999);
   virtual void  AddInputVector (const fastjet::PseudoJet& vec,                Int_t index = -99999);
   virtual void  AddInputVectors(const std::vector<fastjet::PseudoJet>& vecs,  Int_t offsetIndex = -99999);
-  virtual void  Clear(const Option_t* opt = "");
+  virtual const char *ClassName()                            const { return "AliFJWrapper";              }
+  virtual void  Clear(const Option_t* /*opt*/ = "");
   virtual void  CopySettingsFrom (const AliFJWrapper& wrapper);
   virtual void  GetMedianAndSigma(Double_t& median, Double_t& sigma, Int_t remove = 0) const;
   fastjet::ClusterSequenceArea*         GetClusterSequence() const { return fClustSeq;                   }
@@ -27,7 +28,10 @@ class AliFJWrapper : public TNamed
   const std::vector<fastjet::PseudoJet> GetInclusiveJets()   const { return fInclusiveJets;              }
   std::vector<fastjet::PseudoJet>       GetJetConstituents(UInt_t idx) const;
   Double_t                              GetMedianUsedForBgSubtraction() const { return fMedUsedForBgSub; }
+  const char*                           GetName()            const { return fName;                       }
+  const char*                           GetTitle()           const { return fTitle;                      }
   Double_t                              GetJetArea         (UInt_t idx) const;
+  fastjet::PseudoJet                    GetJetAreaVector   (UInt_t idx) const;
   Double_t                              GetJetSubtractedPt (UInt_t idx) const;
   virtual std::vector<double>           GetSubtractedJetsPts(Double_t median_pt = -1, Bool_t sorted = kFALSE);
 
@@ -52,6 +56,8 @@ class AliFJWrapper : public TNamed
   void SetupStrategyfromOpt(const char *option);
 
  protected:
+  TString                         fName;             //!
+  TString                         fTitle;            //!
   std::vector<fastjet::PseudoJet> fInputVectors;     //!
   std::vector<fastjet::PseudoJet> fInclusiveJets;    //!
   std::vector<double>             fSubtractedJetsPt; //!
@@ -100,7 +106,9 @@ namespace fj = fastjet;
 
 //_________________________________________________________________________________________________
 AliFJWrapper::AliFJWrapper(const char *name, const char *title)
-  : TNamed(name, title)
+  : 
+    fName              (name)
+  , fTitle             (title)
   , fInputVectors      ( )
   , fInclusiveJets     ( )
   , fSubtractedJetsPt  ( )
@@ -120,7 +128,7 @@ AliFJWrapper::AliFJWrapper(const char *name, const char *title)
   , fMaxRap            (1.)
   , fR                 (0.4)
   , fGridScatter       (1.0)
-  , fKtScatter         (1.0)
+  , fKtScatter         (0.1)
   , fMeanGhostKt       (1e-100)
   , fPluginAlgor       (0)
   , fMedUsedForBgSub   (0)
@@ -166,7 +174,7 @@ void AliFJWrapper::CopySettingsFrom(const AliFJWrapper& wrapper)
 }
 
 //_________________________________________________________________________________________________
-void AliFJWrapper::Clear(const Option_t *opt)
+void AliFJWrapper::Clear(const Option_t */*opt*/)
 {
   // Simply clear the input vectors.
   // Make sure done on every event if the instance is reused
@@ -183,8 +191,6 @@ void AliFJWrapper::Clear(const Option_t *opt)
   delete fPlugin;          fPlugin          = 0;
   delete fRange;           fRange           = 0;
   delete fClustSeq;        fClustSeq        = 0;
-
-  TNamed::Clear(opt);
 }
 
 //_________________________________________________________________________________________________
@@ -228,11 +234,9 @@ void AliFJWrapper::AddInputVectors(const std::vector<fj::PseudoJet>& vecs, Int_t
 
   for (UInt_t i = 0; i < vecs.size(); ++i) {
     fj::PseudoJet inVec = vecs[i];
-    
     if (offsetIndex > -99999)
       inVec.set_user_index(fInputVectors.size() + offsetIndex);
     // add to the fj container of input vectors
-      
     fInputVectors.push_back(inVec);
   }
 }
@@ -244,7 +248,20 @@ Double_t AliFJWrapper::GetJetArea(UInt_t idx) const
 
   Double_t retval = -1; // really wrong area..
   if ( idx < fInclusiveJets.size() ) {
-      retval = fClustSeq->area(fInclusiveJets[idx]);
+    retval = fClustSeq->area(fInclusiveJets[idx]);
+  } else {
+    AliError(Form("[e] ::GetJetArea wrong index: %d",idx));
+  }
+  return retval;
+}
+
+//_________________________________________________________________________________________________
+fastjet::PseudoJet AliFJWrapper::GetJetAreaVector(UInt_t idx) const
+{
+  // Get the jet area as vector.
+  fastjet::PseudoJet retval;
+  if ( idx < fInclusiveJets.size() ) {
+    retval = fClustSeq->area_4vector(fInclusiveJets[idx]);
   } else {
     AliError(Form("[e] ::GetJetArea wrong index: %d",idx));
   }
@@ -301,6 +318,7 @@ void AliFJWrapper::GetMedianAndSigma(Double_t &median, Double_t &sigma, Int_t re
 
   if (!fClustSeq) {
     AliError("[e] Run the jfinder first.");
+    return;
   }
 
   Double_t mean_area = 0;
@@ -370,7 +388,7 @@ Int_t AliFJWrapper::Run()
 
   // inclusive jets:
   fInclusiveJets.clear();
-  fInclusiveJets = fClustSeq->inclusive_jets(0.0); //sorted_by_pt(fClustSeq->inclusive_jets(0.0));
+  fInclusiveJets = fClustSeq->inclusive_jets(0.0); 
 
   return 0;
 }