]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/esdTrackCuts/AliCutTask.h
a7b6c0c381e541bd29818ed0422e112ef17df308
[u/mrichter/AliRoot.git] / PWG0 / esdTrackCuts / AliCutTask.h
1 #ifndef AliCutTask_cxx
2 #define AliCutTask_cxx
3
4 // simple task that runs the esd track cuts to evaluate the basic plots created during the cuts
5
6 class TH1F;
7 class AliESDtrackCuts;
8 class AliESDEvent;
9 class TList;
10
11 #include "AliAnalysisTask.h"
12 #include "AliPWG0Helper.h"
13
14 class AliCutTask : public AliAnalysisTask {
15  public:
16   AliCutTask(const char *name = "AliCutTask");
17   virtual ~AliCutTask() {}
18   
19   virtual void   ConnectInputData(Option_t *);
20   virtual void   CreateOutputObjects();
21   virtual void   Exec(Option_t *option);
22   virtual void   Terminate(Option_t *);
23
24   void SetTrackCuts(AliESDtrackCuts* cuts) { fTrackCuts = cuts; }
25   void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; }
26   void EnableSecondaryStudy();
27   
28  private:
29   AliESDEvent *fESD;           //! ESD object
30   AliESDtrackCuts* fTrackCuts; // track cuts
31   AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis
32   
33   AliESDtrackCuts* fTrackCutsPrimaries; // cuts for tracks from primary particles
34   AliESDtrackCuts* fTrackCutsSecondaries; // cuts for tracks from secondary particles
35
36   TH1F* fVertex;   //! event z vertex distribution
37   TH1F* fTriggerStats;  //! triggers
38
39   TList* fOutput;                  //! list send on output slot 0
40
41   TH1F* fPrimStats; //! statistics about primaries, see bin names in CreateOutputData
42
43   AliCutTask(const AliCutTask&); // not implemented
44   AliCutTask& operator=(const AliCutTask&); // not implemented
45   
46   ClassDef(AliCutTask, 1); // example of analysis
47 };
48
49 #endif