]>
Commit | Line | Data |
---|---|---|
0f87171a | 1 | #ifndef ALIANALYSISTASKEVENTCOUNT_H |
2 | #define ALIANALYSISTASKEVENTCOUNT_H | |
3 | ||
4 | // analysis task creating basic QA plots for resonance particles | |
5 | // Author: Ayben Karasu Uysal | |
6 | ||
7 | class TH1I; | |
8 | class TH1F; | |
9 | class TH2F; | |
10 | ||
11 | class AliESDpid; | |
12 | class AliESDEvent; | |
13 | class AliESDtrackCuts; | |
14 | ||
15 | #include "AliAnalysisTaskSE.h" | |
16 | ||
17 | class AliAnalysisTaskEventCount : public AliAnalysisTaskSE { | |
18 | public: | |
19 | ||
20 | enum EType { | |
21 | kAll = 0, | |
22 | kPassPhysicsSel, | |
23 | kGoodPrimaryVertex, | |
24 | kHas1TrackAny, | |
25 | kHas1TrackQuality | |
26 | ||
27 | kTypes | |
28 | }; | |
29 | ||
30 | AliAnalysisTaskEventCount(const char *name = "RsnQA"); | |
31 | virtual ~AliAnalysisTaskEventCount() {} | |
32 | ||
33 | virtual void UserCreateOutputObjects(); | |
34 | virtual void UserExec(Option_t *option); | |
35 | virtual void Terminate(Option_t *); | |
36 | ||
37 | void SetVzRange(Double_t vz) {fVz = vz;} | |
38 | void SetAcceptTPCPrimaryVertex(Bool_t yn = kTRUE) {fAcceptTPC = yn;} | |
39 | static const char* Title(EType type); | |
40 | ||
41 | private: | |
42 | ||
43 | Bool_t fAcceptTPC; // accept TPC primary vertex? | |
44 | Double_t fVz; // symmetric range around 0 | |
45 | TList *fOutputList; // output container | |
46 | Bool_t fCheck[kTypes]; // check if accepted according to criterion in enum | |
47 | TH1I *fHEvent; // histogram with event counts | |
48 | AliESDtrackCuts *fTrackCuts; // cut checker | |
49 | ||
50 | AliAnalysisTaskEventCount(const AliAnalysisTaskEventCount&); | |
51 | AliAnalysisTaskEventCount& operator=(const AliAnalysisTaskEventCount&); | |
52 | ||
53 | ClassDef(AliAnalysisTaskEventCount, 1); | |
54 | }; | |
55 | ||
56 | inline const char* Title(AliAnalysisTaskEventCount::EType type) | |
57 | { | |
58 | // | |
59 | // Title string depending on type | |
60 | // | |
61 | ||
62 | switch (type) { | |
63 | case kAll : return "All"; | |
64 | case kPassPhysicsSel : return "Phys Sel OK"; | |
65 | case kGoodPrimaryVertex: return "Good primary vertex"; | |
66 | case kHas1TrackAny : return "1 track (any)"; | |
67 | case kHas1TrackQuality : return "1 track (quality OK)"; | |
68 | default : return "Unknown"; | |
69 | } | |
70 | } | |
71 | ||
72 | #endif | |
73 | ||
74 |