]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/AliJetEmbeddingFromPYTHIATask.h
Fix small memory leak: delete EmcalJet objects from vector
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliJetEmbeddingFromPYTHIATask.h
CommitLineData
a6e51e61 1#ifndef ALIJETEMBEDDINGFROMPYTHIATASK_H
2#define ALIJETEMBEDDINGFROMPYTHIATASK_H
3
9239b066 4// $Id$
a6e51e61 5
6#include "AliJetEmbeddingFromAODTask.h"
7#include <TArrayD.h>
8
ca5c29fa 9template<class T>
10class TParameter;
11
a6e51e61 12class TString;
5be3857d 13class TH1;
2103dc6a 14class THashTable;
a6e51e61 15
16class AliJetEmbeddingFromPYTHIATask : public AliJetEmbeddingFromAODTask {
17 public:
18 AliJetEmbeddingFromPYTHIATask();
ca5c29fa 19 AliJetEmbeddingFromPYTHIATask(const char *name, Bool_t drawqa=kFALSE);
a6e51e61 20 virtual ~AliJetEmbeddingFromPYTHIATask();
21
22 Bool_t UserNotify();
ca5c29fa 23 void UserCreateOutputObjects();
a6e51e61 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 ; }
2103dc6a 29 void SetFileTable(THashTable *t) { fFileTable = t ; }
30 void SetUseAsVetoTable(Bool_t v) { fUseAsVetoTable = v ; }
52286a19 31 void SetMinEntriesFromFile(Int_t r) { fMinEntriesFromFile = r ; }
a6e51e61 32
33 protected:
34 Bool_t ExecOnce() ;// intialize task
35 Bool_t GetNextEntry() ;// get next entry in current tree
36 Int_t GetRandomPtHardBin() ;// get a radnom pt hard bin according to fPtHardBinScaling
2103dc6a 37 TFile *GetNextFile() ;// get next file
a6e51e61 38
39 TString fPYTHIAPath ;// Path of the PYTHIA production
40 TArrayD fPtHardBinScaling ;// Pt hard bin scaling
41 Bool_t fLHC11hAnchorRun ;// LHC11h anchor runs
42 Int_t fAnchorRun ;// Anchor run
2103dc6a 43 THashTable *fFileTable ;// Table of allowed/vetoed files
44 Bool_t fUseAsVetoTable ;// Use fFileTable as a veto table
52286a19 45 Int_t fMinEntriesFromFile ;// Minimum number of embedded events before changing file
a6e51e61 46 Int_t fCurrentPtHardBin ;//!Pt hard bin of the current open file
ca5c29fa 47 TParameter<int> *fPtHardBinParam ;//!Pt hard bin param
a6e51e61 48
ca5c29fa 49 TH1 *fHistPtHardBins ;//!Embeded pt hard bin distribution
a6e51e61 50
51 private:
52 AliJetEmbeddingFromPYTHIATask(const AliJetEmbeddingFromPYTHIATask&); // not implemented
53 AliJetEmbeddingFromPYTHIATask &operator=(const AliJetEmbeddingFromPYTHIATask&); // not implemented
54
52286a19 55 ClassDef(AliJetEmbeddingFromPYTHIATask, 3) // Jet embedding from PYTHIA task
a6e51e61 56};
57#endif