]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG0/dNdEta/AlidNdEtaTask.h
Update
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / AlidNdEtaTask.h
index 66298a55741f711b3fa42997d4e0a487baa76911..9615befef0b00224f533a851b6488c05776d42c3 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef AlidNdEtaTask_H
 #define AlidNdEtaTask_H
 
-#include "AliAnalysisTask.h"
+#include "AliAnalysisTaskSE.h"
 #include "AliPWG0Helper.h"
 #include "AliTriggerAnalysis.h"
 #include <TString.h>
@@ -15,17 +15,20 @@ class TH2F;
 class TH3F;
 class AliESDEvent;
 class AliTriggerAnalysis;
+class TH1D;
 
-class AlidNdEtaTask : public AliAnalysisTask {
+class AlidNdEtaTask : public AliAnalysisTaskSE {
   public:
     AlidNdEtaTask(const char* opt = "");
     virtual ~AlidNdEtaTask();
 
-    virtual void   ConnectInputData(Option_t *);
-    virtual void   CreateOutputObjects();
-    virtual void   Exec(Option_t*);
+    virtual void   ConnectInputData(Option_t *opt);
+    virtual void   UserCreateOutputObjects();
+    virtual void   UserExec(Option_t*);
     virtual void   Terminate(Option_t*);
-    virtual Bool_t   Notify();
+    virtual Bool_t UserNotify();
+    
+    Bool_t IsEventInBinZero();
 
     void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; }
     void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; }
@@ -34,15 +37,14 @@ class AlidNdEtaTask : public AliAnalysisTask {
     void SetOnlyPrimaries(Bool_t flag = kTRUE) { fOnlyPrimaries = flag; }
     void SetUseMCKine(Bool_t flag = kTRUE) { fUseMCKine = flag; }
     void SetTrigger(AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; }
-    void SetTriggerClasses(const char* require, const char* reject) { fRequireTriggerClass = require; fRejectTriggerClass = reject; }
     void SetFillPhi(Bool_t flag = kTRUE) { fFillPhi = flag; }
     void SetDeltaPhiCut(Float_t cut) { fDeltaPhiCut = cut; }
-    void SetCheckEventType(Bool_t flag = kTRUE) { fCheckEventType = flag; }
     void SetSymmetrize(Bool_t flag = kTRUE) { fSymmetrize = flag; }
     void SetMultAxisEta1(Bool_t flag = kTRUE) { fMultAxisEta1 = flag; }
     void SetDiffTreatment(AliPWG0Helper::DiffTreatment diffTreatment) { fDiffTreatment = diffTreatment; }
     
     void SetOption(const char* opt) { fOption = opt; }
+    void SetPtMin(Float_t ptMin) { fPtMin = ptMin;}
 
  protected:
     AliESDEvent *fESD;                         //! ESD object
@@ -51,8 +53,6 @@ class AlidNdEtaTask : public AliAnalysisTask {
     TString fOption;                           // option string
     AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis
     AliTriggerAnalysis::Trigger fTrigger;      // trigger that is used
-    TString fRequireTriggerClass;              // trigger class that is required
-    TString fRejectTriggerClass;               // trigger class that is rejected
     Bool_t fFillPhi;                           // if true phi is filled as 3rd coordinate in all maps
     Float_t fDeltaPhiCut;                      // cut in delta phi (only SPD)
 
@@ -60,13 +60,11 @@ class AlidNdEtaTask : public AliAnalysisTask {
     Bool_t  fUseMCVertex;     // the MC vtx is used instead of the ESD vertex (for syst. check)
     Bool_t  fOnlyPrimaries;   // Process only primaries by using the MC information (for syst. check)
     Bool_t  fUseMCKine;       // use the MC values for each found track/tracklet (for syst. check)
-    Bool_t  fCheckEventType;  // check if event type is physics (for real data)
     Bool_t  fSymmetrize;      // move all negative to positive eta
     Bool_t  fMultAxisEta1;    // restrict multiplicity count to |eta| < 1
     AliPWG0Helper::DiffTreatment  fDiffTreatment;  // how to identify SD events (see AliPWG0Helper::GetEventProcessType)
 
     AliESDtrackCuts* fEsdTrackCuts;         // Object containing the parameters of the esd track cuts
-    AliTriggerAnalysis* fTriggerAnalysis;
 
     // Gathered from ESD
     dNdEtaAnalysis* fdNdEtaAnalysisESD;     //! contains the dndeta from the ESD
@@ -104,12 +102,22 @@ class AlidNdEtaTask : public AliAnalysisTask {
     TH2F* fTrackletsVsUnassigned; //! number of tracklets vs. number of unassigned clusters in L1 (only for SPD analysis)
     TH1F* fStats;                 //! further statistics : bin 1 = vertexer 3d, bin 2 = vertexer z, etc (see CreateOutputObjects)
     TH2F* fStats2;                //! V0 vs SPD statistics
-
+    Float_t fPtMin;               // pt min, to be used in kOneTrack case
+    TH1D* fEta;                   //! eta distribution from ESD
+    TH1D* fEtaMC;                 //! eta distribution from MC
+    TH1D* fHistEvents;            //! histo for n. of selected ESD events
+    TH1D* fHistEventsMC;          //! histo for n. of selected MC events
+    TH1D* fTrigEffNum;            //!
+    TH1D* fTrigEffDen;            //!
+    TH1D* fVtxEffNum;             //!
+    TH1D* fVtxEffDen;             //!
+    TH1D* fVtxTrigEffNum;         //!
+    TH1D* fVtxTrigEffDen;         //!
  private:
     AlidNdEtaTask(const AlidNdEtaTask&);
     AlidNdEtaTask& operator=(const AlidNdEtaTask&);
 
-  ClassDef(AlidNdEtaTask, 1);
+  ClassDef(AlidNdEtaTask, 2);
 };
 
 #endif