4 #include "AliESDEvent.h"
5 #include "AliAODEvent.h"
7 class AliAnalysisTaskTrigChEff : public AliAnalysisTask {
9 AliAnalysisTaskTrigChEff(const char *name = "AliAnalysisTaskTrigChEff");
10 virtual ~AliAnalysisTaskTrigChEff() {}
12 virtual void ConnectInputData(Option_t *);
13 virtual void CreateOutputObjects();
14 virtual void Exec(Option_t *option);
15 virtual void Terminate(Option_t *);
17 void SetType(const char* type) {fAnalysisType = type;}
22 /// Getting flag telling which efficiency is performable for current track
23 Int_t GetEffFlag(UShort_t pattern) { return (pattern >> 8) & 0x03; }
25 /// Getting crossed slat
26 Int_t GetSlat(UShort_t pattern) { return (pattern >> 10) & 0x1F; }
28 Int_t IsChInefficient(UShort_t pattern, Int_t cathode);
32 AliAnalysisTaskTrigChEff(const AliAnalysisTaskTrigChEff& rhs);
34 AliAnalysisTaskTrigChEff& operator = (const AliAnalysisTaskTrigChEff& rhs);
36 AliESDEvent* fESD; //!< ESDevent object
37 AliAODEvent* fAOD; //!< AODevent object
38 TString fAnalysisType; //"ESD" or "AOD"
40 TList* fList; //TList output object
43 kNcathodes = 2, ///< Number of cathodes
44 kNchambers = 4, ///< Number of chambers
45 kNplanes = 8, ///< Number of planes
46 kNslats = 18 ///< Number of slats
49 enum {kAllChEff, kChNonEff, kNcounts};
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
69 /// Given cathode and chamber, return plane number
70 Int_t GetPlane(Int_t cathode, Int_t chamber) { return kNchambers*cathode + chamber; }
72 ClassDef(AliAnalysisTaskTrigChEff, 0); // Single muon analysis