]>
Commit | Line | Data |
---|---|---|
0aaa8b91 | 1 | #ifndef ALIDNDPT_H |
2 | #define ALIDNDPT_H | |
3 | ||
4 | //------------------------------------------------------------------------------ | |
5 | // Abstract class for dNdPt analysis. All dNdPt components should derive from it. | |
6 | // | |
7 | // Author: J.Otwinowski 03/11/2008 | |
8 | //------------------------------------------------------------------------------ | |
9 | ||
10 | class AliESDEvent; | |
11 | class AliMCEvent; | |
12 | class AliESDtrackCuts; | |
13 | class AlidNdPtEventCuts; | |
14 | class AlidNdPtAcceptanceCuts; | |
15 | ||
16 | #include "TNamed.h" | |
17 | #include "TFolder.h" | |
bad4ba69 | 18 | #include "AliPWG0Helper.h" |
0aaa8b91 | 19 | #include "AlidNdPtHelper.h" |
20 | ||
21 | class AlidNdPt : public TNamed { | |
22 | public: | |
23 | AlidNdPt(); | |
24 | AlidNdPt(Char_t* name, Char_t* title); | |
25 | ~AlidNdPt(); | |
26 | ||
27 | // Init data members | |
28 | virtual void Init() = 0; | |
29 | ||
30 | // Process events | |
31 | virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0) = 0; | |
32 | ||
33 | // Merge output objects (needed by PROOF) | |
34 | virtual Long64_t Merge(TCollection* list=0) = 0; | |
35 | ||
36 | // Analyse output histograms | |
37 | virtual void Analyse() = 0; | |
38 | ||
39 | // Export analysed output objects to folder | |
40 | virtual TFolder *ExportToFolder(TObjArray * array=0) = 0; | |
41 | ||
42 | // | |
43 | AlidNdPt(const AlidNdPt&); // not implemented | |
44 | AlidNdPt& operator=(const AlidNdPt&); // not implemented | |
45 | ||
46 | // | |
bad4ba69 | 47 | void SetEventCuts(AlidNdPtEventCuts* const cuts) { fdNdPtEventCuts = cuts; } |
48 | void SetAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtAcceptanceCuts = cuts; } | |
49 | void SetTrackCuts(AliESDtrackCuts* const cuts) { fEsdTrackCuts = cuts; } | |
50 | void SetUseMCInfo(const Bool_t info) { fUseMCInfo = info; } | |
51 | void SetAnalysisMode(const AlidNdPtHelper::AnalysisMode mode) { fAnalysisMode = mode; } | |
52 | void SetTrigger(const AliPWG0Helper::Trigger trigger) { fTrigger = trigger; } | |
53 | ||
54 | AlidNdPtEventCuts* GetEventCuts() const { return fdNdPtEventCuts; } | |
55 | AlidNdPtAcceptanceCuts* GetAcceptanceCuts() const { return fdNdPtAcceptanceCuts; } | |
56 | AliESDtrackCuts* GetTrackCuts() const { return fEsdTrackCuts; } | |
57 | Bool_t IsUseMCInfo() const { return fUseMCInfo; } | |
58 | AlidNdPtHelper::AnalysisMode GetAnalysisMode() const { return fAnalysisMode; } | |
59 | AliPWG0Helper::Trigger GetTrigger() const { return fTrigger; } | |
0aaa8b91 | 60 | |
61 | private: | |
62 | ||
63 | AlidNdPtEventCuts *fdNdPtEventCuts; // event cuts | |
64 | AlidNdPtAcceptanceCuts *fdNdPtAcceptanceCuts; // acceptance cuts | |
65 | AliESDtrackCuts *fEsdTrackCuts; // esd track cuts | |
66 | ||
67 | Bool_t fUseMCInfo; // use MC information | |
68 | AlidNdPtHelper::AnalysisMode fAnalysisMode; // analysis mode TPC only, TPC + ITS | |
bad4ba69 | 69 | AliPWG0Helper::Trigger fTrigger; // trigger definition MB1, MB2 ... |
0aaa8b91 | 70 | |
71 | ClassDef(AlidNdPt,1); | |
72 | }; | |
73 | ||
74 | #endif |