]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliJetEmbeddingFromAODTask.h
Update from Salvatore for full jet embedding
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliJetEmbeddingFromAODTask.h
1 #ifndef ALIJETEMBEDDINGFROMAODTASK_H
2 #define ALIJETEMBEDDINGFROMAODTASK_H
3
4 // $Id: AliJetEmbeddingFromAODTask.h  $
5
6 class TFile;
7 class TObjArray;
8 class TClonesArray;
9 class TString;
10 class AliVCaloCells;
11 class AliVHeader;
12 class TH2;
13
14 #include "AliJetModelBaseTask.h"
15
16 class AliJetEmbeddingFromAODTask : public AliJetModelBaseTask {
17  public:
18   AliJetEmbeddingFromAODTask();
19   AliJetEmbeddingFromAODTask(const char *name, Bool_t drawqa=kFALSE); 
20   virtual ~AliJetEmbeddingFromAODTask();
21
22   void           UserCreateOutputObjects();
23   Bool_t         UserNotify();
24
25   void           SetFileList(TObjArray *list)                      { fFileList           = list  ; }
26   void           SetAODTreeName(const char *t)                     { fAODTreeName        = t     ; }
27   void           SetAODHeaderName(const char *t)                   { fAODHeaderName      = t     ; }
28   void           SetAODTracksName(const char *n)                   { fAODTrackName       = n     ; }
29   void           SetAODClusName(const char *n)                     { fAODClusName        = n     ; }
30   void           SetAODCellsName(const char *n)                    { fAODCellsName       = n     ; }
31   void           SetCentralityRange(Double_t min, Double_t max)    { fMinCentrality      = min   ; fMaxCentrality    = max ; }
32   void           SetTriggerMask(UInt_t mask)                       { fTriggerMask        = mask  ; }
33   void           SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0)      { fAODfilterBits[0]   = b0    ; fAODfilterBits[1] = b1  ; }
34   void           SetIncludeNoITS(Bool_t f)                         { fIncludeNoITS       = f     ; }
35   void           SetTotalFiles(Int_t n)                            { fTotalFiles         = n     ; }
36
37  protected:
38   Bool_t         ExecOnce()            ;// intialize task
39   void           Run()                 ;// do jet model action
40   Bool_t         OpenNextFile()        ;// open next file in fFileList
41   Bool_t         GetNextEntry()        ;// get next entry in current tree
42   Bool_t         IsAODEventSelected()  ;// AOD event trigger/centrality selection
43
44   TObjArray     *fFileList         ;//  List of AOD files
45   TString        fAODTreeName      ;//  Name of the tree in the AOD file
46   TString        fAODHeaderName    ;//  Name of the header in the AOD tree
47   TString        fAODVertexName    ;//  Name of the vertex branch in the AOD tree
48   TString        fAODTrackName     ;//  Name of the track collection branch in the AOD tree
49   TString        fAODClusName      ;//  Name of the cluster collection branch in the AOD tree
50   TString        fAODCellsName     ;//  Name of the cell collection branch in the AOD tree
51   Double_t       fMinCentrality    ;//  Minimum centrality
52   Double_t       fMaxCentrality    ;//  Maximum centrality
53   UInt_t         fTriggerMask      ;//  Trigger selection mask
54   Double_t       fZVertexCut       ;//  Z vertex cut
55   Int_t          fAODfilterBits[2] ;//  AOD track filter bit map
56   Bool_t         fIncludeNoITS     ;//  True = includes tracks with failed ITS refit
57   Int_t          fTotalFiles       ;//  Total number of files per pt hard bin
58   Bool_t         fEsdTreeMode      ;//! True = embed from ESD (must be a skimmed ESD!)
59   Int_t          fCurrentFileID    ;//! Current file being processed (trough the event handler)
60   Int_t          fCurrentAODFileID ;//! Current file ID
61   TFile         *fCurrentAODFile   ;//! Current open file
62   AliVHeader    *fAODHeader        ;//! AOD header
63   TClonesArray  *fAODVertex        ;//! AOD vertex
64   TClonesArray  *fAODTracks        ;//! AOD track collection
65   TClonesArray  *fAODClusters      ;//! AOD cluster collection
66   AliVCaloCells *fAODCaloCells     ;//! AOD cell collection
67   TH2           *fHistFileIDs      ;//! Current file ID vs. AOD file ID (to be embedded)
68
69  private:
70   AliJetEmbeddingFromAODTask(const AliJetEmbeddingFromAODTask&);            // not implemented
71   AliJetEmbeddingFromAODTask &operator=(const AliJetEmbeddingFromAODTask&); // not implemented
72
73   ClassDef(AliJetEmbeddingFromAODTask, 1) // Jet embedding from AOD task
74 };
75 #endif