]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AliAnalysisTaskTrigChEff.h
bugfix #38673 (Kenneth): last pad per row was always ignored; corrected cleanup og...
[u/mrichter/AliRoot.git] / PWG3 / muon / AliAnalysisTaskTrigChEff.h
CommitLineData
59156747 1#include "TH1.h"
2#include "TList.h"
3
4#include "AliESDEvent.h"
5#include "AliAODEvent.h"
6
7class 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
19protected:
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
30private:
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