]>
Commit | Line | Data |
---|---|---|
0f67a57c | 1 | /* $Id$ */ |
2 | ||
3 | #ifndef AlidNdEtaTask_H | |
4 | #define AlidNdEtaTask_H | |
5 | ||
6 | #include "AliAnalysisTask.h" | |
7 | #include <TString.h> | |
8 | ||
9 | class AliESDtrackCuts; | |
10 | class dNdEtaAnalysis; | |
11 | class TH1F; | |
12 | class TH3F; | |
13 | class AliESDEvent; | |
14 | ||
15 | class AlidNdEtaTask : public AliAnalysisTask { | |
16 | public: | |
17 | enum AnalysisMethod { kSPD = 0, kTPC }; | |
18 | ||
19 | AlidNdEtaTask(const char* opt = ""); | |
20 | virtual ~AlidNdEtaTask(); | |
21 | ||
22 | virtual void ConnectInputData(Option_t *); | |
23 | virtual void CreateOutputObjects(); | |
24 | virtual void Exec(Option_t*); | |
25 | virtual void Terminate(Option_t*); | |
26 | ||
27 | void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; } | |
28 | void SetAnalysisMode(AnalysisMethod mode) { fAnalysisMode = mode; } | |
29 | void SetReadMC(Bool_t flag = kTRUE) { fReadMC = flag; } | |
30 | ||
31 | protected: | |
32 | AliESDEvent *fESD; //! ESD object | |
33 | TList* fOutput; //! list send on output slot 0 | |
34 | ||
35 | TString fOption; // option string | |
36 | AnalysisMethod fAnalysisMode; // detector that is used for analysis | |
37 | ||
38 | Bool_t fReadMC; // if true reads MC data (to build correlation maps) | |
39 | ||
40 | AliESDtrackCuts* fEsdTrackCuts; // Object containing the parameters of the esd track cuts | |
41 | ||
42 | // Gathered from ESD | |
43 | dNdEtaAnalysis* fdNdEtaAnalysisESD; //! contains the dndeta from the ESD | |
44 | // control hists | |
45 | TH1F* fMult; //! raw multiplicity histogram (control histogram) | |
46 | TH1F* fMultVtx; //! raw multiplicity histogram of evts with vtx (control histogram) | |
47 | TH1F* fPartEta[3]; //! counted particles as function of eta (full vertex range, below 0 range, above 0 range) | |
48 | TH1F* fEvents; //! events counted as function of vtx | |
49 | ||
50 | // Gathered from MC (when fReadMC is set) | |
51 | dNdEtaAnalysis* fdNdEtaAnalysis; //! contains the dndeta from the full sample | |
52 | dNdEtaAnalysis* fdNdEtaAnalysisTr; //! contains the dndeta from the triggered events | |
53 | dNdEtaAnalysis* fdNdEtaAnalysisTrVtx; //! contains the dndeta from the triggered events with vertex | |
54 | dNdEtaAnalysis* fdNdEtaAnalysisTracks; //! contains the dndeta from the triggered events with vertex counted from the mc particles associated to the tracks (comparing this to the raw values from the esd shows the effect of the detector resolution) | |
55 | // the following are control histograms to check the dNdEtaAnalysis class | |
56 | TH3F* fVertex; //! vertex of counted particles | |
57 | TH1F* fPartPt; //! counted particles as function of pt | |
58 | ||
59 | private: | |
60 | AlidNdEtaTask(const AlidNdEtaTask&); | |
61 | AlidNdEtaTask& operator=(const AlidNdEtaTask&); | |
62 | ||
63 | ClassDef(AlidNdEtaTask, 1); | |
64 | }; | |
65 | ||
66 | #endif |