]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/AliEsdSkimTask.h
69f1658d15e20fb3eb8fd78e1759a8aa17081136
[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 AliCaloCell : public TObject
14 {
15  public:
16   AliCaloCell(Short_t num=0, Double_t amp=0., Double_t time=0) :
17     TObject(), fNum(num), fAmp(amp), fTime(time*1e9), fMcFr(0) {;}
18
19   Bool_t     IsSortable()                const { return kTRUE; }
20     //Int_t      Compare(const TObject* obj) const;
21
22  public:
23   Short_t    fNum;     //         cell number/id
24   Double32_t fAmp;     //[0,0,16] cell amplitude
25   Double32_t fTime;    //[0,0,16] cell time
26   Double32_t fMcFr;    //[0,1,10] fraction of MC energy (fMcAmp=fMcFr*fAmp)
27
28   ClassDef(AliCaloCell,1) // Calo cell class
29 };
30
31 class AliEsdSkimTask : public AliAnalysisTaskSE {
32  public:
33   AliEsdSkimTask(const char *opt=0);
34
35   void UserExec(Option_t *opt);
36   void UserCreateOutputObjects();
37   void SetCuts(AliESDtrackCuts *c) { fCuts         = c; }
38   void SetDoClus(Bool_t b)         { fDoClus       = b; }
39   void SetDoEmC(Bool_t b)          { fDoEmCs       = b; }
40   void SetDoEmT(Bool_t b)          { fDoEmT        = b; }
41   void SetDoFmd(Bool_t b)          { fDoFmd        = b; }
42   void SetDoMiniTracks(Bool_t b)   { fDoMiniTracks = b; }
43   void SetDoMult(Bool_t b)         { fDoMult       = b; }
44   void SetDoPhC(Bool_t b)          { fDoPCs        = b; }
45   void SetDoPhT(Bool_t b)          { fDoPT         = b; }
46   void SetDoPicoTracks(Bool_t b)   { fDoPicoTracks = b; }
47   void SetDoPileup(Bool_t b)       { fDoPileup     = b; }
48   void SetDoPriV(Bool_t b)         { fDoPriv       = b; }
49   void SetDoSaveBytes(Bool_t b)    { fDoSaveBytes  = b; }
50   void SetDoSpdV(Bool_t b)         { fDoSPDv       = b; }
51   void SetDoT0(Bool_t b)           { fDoT0         = b; }
52   void SetDoTof(Bool_t b)          { fDoTof        = b; }
53   void SetDoTpcV(Bool_t b)         { fDoTPCv       = b; }
54   void SetDoTracks(Bool_t b)       { fDoTracks     = b; }
55   void SetDoV0(Bool_t b)           { fDoV0         = b; }
56   void SetDoZdc(Bool_t b)          { fDoZDC        = b; }
57   void SetEmcNames(const char *n)  { fEmcNames     = n; }
58   void SetPhosClusOnly(Bool_t b)   { fPhosClusOnly = b; }
59   void SetRemoveCP(Bool_t b)       { fRemoveCP     = b; }
60   void SetResetCov(Bool_t b)       { fResetCov     = b; }
61   void SetTracks(const char *n)    { fTracks       = n; }
62
63  protected:
64   AliESDEvent     *fEvent;        //!esd event
65   TTree           *fTree;         //!tree
66   AliESDtrackCuts *fCuts;         // track cuts
67   Bool_t           fDoZDC;        // do zdc
68   Bool_t           fDoV0;         // do vzero
69   Bool_t           fDoT0;         // do tzero
70   Bool_t           fDoTPCv;       // do tpc vertex
71   Bool_t           fDoSPDv;       // do spd vertex
72   Bool_t           fDoPriv;       // do primary vertex
73   Bool_t           fDoEmCs;       // do emcal cells
74   Bool_t           fDoPCs;        // do phos cells
75   Bool_t           fDoEmT;        // do emcal trigger
76   Bool_t           fDoPT;         // do phos trigger
77   Bool_t           fDoTracks;     // do tracks
78   Bool_t           fDoFmd;        // do fmd
79   Bool_t           fDoMult;       // do mult
80   Bool_t           fDoTof;        // do TOF
81   Bool_t           fDoPileup;     // do pileup
82   Bool_t           fDoClus;       // do clusters
83   TString          fEmcNames;     // name of clusters
84   Bool_t           fDoMiniTracks; // strip down tracks
85   TString          fTracks;       // name of tracks (e.g. tracks propagated to EMCAL surface)
86   Bool_t           fPhosClusOnly; // if true then only store PHOS clusters
87   Bool_t           fDoSaveBytes;  // if true then trim down some of the stored objects (mult, fmd)
88   Bool_t           fDoCent;       // do centrality
89   Bool_t           fDoRP;         // do reaction plane
90   Bool_t           fRemoveCP;     // if false then keep constrained parameters (only reset covariance)
91   Bool_t           fResetCov;     // if true reset covariance matrix of track
92   Bool_t           fDoPicoTracks; // if true then do pico tracks
93
94  private:
95   AliEsdSkimTask(const AliEsdSkimTask&);            // not implemented
96   AliEsdSkimTask &operator=(const AliEsdSkimTask&); // not implemented
97
98  ClassDef(AliEsdSkimTask, 3); // Esd trimming and skimming task
99 };
100 #endif