]>
Commit | Line | Data |
---|---|---|
59156747 | 1 | #include "TH1.h" |
2 | #include "TList.h" | |
3 | ||
4 | #include "AliESDEvent.h" | |
5 | #include "AliAODEvent.h" | |
6 | ||
7 | class AliAnalysisTaskTrigChEff : public AliAnalysisTask { | |
8 | public: | |
9 | AliAnalysisTaskTrigChEff(const char *name = "AliAnalysisTaskTrigChEff"); | |
10 | virtual ~AliAnalysisTaskTrigChEff() {} | |
11 | ||
12 | virtual void ConnectInputData(Option_t *); | |
13 | virtual void CreateOutputObjects(); | |
14 | virtual void Exec(Option_t *option); | |
15 | virtual void Terminate(Option_t *); | |
16 | ||
17 | void SetType(const char* type) {fAnalysisType = type;} | |
18 | ||
19 | protected: | |
20 | void ResetHistos(); | |
21 | ||
22 | /// Getting flag telling which efficiency is performable for current track | |
23 | Int_t GetEffFlag(UShort_t pattern) { return (pattern >> 8) & 0x03; } | |
24 | ||
25 | /// Getting crossed slat | |
26 | Int_t GetSlat(UShort_t pattern) { return (pattern >> 10) & 0x1F; } | |
27 | ||
28 | Int_t IsChInefficient(UShort_t pattern, Int_t cathode); | |
29 | ||
30 | private: | |
3ea2ed28 | 31 | /// Not implemented |
32 | AliAnalysisTaskTrigChEff(const AliAnalysisTaskTrigChEff& rhs); | |
33 | /// Not implemented | |
34 | AliAnalysisTaskTrigChEff& operator = (const AliAnalysisTaskTrigChEff& rhs); | |
35 | ||
59156747 | 36 | AliESDEvent* fESD; //!< ESDevent object |
37 | AliAODEvent* fAOD; //!< AODevent object | |
38 | TString fAnalysisType; //"ESD" or "AOD" | |
39 | ||
40 | TList* fList; //TList output object | |
41 | ||
42 | enum { | |
43 | kNcathodes = 2, ///< Number of cathodes | |
44 | kNchambers = 4, ///< Number of chambers | |
45 | kNplanes = 8, ///< Number of planes | |
46 | kNslats = 18 ///< Number of slats | |
47 | }; | |
48 | ||
49 | enum {kAllChEff, kChNonEff, kNcounts}; | |
50 | ||
51 | enum { | |
52 | kNoEff, | |
53 | kChEff, | |
54 | kSlatEff, | |
55 | kBoardEff | |
56 | }; | |
57 | ||
58 | enum { | |
59 | kHtracksInSlat = 0, ///< Tracks in slat histogram index | |
60 | kHtracksInBoard = 1, ///< Tracks in board histogram index | |
61 | kHchamberAllEff = 2, ///< N44 per cathode histogram index | |
62 | kHchamberNonEff = 4, ///< N33 per cathode histogram index | |
63 | kHslatAllEff = 6, ///< N44 per slat histogram index | |
64 | kHslatNonEff = 14, ///< N33 per slat histogram index | |
65 | kHboardAllEff = 22, ///< N44 per board histogram index | |
66 | kHboardNonEff = 30 ///< N33 per board histogram index | |
67 | }; | |
68 | ||
69 | /// Given cathode and chamber, return plane number | |
70 | Int_t GetPlane(Int_t cathode, Int_t chamber) { return kNchambers*cathode + chamber; } | |
71 | ||
72 | ClassDef(AliAnalysisTaskTrigChEff, 0); // Single muon analysis | |
73 | }; | |
74 |