]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliJetEmbeddingFromPYTHIATask.h
Changes from Salvatore
[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
15 class AliJetEmbeddingFromPYTHIATask : public AliJetEmbeddingFromAODTask {
16  public:
17   AliJetEmbeddingFromPYTHIATask();
18   AliJetEmbeddingFromPYTHIATask(const char *name, Bool_t drawqa=kFALSE); 
19   virtual ~AliJetEmbeddingFromPYTHIATask();
20
21   Bool_t         UserNotify();
22   void           UserCreateOutputObjects();
23
24   void           SetPYTHIAPath(const char* p)                      { fPYTHIAPath                                = p ; }
25   void           SetPtHardBinScaling(Int_t n, Double_t *scaling)   { new (&fPtHardBinScaling) TArrayD(n, scaling)   ; }
26   void           SetAnchorRun(Int_t r)                             { fAnchorRun                                 = r ; }
27   void           SetLHC11hAnchorRuns(Bool_t a=kTRUE)               { fLHC11hAnchorRun                           = a ; }
28
29  protected:
30   Bool_t         ExecOnce()           ;// intialize task
31   Bool_t         GetNextEntry()       ;// get next entry in current tree
32   Int_t          GetRandomPtHardBin() ;// get a radnom pt hard bin according to fPtHardBinScaling
33   TString        GetNextFileName()    ;// get next file name
34
35   TString        fPYTHIAPath          ;// Path of the PYTHIA production
36   TArrayD        fPtHardBinScaling    ;// Pt hard bin scaling
37   Bool_t         fLHC11hAnchorRun     ;// LHC11h anchor runs
38   Int_t          fAnchorRun           ;// Anchor run
39   Int_t          fCurrentPtHardBin    ;//!Pt hard bin of the current open file
40   TParameter<int> *fPtHardBinParam    ;//!Pt hard bin param
41
42   TH1           *fHistPtHardBins      ;//!Embeded pt hard bin distribution
43
44  private:
45   AliJetEmbeddingFromPYTHIATask(const AliJetEmbeddingFromPYTHIATask&);            // not implemented
46   AliJetEmbeddingFromPYTHIATask &operator=(const AliJetEmbeddingFromPYTHIATask&); // not implemented
47
48   ClassDef(AliJetEmbeddingFromPYTHIATask, 1) // Jet embedding from PYTHIA task
49 };
50 #endif