]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/MUON/lite/AliAnalysisTaskTrigChEff.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / MUON / lite / AliAnalysisTaskTrigChEff.h
CommitLineData
27de2dfb 1#ifndef ALIANALYSISTASKTRIGCHEFF_H
2#define ALIANALYSISTASKTRIGCHEFF_H
3
4/* $Id$ */
5
eae6a777 6//
7// Class for trigger chamber efficiency calculations
8// and tests
9//
10// Author: Diego Stocco
11//
59156747 12
eae6a777 13#include "AliVAnalysisMuon.h"
3c62c614 14
eae6a777 15class AliMuonTrackCuts;
16class AliVParticle;
ebbabac1 17class TList;
eae6a777 18class TObjArray;
19class TString;
59156747 20
eae6a777 21class AliAnalysisTaskTrigChEff : public AliVAnalysisMuon {
59156747 22 public:
6324068c 23 AliAnalysisTaskTrigChEff();
eae6a777 24 AliAnalysisTaskTrigChEff(const char *name, const AliMuonTrackCuts& cuts);
b201705a 25 virtual ~AliAnalysisTaskTrigChEff();
ebbabac1 26
eae6a777 27 void Terminate(Option_t *option);
28 void FinishTaskOutput();
59156747 29
eae6a777 30 void MyUserCreateOutputObjects();
31 void ProcessEvent(TString physSel, const TObjArray& selectTrigClasses, TString centrality);
59156747 32
eae6a777 33 TList* GetEffHistoList(TString physSel, TString trigClassNames, TString centrality, TString trackSelection);
59156747 34
028d3ff6 35// /// Use ghost tracks in calculations
36// void SetUseGhostTracks(Bool_t useGhosts = kTRUE) { fUseGhosts = useGhosts; }
59156747 37
eae6a777 38 private:
59156747 39
eae6a777 40 AliAnalysisTaskTrigChEff(const AliAnalysisTaskTrigChEff&);
41 AliAnalysisTaskTrigChEff& operator=(const AliAnalysisTaskTrigChEff&);
59156747 42
6228ecd4 43 enum {
44 kBendingEff, ///< Bending plane fired
45 kNonBendingEff, ///< Non-bending plane fired
46 kBothPlanesEff, ///< Both planes fired
47 kAllTracks, ///< tracks used for calculation
48 kNcounts ///< Number of count type
49 };
59156747 50
59156747 51 enum {
6228ecd4 52 kHchamberEff, ///< Counts per cathode histogram index
53 kHslatEff, ///< Counts per slat histogram index
54 kHboardEff, ///< Counts per board histogram index
eae6a777 55 kHcheckBoard, ///< Check rejected tracks per board
56 kNhistoTypes ///< Check rejected tracks per board
59156747 57 };
59156747 58
eae6a777 59 enum {
028d3ff6 60 kNoMatch, ///< No match with trigger
eae6a777 61 kMatchApt, ///< Match All Pt
62 kMatchLpt, ///< Match Low Pt
63 kMatchHpt, ///< Match High Pt
028d3ff6 64 kNtrigMatch ///< Total number of matched types
65 };
66
67 enum {
68 kSelectTrack, ///< Selected track
69 kNoSelectTrack, ///< Non selected tracks (includes ghosts)
70 kNtrackSel ///< Total number of track selection
eae6a777 71 };
0a2dcc83 72
73 enum {
74 kEffFromTrack, ///< Hit pattern from tracker track extrapolation
75 kEffFromTrig, ///< Hit pattern from trigger
76 kNeffMethods ///< Total number of efficiency methods
77 };
eae6a777 78
028d3ff6 79 TString GetHistoName(Int_t itype, Int_t icount, Int_t ichamber, Int_t itrackSel, Int_t imatch, Int_t imethod);
eae6a777 80 Bool_t FillEffHistoList(TString physSel, TString trigClassNames, TString centrality, TString trackSelection, TList* outList = 0x0);
81 void InitLocalKeys();
82
028d3ff6 83 TObjArray* fTrackSelKeys; ///< Selection names
84 TObjArray* fCountTypeKeys; ///< Count type keys
85 TObjArray* fHistoTypeKeys; ///< Base histogram name
86 TObjArray* fEffMethodKeys; ///< Efficiency methods keys
87 TObjArray* fMatchTrigKeys; ///< Match trigger names
eae6a777 88
028d3ff6 89// Bool_t fUseGhosts; ///< Flag to use also the trigger tracks not matching the tracker in eff. calculation
eae6a777 90 TList* fList; //!<TList output object
91
028d3ff6 92 ClassDef(AliAnalysisTaskTrigChEff, 4); // Trigger chamber efficiencies
59156747 93};
94
27de2dfb 95#endif