]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/AliEsdSkimTask.h
Transition PWG4 --> PWGGA
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliEsdSkimTask.h
1 #ifndef ALIESDSKINTASK_H
2 #define ALIESDSKINTASK_H
3
4 // $Id$
5
6 #include "AliPhysicsSelectionTask.h"
7 #include "AliESDtrack.h"
8
9 class TTree;
10 class AliESDEvent;
11 class AliESDtrackCuts;
12
13 class AliEsdSkimTask : public AliAnalysisTaskSE {
14  public:
15   AliEsdSkimTask(const char *opt=0);
16
17   void UserExec(Option_t *opt);
18   void UserCreateOutputObjects();
19   void SetCuts(AliESDtrackCuts *c) { fCuts         = c; }
20   void SetDoClus(Bool_t b)         { fDoClus       = b; }
21   void SetDoEmC(Bool_t b)          { fDoEmCs       = b; }
22   void SetDoEmT(Bool_t b)          { fDoEmT        = b; }
23   void SetDoFmd(Bool_t b)          { fDoFmd        = b; }
24   void SetDoMiniTracks(Bool_t b)   { fDoMiniTracks = b; }
25   void SetDoMult(Bool_t b)         { fDoMult       = b; }
26   void SetDoPhC(Bool_t b)          { fDoPCs        = b; }
27   void SetDoPhT(Bool_t b)          { fDoPT         = b; }
28   void SetDoPileup(Bool_t b)       { fDoPileup     = b; }
29   void SetDoPriV(Bool_t b)         { fDoPriv       = b; }
30   void SetDoSaveBytes(Bool_t b)    { fDoSaveBytes  = b; }
31   void SetDoSpdV(Bool_t b)         { fDoSPDv       = b; }
32   void SetDoT0(Bool_t b)           { fDoT0         = b; }
33   void SetDoTof(Bool_t b)          { fDoTof        = b; }
34   void SetDoTpcV(Bool_t b)         { fDoTPCv       = b; }
35   void SetDoTracks(Bool_t b)       { fDoTracks     = b; }
36   void SetDoV0(Bool_t b)           { fDoV0         = b; }
37   void SetDoZdc(Bool_t b)          { fDoZDC        = b; }
38   void SetEmcNames(const char *n)  { fEmcNames     = n; }
39   void SetPhosClusOnly(Bool_t b)   { fPhosClusOnly = b; }
40   void SetTracks(const char *n)    { fTracks       = n; }
41
42  protected:
43   AliESDEvent     *fEvent;        //!esd event
44   TTree           *fTree;         //!tree
45   AliESDtrackCuts *fCuts;         // track cuts
46   Bool_t           fDoZDC;        // do zdc
47   Bool_t           fDoV0;         // do vzero
48   Bool_t           fDoT0;         // do tzero
49   Bool_t           fDoTPCv;       // do tpc vertex
50   Bool_t           fDoSPDv;       // do spd vertex
51   Bool_t           fDoPriv;       // do primary vertex
52   Bool_t           fDoEmCs;       // do emcal cells
53   Bool_t           fDoPCs;        // do phos cells
54   Bool_t           fDoEmT;        // do emcal trigger
55   Bool_t           fDoPT;         // do phos trigger
56   Bool_t           fDoTracks;     // do tracks
57   Bool_t           fDoFmd;        // do fmd
58   Bool_t           fDoMult;       // do mult
59   Bool_t           fDoTof;        // do TOF
60   Bool_t           fDoPileup;     // do pileup
61   Bool_t           fDoClus;       // do clusters
62   TString          fEmcNames;     // name of clusters
63   Bool_t           fDoMiniTracks; // strip down tracks
64   TString          fTracks;       // name of tracks (e.g. tracks propagated to EMCAL surface)
65   Bool_t           fPhosClusOnly; // if true then only store PHOS clusters
66   Bool_t           fDoSaveBytes;  // if true then trim down some of the stored objects (mult, fmd)
67   Bool_t           fDoCent;       // do centrality
68   Bool_t           fDoRP;         // do reaction plane
69
70  private:
71   AliEsdSkimTask(const AliEsdSkimTask&);            // not implemented
72   AliEsdSkimTask &operator=(const AliEsdSkimTask&); // not implemented
73
74  ClassDef(AliEsdSkimTask, 3); // Esd trimming and skimming task
75 };
76 #endif