macro dir
[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 SetDoPicoTracks(Bool_t b)   { fDoPicoTracks  = b; }
29   void SetDoPileup(Bool_t b)       { fDoPileup      = b; }
30   void SetDoPriV(Bool_t b)         { fDoPriv        = b; }
31   void SetDoSaveBytes(Bool_t b)    { fDoSaveBytes   = b; }
32   void SetDoSpdV(Bool_t b)         { fDoSPDv        = b; }
33   void SetDoT0(Bool_t b)           { fDoT0          = b; }
34   void SetDoTof(Bool_t b)          { fDoTof         = b; }
35   void SetDoTpcV(Bool_t b)         { fDoTPCv        = b; }
36   void SetDoTracks(Bool_t b)       { fDoTracks      = b; }
37   void SetDoV0(Bool_t b)           { fDoV0          = b; }
38   void SetDoZdc(Bool_t b)          { fDoZDC         = b; }
39   void SetEmcNames(const char *n)  { fEmcNames      = n; }
40   void SetPhosClusOnly(Bool_t b)   { fPhosClusOnly  = b; }
41   void SetEmcalClusOnly(Bool_t b)  { fEmcalClusOnly = b; }
42   void SetRemoveCP(Bool_t b)       { fRemoveCP      = b; }
43   void SetResetCov(Bool_t b)       { fResetCov      = b; }
44   void SetTracks(const char *n)    { fTracks        = n; }
45
46  protected:
47   AliESDEvent     *fEvent;        //!esd event
48   TTree           *fTree;         //!tree
49   AliESDtrackCuts *fCuts;         // track cuts
50   Bool_t           fDoZDC;        // do zdc
51   Bool_t           fDoV0;         // do vzero
52   Bool_t           fDoT0;         // do tzero
53   Bool_t           fDoTPCv;       // do tpc vertex
54   Bool_t           fDoSPDv;       // do spd vertex
55   Bool_t           fDoPriv;       // do primary vertex
56   Bool_t           fDoEmCs;       // do emcal cells
57   Bool_t           fDoPCs;        // do phos cells
58   Bool_t           fDoEmT;        // do emcal trigger
59   Bool_t           fDoPT;         // do phos trigger
60   Bool_t           fDoTracks;     // do tracks
61   Bool_t           fDoFmd;        // do fmd
62   Bool_t           fDoMult;       // do mult
63   Bool_t           fDoTof;        // do TOF
64   Bool_t           fDoPileup;     // do pileup
65   Bool_t           fDoClus;       // do clusters
66   TString          fEmcNames;     // name of clusters
67   Bool_t           fDoMiniTracks; // strip down tracks
68   TString          fTracks;       // name of tracks (e.g. tracks propagated to EMCAL surface)
69   Bool_t           fPhosClusOnly; // if true then only store PHOS clusters
70   Bool_t           fEmcalClusOnly;// if true then only store EMCAL clusters
71   Bool_t           fDoSaveBytes;  // if true then trim down some of the stored objects (mult, fmd)
72   Bool_t           fDoCent;       // do centrality
73   Bool_t           fDoRP;         // do reaction plane
74   Bool_t           fRemoveCP;     // if false then keep constrained parameters (only reset covariance)
75   Bool_t           fResetCov;     // if true reset covariance matrix of track
76   Bool_t           fDoPicoTracks; // if true then do pico tracks
77
78  private:
79   AliEsdSkimTask(const AliEsdSkimTask&);            // not implemented
80   AliEsdSkimTask &operator=(const AliEsdSkimTask&); // not implemented
81
82  ClassDef(AliEsdSkimTask, 4); // Esd trimming and skimming task
83 };
84 #endif