]> git.uio.no Git - u/mrichter/AliRoot.git/blame - JETAN/AliAnalysisTaskFastEmbedding.h
Several updates for grid running (B. Bathen and J. Klein)
[u/mrichter/AliRoot.git] / JETAN / AliAnalysisTaskFastEmbedding.h
CommitLineData
b725dccf 1#ifndef ALIANALYSISTASKFASTEMBEDDING_H
2#define ALIANALYSISTASKFASTEMBEDDING_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9#include "AliAnalysisTaskSE.h"
10
11class AliAODEvent;
12class TTree;
13class TFile;
14class TChain;
15class TObjArray;
16class TObjString;
17class TRandom3;
18class TH1F;
19class TH2F;
20
21class AliAnalysisTaskFastEmbedding : public AliAnalysisTaskSE {
22
23 public:
24
25 AliAnalysisTaskFastEmbedding();
26 AliAnalysisTaskFastEmbedding(const char *name);
27 AliAnalysisTaskFastEmbedding(const AliAnalysisTaskFastEmbedding &copy);
28 AliAnalysisTaskFastEmbedding& operator=(const AliAnalysisTaskFastEmbedding &o);
29 virtual ~AliAnalysisTaskFastEmbedding();
30
31 virtual void UserCreateOutputObjects();
0ed51e0d 32 virtual void LocalInit() { Init(); }
b725dccf 33 virtual void Init();
34 virtual void UserExec(Option_t*);
35 virtual void Terminate(Option_t */*option*/);
36
37 void SetAODPath(TString path) {fAODPath = path;}
38 void SetArrayOfAODPaths(TObjArray* arr) {fAODPathArray = arr;}
39 void SetTrackBranch(TString name) {fTrackBranch = name;}
40 void SetMCparticlesBranch(TString name) {fMCparticlesBranch = name;}
41
42 void SetNEntriesPerJob(Int_t n) {fNEntriesPerJob = n;}
43 Int_t GetNEntriesPerJob() { return fNEntriesPerJob;}
44
45 void SetEmbedMode(Int_t m) {fEmbedMode = m;}
46 Int_t GetEmbedMode() {return fEmbedMode;}
47 void SetEvtSelecMode(Int_t s) {fEvtSelecMode = s;}
48 Int_t GetEvtSelecMode() {return fEvtSelecMode;}
49
50 void SetEvtSelJetPtRange(Float_t minPt, Float_t maxPt) {fEvtSelMinJetPt = minPt; fEvtSelMaxJetPt = maxPt;}
51
52 void SetToyNumberOfTrackRange(Int_t minN = 1, Int_t maxN = 1){ fToyMinNbOfTracks = minN, fToyMaxNbOfTracks = maxN; }
53 void SetToyTrackRanges(Double_t minPt = 50., Double_t maxPt = 50., Double_t ptDistr=0,
54 Double_t minEta = -.5, Double_t maxEta = .5,
55 Double_t minPhi = 0., Double_t maxPhi = 2*TMath::Pi())
56 {
57 fToyMinTrackPt = minPt; fToyMaxTrackPt = maxPt; fToyDistributionTrackPt = ptDistr;
58 fToyMinTrackEta = minEta; fToyMaxTrackEta = maxEta;
59 fToyMinTrackPhi = minPhi; fToyMaxTrackPhi = maxPhi;}
60 void SetToyFilterMap(UInt_t f) {fToyFilterMap = f;}
61
62
63 // embedding modes
64 enum {kAODFull=0, kAODJetTracks, kAODJet4Mom, kToyTracks};
65 // event selection from AOD
66 enum {kEventsAll=0, kEventsJetPt};
67
68
69 private:
70
71 AliAODEvent* fAODout; //! AOD out
72 AliAODEvent* fAODevent; //! AOD in
73 TTree* fAODtree; //! AODin tree
74 TFile* fAODfile; //! AODin file
75 TRandom3* rndm; //! random nummer generator
76
77 TObjArray* fAODPathArray; // array of paths of AOD in file
78 TString fAODPath; // path of AOD in file
79
80 TString fTrackBranch; // name of branch for extra tracks in AOD out
81 TString fMCparticlesBranch; // name of branch for extra mcparticles in AOD out
82
83 Int_t fEntry; // entry of extra AOD
84 Int_t fJobId; // (sub-)job counter
85 Int_t fNEntriesPerJob; // number of entries of extra AOD used per (sub-)job
86
87 Int_t fEmbedMode;
88 Int_t fEvtSelecMode;
89
90 // event selection from AOD
91 Float_t fEvtSelMinJetPt; // minimum pt of the leading jet
92 Float_t fEvtSelMaxJetPt; // maximum pt of the leading jet
93 // ... todo: eta, phi, ...
94
95
96 // settings for toy "track generation"
97 Int_t fToyMinNbOfTracks; // minimum nb. of tracks per event
98 Int_t fToyMaxNbOfTracks; // maximum nb. of tracks per event
99 Double_t fToyMinTrackPt; // minimum track pT
100 Double_t fToyMaxTrackPt; // maximum track pT
101 Double_t fToyDistributionTrackPt; // distribution of track pt
102 Double_t fToyMinTrackEta; // minimum eta of tracks
103 Double_t fToyMaxTrackEta; // maximum eta of tracks
104 Double_t fToyMinTrackPhi; // minimum phi of tracks
105 Double_t fToyMaxTrackPhi; // maximum phi of tracks
106 UInt_t fToyFilterMap; // filter map of tracks
107
108
109 // qa histos
110 TList *fHistList; // list of histograms
111 TH1F *fh1TrackPt; //! track pt
112 TH2F *fh2TrackEtaPhi; //! track eta-phi
113 TH1F *fh1TrackN; //! nb. of tracks
114 TH1F *fh1MCTrackPt; //! MC track pt
115 TH2F *fh2MCTrackEtaPhi; //! MC track eta-phi
116 TH1F *fh1MCTrackN; //! nb. of MC tracks
117
118 // NEEDS TO BE TESTED
0ed51e0d 119 Int_t GetJobID(); // get job id (sub-job id on the GRID)
b725dccf 120
121
0ed51e0d 122 ClassDef(AliAnalysisTaskFastEmbedding, 2);
b725dccf 123};
124
125#endif
126