]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliJetEmbeddingFromPYTHIATask.h
DiJet analysis updates (Marta)
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliJetEmbeddingFromPYTHIATask.h
1 #ifndef ALIJETEMBEDDINGFROMPYTHIATASK_H
2 #define ALIJETEMBEDDINGFROMPYTHIATASK_H
3
4 // $Id: AliJetEmbeddingFromPYTHIATask.h  $
5
6 #include "AliJetEmbeddingFromAODTask.h"
7 #include <TArrayD.h>
8
9 template<class T> 
10 class TParameter;
11
12 class TString;
13 class TH1;
14 class THashTable;
15
16 class AliJetEmbeddingFromPYTHIATask : public AliJetEmbeddingFromAODTask {
17  public:
18   AliJetEmbeddingFromPYTHIATask();
19   AliJetEmbeddingFromPYTHIATask(const char *name, Bool_t drawqa=kFALSE); 
20   virtual ~AliJetEmbeddingFromPYTHIATask();
21
22   Bool_t         UserNotify();
23   void           UserCreateOutputObjects();
24
25   void           SetPYTHIAPath(const char* p)                      { fPYTHIAPath                                = p ; }
26   void           SetPtHardBinScaling(Int_t n, Double_t *scaling)   { new (&fPtHardBinScaling) TArrayD(n, scaling)   ; }
27   void           SetAnchorRun(Int_t r)                             { fAnchorRun                                 = r ; }
28   void           SetLHC11hAnchorRuns(Bool_t a=kTRUE)               { fLHC11hAnchorRun                           = a ; }
29   void           SetFileTable(THashTable *t)                       { fFileTable                                 = t ; }
30   void           SetUseAsVetoTable(Bool_t v)                       { fUseAsVetoTable                            = v ; }
31
32  protected:
33   Bool_t         ExecOnce()           ;// intialize task
34   Bool_t         GetNextEntry()       ;// get next entry in current tree
35   Int_t          GetRandomPtHardBin() ;// get a radnom pt hard bin according to fPtHardBinScaling
36   TFile         *GetNextFile()        ;// get next file
37
38   TString        fPYTHIAPath          ;// Path of the PYTHIA production
39   TArrayD        fPtHardBinScaling    ;// Pt hard bin scaling
40   Bool_t         fLHC11hAnchorRun     ;// LHC11h anchor runs
41   Int_t          fAnchorRun           ;// Anchor run
42   THashTable    *fFileTable           ;// Table of allowed/vetoed files
43   Bool_t         fUseAsVetoTable      ;// Use fFileTable as a veto table
44   Int_t          fCurrentPtHardBin    ;//!Pt hard bin of the current open file
45   TParameter<int> *fPtHardBinParam    ;//!Pt hard bin param
46
47   TH1           *fHistPtHardBins      ;//!Embeded pt hard bin distribution
48
49  private:
50   AliJetEmbeddingFromPYTHIATask(const AliJetEmbeddingFromPYTHIATask&);            // not implemented
51   AliJetEmbeddingFromPYTHIATask &operator=(const AliJetEmbeddingFromPYTHIATask&); // not implemented
52
53   ClassDef(AliJetEmbeddingFromPYTHIATask, 2) // Jet embedding from PYTHIA task
54 };
55 #endif