]>
Commit | Line | Data |
---|---|---|
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 | ||
11 | class AliAODEvent; | |
12 | class TTree; | |
13 | class TFile; | |
14 | class TChain; | |
15 | class TObjArray; | |
16 | class TObjString; | |
17 | class TRandom3; | |
18 | class TH1F; | |
19 | class TH2F; | |
20 | ||
21 | class AliAnalysisTaskFastEmbedding : public AliAnalysisTaskSE { | |
22 | ||
23 | public: | |
24 | ||
25 | AliAnalysisTaskFastEmbedding(); | |
26 | AliAnalysisTaskFastEmbedding(const char *name); | |
27 | AliAnalysisTaskFastEmbedding(const AliAnalysisTaskFastEmbedding ©); | |
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 |