]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGCF/EBYE/NetParticle/AliAnalysisTaskNetParticle.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / EBYE / NetParticle / AliAnalysisTaskNetParticle.h
index dd0a20beb77d92a093694c69ffcf4b30b3fa83ec..d409b5813905e0ae87f5be40e520133454ddddea 100644 (file)
@@ -6,8 +6,12 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
  
-// Task for NetParticle Distributions
-// Authors: Jochen Thaeder <jochen@thaeder.de>
+/**
+ * Class for NetParticle Distributions
+ * -- AnalysisTask
+ * Authors: Jochen Thaeder <jochen@thaeder.de>
+ *          Michael Weber <m.weber@cern.ch>
+ */
 
 #include "AliAnalysisTaskSE.h"
 #include "TList.h"
@@ -17,6 +21,7 @@
 #include "AliAnalysisNetParticleEffCont.h"
 #include "AliAnalysisNetParticleDCA.h"
 #include "AliAnalysisNetParticleDistribution.h"
+#include "AliAnalysisNetParticleQA.h"
 
 class AliESDEvent;
 class AliESDInputHandler;
@@ -31,12 +36,6 @@ class AliAnalysisTaskNetParticle : public AliAnalysisTaskSE {
 
  public:
 
-  /*
-   * ---------------------------------------------------------------------------------
-   *                            Constructor / Destructor
-   * ---------------------------------------------------------------------------------
-   */
-
   AliAnalysisTaskNetParticle(const char *name = "AliAnalysisTaskNetParticle");
   virtual ~AliAnalysisTaskNetParticle();
   
@@ -65,45 +64,28 @@ class AliAnalysisTaskNetParticle : public AliAnalysisTaskSE {
    * ---------------------------------------------------------------------------------
    */
 
-  void SetIsMC()                          {fIsMC             = kTRUE;}
-  void SetIsAOD(Bool_t b)                 {fIsAOD            = b;}
-  void SetUseQATHnSparse(Bool_t b)        {fUseQATHnSparse   = b;}
+  void SetIsMC()                             {fIsMC             = kTRUE;}
+  void SetIsAOD(Bool_t b)                    {fIsAOD            = b;}
   
-  void SetESDTrackCutMode(Int_t i)        {fESDTrackCutMode  = i;}
-  void SetModeEffCreation(Int_t i)        {fModeEffCreation  = i;}
-  void SetModeDCACreation(Int_t i)        {fModeDCACreation  = i;}
-  void SetModeDistCreation(Int_t i)       {fModeDistCreation = i;}
-
+  void SetESDTrackCutMode(Int_t i)           {fESDTrackCutMode  = i;}
+  void SetModeEffCreation(Int_t i)           {fModeEffCreation  = i;}
+  void SetModeDCACreation(Int_t i)           {fModeDCACreation  = i;}
+  void SetModeDistCreation(Int_t i)          {fModeDistCreation = i;}
+  void SetModeQACreation(Int_t i)            {fModeQACreation   = i;}
  
-  void SetEtaMax(Float_t f)               {fEtaMax           = f;}
-  void SetPtRange(Float_t f1, Float_t f2) {fPtRange[0] = f1; fPtRange[1] = f2;}
-  void SetPtRangeEff(Float_t f1, Float_t f2) {fPtRangeEff[0] = f1; fPtRangeEff[1] = f2;}
+  void SetEtaMax(Float_t f)                  {fEtaMax           = f;}
+  void SetEtaMaxEff(Float_t f)               {fEtaMaxEff        = f;}
+  void SetPtRange(Float_t f1, Float_t f2)    {fPtRange[0]       = f1; fPtRange[1]    = f2;}
+  void SetPtRangeEff(Float_t f1, Float_t f2) {fPtRangeEff[0]    = f1; fPtRangeEff[1] = f2;}
 
-  void SetTrackFilterBit(Int_t i)         {fAODtrackCutBit   = i;}
-
-  /*
-   * ---------------------------------------------------------------------------------
-   *                               Setter - Pass-Through
-   * ---------------------------------------------------------------------------------
-   */
-
-  void SetCentralityBinMax(Int_t d)       {fHelper->SetCentralityBinMax(d);}
-  void SetVertexZMax(Float_t f)           {fHelper->SetVertexZMax(f);}  
-
-  void SetRapidityMax(Float_t f)          {fHelper->SetRapidityMax(f);}
-  void SetMinTrackLengthMC(Float_t f)     {fHelper->SetMinTrackLengthMC(f);}
-  void SetNSigmaMaxCdd(Float_t f)         {fHelper->SetNSigmaMaxCdd(f);}
-  void SetNSigmaMaxCzz(Float_t f)         {fHelper->SetNSigmaMaxCzz(f);}
-
-  void SetParticleSpecies(AliPID::EParticleType pid) {fHelper->SetParticleSpecies(pid);}
-  void SetControlParticleSpecies(Int_t pdgCode, Bool_t isNeutral, const Char_t *name) {
-    fHelper->SetControlParticleSpecies(pdgCode, isNeutral, name);
+  void SetTrackFilterBit(Int_t i)            {fAODtrackCutBit   = i;}
+  
+  void SetNetParticleHelper(AliAnalysisNetParticleHelper *helper) {
+    if (fHelper) 
+      delete fHelper;
+    fHelper = helper;
   }
 
-  void SetNSigmaMaxTPC(Float_t f)         {fHelper->SetNSigmaMaxTPC(f);}
-  void SetNSigmaMaxTOF(Float_t f)         {fHelper->SetNSigmaMaxTOF(f);}
-  void SetMinPtForTOFRequired(Float_t f)  {fHelper->SetMinPtForTOFRequired(f);}
-
   ///////////////////////////////////////////////////////////////////////////////////
 
  private:
@@ -131,69 +113,60 @@ class AliAnalysisTaskNetParticle : public AliAnalysisTaskSE {
 
   /** Reset Event */
   void ResetEvent();
-    
+
   /*
    * ---------------------------------------------------------------------------------
    *                             Members - private
    * ---------------------------------------------------------------------------------
    */
   
-  AliAnalysisNetParticleHelper       *fHelper;  //! Helper class
+  AliAnalysisNetParticleHelper       *fHelper;  //  Helper class
   AliAnalysisNetParticleEffCont      *fEffCont; //! Efficiency and Contamination class
   AliAnalysisNetParticleDCA          *fDCA;     //! DCA class
   AliAnalysisNetParticleDistribution *fDist;    //! Distributions class
+  AliAnalysisNetParticleQA           *fQA;      //! QA class
 
   // --- OutLists ----------------------------------------------------------
-
   TList              *fOutList;                 //! Ptr to output data container
   TList              *fOutListEff;              //! Ptr to output data container - efficiency
   TList              *fOutListCont;             //! Ptr to output data container - contamination
   TList              *fOutListDCA;              //! Ptr to output data container - DCA
-  TList              *fOutListQA;               //! Ptr to QA output data container
+  TList              *fOutListQA;               //! Ptr to output data container - QA
 
   // --- ESD only ----------------------------------------------------------
-
   AliESDEvent        *fESD;                     //! Ptr to ESD event
   AliESDInputHandler *fESDHandler;              //! Ptr to ESD Handler
-
+  // -----------------------------------------------------------------------
   AliESDtrackCuts    *fESDTrackCutsBase;        //! ESD cuts - base settings
   AliESDtrackCuts    *fESDTrackCuts;            //! ESD cuts  
   AliESDtrackCuts    *fESDTrackCutsBkg;         //! ESD cuts for Bkg
   AliESDtrackCuts    *fESDTrackCutsEff;         //! ESD cuts for efficiency determination -> larger pt Range
 
   // --- AOD only ----------------------------------------------------------
-
   AliAODEvent        *fAOD;                     //! Ptr to AOD event
   AliAODInputHandler *fAODHandler;              //! Ptr to AOD Handler
   
   // --- Flags -------------------------------------------------------------
-
-  Bool_t              fIsMC;                   //  Is MC event
-  Bool_t              fIsAOD;                  //  analysis mode            : 0 = ESDs  | 1 = AODs
-  Int_t               fESDTrackCutMode;        //  ESD track cut mode       : 0 = clean | 1 dirty
-  Int_t               fModeEffCreation ;       //  Correction creation mode : 1 = on | 0 = off
-  Int_t               fModeDCACreation;        //  DCA creation mode        : 1 = on | 0 = off
-  Int_t               fModeDistCreation;       //  Dist creation mode       : 1 = on | 0 = off
+  Bool_t              fIsMC;                    //  Is MC event
+  Bool_t              fIsAOD;                   //  analysis mode            : 0 = ESDs  | 1 = AODs
+  Int_t               fESDTrackCutMode;         //  ESD track cut mode       : 0 = clean | 1 = dirty
+  Int_t               fModeEffCreation ;        //  Correction creation mode : 1 = on    | 0 = off
+  Int_t               fModeDCACreation;         //  DCA creation mode        : 1 = on    | 0 = off
+  Int_t               fModeDistCreation;        //  Dist creation mode       : 1 = on    | 0 = off
+  Int_t               fModeQACreation;          //  QA creation mode         : 1 = on    | 0 = off
 
   // --- MC only -----------------------------------------------------------
-
-  AliMCEvent         *fMCEvent;                //! Ptr to MC event
-  AliStack           *fMCStack;                //! Ptr to MC stack
-
+  AliMCEvent         *fMCEvent;                 //! Ptr to MC event
+  AliStack           *fMCStack;                 //! Ptr to MC stack
   // -----------------------------------------------------------------------
-
-  THnSparseF         *fHnQA;                   //  THnSparseF : tracks for QA
-  Float_t             fUseQATHnSparse;         //  Usage of THnSparse for QA
-  
+  Float_t             fEtaMax;                  //  Max, absolut eta 
+  Float_t             fEtaMaxEff;               //  Max, absolut eta for efficiency
+  Float_t             fPtRange[2];              //  Array of pt [min,max]
+  Float_t             fPtRangeEff[2];           //  Array of pt [min,max] for efficiency
   // -----------------------------------------------------------------------
+  Int_t               fAODtrackCutBit;          //  Track filter bit for AOD tracks
+  // =======================================================================
 
-  Float_t             fEtaMax;                 //  Max, absolut eta 
-  Float_t            *fPtRange;                //  Array of pt [min,max]
-  Float_t            *fPtRangeEff;             //  Array of pt [min,max] for efficiency
-
-  Int_t               fAODtrackCutBit;         //  Track filter bit for AOD tracks
-
-  // -----------------------------------------------------------------------
   
   ClassDef(AliAnalysisTaskNetParticle, 1);
 };