]>
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(); | |
32 | virtual void Init(); | |
33 | virtual void UserExec(Option_t*); | |
34 | virtual void Terminate(Option_t */*option*/); | |
35 | ||
36 | void SetAODPath(TString path) {fAODPath = path;} | |
37 | void SetArrayOfAODPaths(TObjArray* arr) {fAODPathArray = arr;} | |
38 | void SetTrackBranch(TString name) {fTrackBranch = name;} | |
39 | void SetMCparticlesBranch(TString name) {fMCparticlesBranch = name;} | |
40 | ||
41 | void SetNEntriesPerJob(Int_t n) {fNEntriesPerJob = n;} | |
42 | Int_t GetNEntriesPerJob() { return fNEntriesPerJob;} | |
43 | ||
44 | void SetEmbedMode(Int_t m) {fEmbedMode = m;} | |
45 | Int_t GetEmbedMode() {return fEmbedMode;} | |
46 | void SetEvtSelecMode(Int_t s) {fEvtSelecMode = s;} | |
47 | Int_t GetEvtSelecMode() {return fEvtSelecMode;} | |
48 | ||
49 | void SetEvtSelJetPtRange(Float_t minPt, Float_t maxPt) {fEvtSelMinJetPt = minPt; fEvtSelMaxJetPt = maxPt;} | |
50 | ||
51 | void SetToyNumberOfTrackRange(Int_t minN = 1, Int_t maxN = 1){ fToyMinNbOfTracks = minN, fToyMaxNbOfTracks = maxN; } | |
52 | void SetToyTrackRanges(Double_t minPt = 50., Double_t maxPt = 50., Double_t ptDistr=0, | |
53 | Double_t minEta = -.5, Double_t maxEta = .5, | |
54 | Double_t minPhi = 0., Double_t maxPhi = 2*TMath::Pi()) | |
55 | { | |
56 | fToyMinTrackPt = minPt; fToyMaxTrackPt = maxPt; fToyDistributionTrackPt = ptDistr; | |
57 | fToyMinTrackEta = minEta; fToyMaxTrackEta = maxEta; | |
58 | fToyMinTrackPhi = minPhi; fToyMaxTrackPhi = maxPhi;} | |
59 | void SetToyFilterMap(UInt_t f) {fToyFilterMap = f;} | |
60 | ||
61 | ||
62 | // embedding modes | |
63 | enum {kAODFull=0, kAODJetTracks, kAODJet4Mom, kToyTracks}; | |
64 | // event selection from AOD | |
65 | enum {kEventsAll=0, kEventsJetPt}; | |
66 | ||
67 | ||
68 | private: | |
69 | ||
70 | AliAODEvent* fAODout; //! AOD out | |
71 | AliAODEvent* fAODevent; //! AOD in | |
72 | TTree* fAODtree; //! AODin tree | |
73 | TFile* fAODfile; //! AODin file | |
74 | TRandom3* rndm; //! random nummer generator | |
75 | ||
76 | TObjArray* fAODPathArray; // array of paths of AOD in file | |
77 | TString fAODPath; // path of AOD in file | |
78 | ||
79 | TString fTrackBranch; // name of branch for extra tracks in AOD out | |
80 | TString fMCparticlesBranch; // name of branch for extra mcparticles in AOD out | |
81 | ||
82 | Int_t fEntry; // entry of extra AOD | |
83 | Int_t fJobId; // (sub-)job counter | |
84 | Int_t fNEntriesPerJob; // number of entries of extra AOD used per (sub-)job | |
85 | ||
86 | Int_t fEmbedMode; | |
87 | Int_t fEvtSelecMode; | |
88 | ||
89 | // event selection from AOD | |
90 | Float_t fEvtSelMinJetPt; // minimum pt of the leading jet | |
91 | Float_t fEvtSelMaxJetPt; // maximum pt of the leading jet | |
92 | // ... todo: eta, phi, ... | |
93 | ||
94 | ||
95 | // settings for toy "track generation" | |
96 | Int_t fToyMinNbOfTracks; // minimum nb. of tracks per event | |
97 | Int_t fToyMaxNbOfTracks; // maximum nb. of tracks per event | |
98 | Double_t fToyMinTrackPt; // minimum track pT | |
99 | Double_t fToyMaxTrackPt; // maximum track pT | |
100 | Double_t fToyDistributionTrackPt; // distribution of track pt | |
101 | Double_t fToyMinTrackEta; // minimum eta of tracks | |
102 | Double_t fToyMaxTrackEta; // maximum eta of tracks | |
103 | Double_t fToyMinTrackPhi; // minimum phi of tracks | |
104 | Double_t fToyMaxTrackPhi; // maximum phi of tracks | |
105 | UInt_t fToyFilterMap; // filter map of tracks | |
106 | ||
107 | ||
108 | // qa histos | |
109 | TList *fHistList; // list of histograms | |
110 | TH1F *fh1TrackPt; //! track pt | |
111 | TH2F *fh2TrackEtaPhi; //! track eta-phi | |
112 | TH1F *fh1TrackN; //! nb. of tracks | |
113 | TH1F *fh1MCTrackPt; //! MC track pt | |
114 | TH2F *fh2MCTrackEtaPhi; //! MC track eta-phi | |
115 | TH1F *fh1MCTrackN; //! nb. of MC tracks | |
116 | ||
117 | // NEEDS TO BE TESTED | |
118 | //Int_t GetJobID(); // get job id (i.e. aliencounter on the GRID) // not tested yet | |
119 | ||
120 | ||
121 | ClassDef(AliAnalysisTaskFastEmbedding, 1); | |
122 | }; | |
123 | ||
124 | #endif | |
125 |