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