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