#ifndef ALIANALYSISTASKMUONQA_H
#define ALIANALYSISTASKMUONQA_H
#include "AliAnalysisTaskSE.h"
#include "TArrayI.h"
class TMap;
class TList;
class TObjArray;
class AliCounterCollection;
class AliMuonTrackCuts;
class AliAnalysisTaskMuonQA : public AliAnalysisTaskSE {
public:
AliAnalysisTaskMuonQA();
AliAnalysisTaskMuonQA(const char *name);
virtual ~AliAnalysisTaskMuonQA();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *);
virtual void Terminate(Option_t *);
virtual void NotifyRun();
void SelectCharge(Short_t charge = 0) {fSelectCharge = charge;}
void SelectPhysics(Bool_t flag = kTRUE) {fSelectPhysics = flag;}
void SelectTrigger(Bool_t flag = kTRUE, UInt_t mask = AliVEvent::kMUON) {fSelectTrigger = flag; fTriggerMask = mask;}
void SelectMatched(Bool_t flag = kTRUE) {fSelectMatched = flag;}
void ApplyAccCut(Bool_t flag = kTRUE) { fApplyAccCut = flag; }
void SetTrackCuts ( AliMuonTrackCuts* trackCuts );
AliMuonTrackCuts* GetTrackCuts() { return fTrackCuts; }
private:
AliAnalysisTaskMuonQA(const AliAnalysisTaskMuonQA& rhs);
AliAnalysisTaskMuonQA& operator = (const AliAnalysisTaskMuonQA& rhs);
Double_t ChangeThetaRange(Double_t theta);
UInt_t BuildTriggerWord(TString& FiredTriggerClasses);
TList* BuildListOfTriggerCases(TString& FiredTriggerClasses);
TList* BuildListOfAllTriggerCases(TString& FiredTriggerClasses);
TList* BuildListOfSelectedTriggerCases(TString& FiredTriggerClasses);
private:
enum eList {
kNTracks = 0,
kMatchTrig = 1,
kSign = 2,
kDCA = 3,
kP = 4,
kPMuPlus = 5,
kPMuMinus = 6,
kPt = 7,
kPtMuPlus = 8,
kPtMuMinus = 9,
kRapidity = 10,
kThetaX = 11,
kThetaY = 12,
kChi2 = 13,
kProbChi2 = 14,
kNClustersPerTrack = 15,
kNChamberHitPerTrack = 16,
kPtMatchLpt = 17,
kPtMatchHpt = 18,
kPtMuPlusMatchLpt = 19,
kPtMuPlusMatchHpt = 20,
kPtMuMinusMatchLpt = 21,
kPtMuMinusMatchHpt = 22,
kMuonTrig = 23
};
enum eListExpert {
kNClustersPerCh = 0,
kNClustersPerDE = 1,
kClusterHitMapInCh = 2,
kClusterChargeInCh = 12,
kClusterChargePerDE = 22,
kClusterSizeInCh = 23,
kClusterSizePerDE = 33
};
enum eListNorm {
kClusterChargePerChMean = 0,
kClusterChargePerChSigma = 1,
kClusterChargePerDEMean = 2,
kClusterChargePerDESigma = 3,
kClusterSizePerChMean = 4,
kClusterSizePerChSigma = 5,
kClusterSizePerDEMean = 6,
kClusterSizePerDESigma = 7,
kNClustersPerChPerTrack = 8,
kNClustersPerDEPerTrack = 9
};
TObjArray* fList;
TObjArray* fListExpert;
TObjArray* fListNorm;
AliCounterCollection* fTrackCounters;
AliCounterCollection* fEventCounters;
Short_t fSelectCharge;
Bool_t fSelectPhysics;
Bool_t fSelectTrigger;
UInt_t fTriggerMask;
Bool_t fSelectMatched;
Bool_t fApplyAccCut;
TMap* fTriggerClass;
TList* fSelectTriggerClass;
AliMuonTrackCuts* fTrackCuts;
TArrayI fMuonTrigIndex;
static const Int_t nCh;
static const Int_t nDE;
static const Float_t dMax[5];
ClassDef(AliAnalysisTaskMuonQA, 7);
};
#endif
AliAnalysisTaskMuonQA.h:1 AliAnalysisTaskMuonQA.h:2 AliAnalysisTaskMuonQA.h:3 AliAnalysisTaskMuonQA.h:4 AliAnalysisTaskMuonQA.h:5 AliAnalysisTaskMuonQA.h:6 AliAnalysisTaskMuonQA.h:7 AliAnalysisTaskMuonQA.h:8 AliAnalysisTaskMuonQA.h:9 AliAnalysisTaskMuonQA.h:10 AliAnalysisTaskMuonQA.h:11 AliAnalysisTaskMuonQA.h:12 AliAnalysisTaskMuonQA.h:13 AliAnalysisTaskMuonQA.h:14 AliAnalysisTaskMuonQA.h:15 AliAnalysisTaskMuonQA.h:16 AliAnalysisTaskMuonQA.h:17 AliAnalysisTaskMuonQA.h:18 AliAnalysisTaskMuonQA.h:19 AliAnalysisTaskMuonQA.h:20 AliAnalysisTaskMuonQA.h:21 AliAnalysisTaskMuonQA.h:22 AliAnalysisTaskMuonQA.h:23 AliAnalysisTaskMuonQA.h:24 AliAnalysisTaskMuonQA.h:25 AliAnalysisTaskMuonQA.h:26 AliAnalysisTaskMuonQA.h:27 AliAnalysisTaskMuonQA.h:28 AliAnalysisTaskMuonQA.h:29 AliAnalysisTaskMuonQA.h:30 AliAnalysisTaskMuonQA.h:31 AliAnalysisTaskMuonQA.h:32 AliAnalysisTaskMuonQA.h:33 AliAnalysisTaskMuonQA.h:34 AliAnalysisTaskMuonQA.h:35 AliAnalysisTaskMuonQA.h:36 AliAnalysisTaskMuonQA.h:37 AliAnalysisTaskMuonQA.h:38 AliAnalysisTaskMuonQA.h:39 AliAnalysisTaskMuonQA.h:40 AliAnalysisTaskMuonQA.h:41 AliAnalysisTaskMuonQA.h:42 AliAnalysisTaskMuonQA.h:43 AliAnalysisTaskMuonQA.h:44 AliAnalysisTaskMuonQA.h:45 AliAnalysisTaskMuonQA.h:46 AliAnalysisTaskMuonQA.h:47 AliAnalysisTaskMuonQA.h:48 AliAnalysisTaskMuonQA.h:49 AliAnalysisTaskMuonQA.h:50 AliAnalysisTaskMuonQA.h:51 AliAnalysisTaskMuonQA.h:52 AliAnalysisTaskMuonQA.h:53 AliAnalysisTaskMuonQA.h:54 AliAnalysisTaskMuonQA.h:55 AliAnalysisTaskMuonQA.h:56 AliAnalysisTaskMuonQA.h:57 AliAnalysisTaskMuonQA.h:58 AliAnalysisTaskMuonQA.h:59 AliAnalysisTaskMuonQA.h:60 AliAnalysisTaskMuonQA.h:61 AliAnalysisTaskMuonQA.h:62 AliAnalysisTaskMuonQA.h:63 AliAnalysisTaskMuonQA.h:64 AliAnalysisTaskMuonQA.h:65 AliAnalysisTaskMuonQA.h:66 AliAnalysisTaskMuonQA.h:67 AliAnalysisTaskMuonQA.h:68 AliAnalysisTaskMuonQA.h:69 AliAnalysisTaskMuonQA.h:70 AliAnalysisTaskMuonQA.h:71 AliAnalysisTaskMuonQA.h:72 AliAnalysisTaskMuonQA.h:73 AliAnalysisTaskMuonQA.h:74 AliAnalysisTaskMuonQA.h:75 AliAnalysisTaskMuonQA.h:76 AliAnalysisTaskMuonQA.h:77 AliAnalysisTaskMuonQA.h:78 AliAnalysisTaskMuonQA.h:79 AliAnalysisTaskMuonQA.h:80 AliAnalysisTaskMuonQA.h:81 AliAnalysisTaskMuonQA.h:82 AliAnalysisTaskMuonQA.h:83 AliAnalysisTaskMuonQA.h:84 AliAnalysisTaskMuonQA.h:85 AliAnalysisTaskMuonQA.h:86 AliAnalysisTaskMuonQA.h:87 AliAnalysisTaskMuonQA.h:88 AliAnalysisTaskMuonQA.h:89 AliAnalysisTaskMuonQA.h:90 AliAnalysisTaskMuonQA.h:91 AliAnalysisTaskMuonQA.h:92 AliAnalysisTaskMuonQA.h:93 AliAnalysisTaskMuonQA.h:94 AliAnalysisTaskMuonQA.h:95 AliAnalysisTaskMuonQA.h:96 AliAnalysisTaskMuonQA.h:97 AliAnalysisTaskMuonQA.h:98 AliAnalysisTaskMuonQA.h:99 AliAnalysisTaskMuonQA.h:100 AliAnalysisTaskMuonQA.h:101 AliAnalysisTaskMuonQA.h:102 AliAnalysisTaskMuonQA.h:103 AliAnalysisTaskMuonQA.h:104 AliAnalysisTaskMuonQA.h:105 AliAnalysisTaskMuonQA.h:106 AliAnalysisTaskMuonQA.h:107 AliAnalysisTaskMuonQA.h:108 AliAnalysisTaskMuonQA.h:109 AliAnalysisTaskMuonQA.h:110 AliAnalysisTaskMuonQA.h:111 AliAnalysisTaskMuonQA.h:112 AliAnalysisTaskMuonQA.h:113 AliAnalysisTaskMuonQA.h:114 AliAnalysisTaskMuonQA.h:115 AliAnalysisTaskMuonQA.h:116 AliAnalysisTaskMuonQA.h:117 AliAnalysisTaskMuonQA.h:118 AliAnalysisTaskMuonQA.h:119 AliAnalysisTaskMuonQA.h:120 AliAnalysisTaskMuonQA.h:121 AliAnalysisTaskMuonQA.h:122 AliAnalysisTaskMuonQA.h:123 AliAnalysisTaskMuonQA.h:124 AliAnalysisTaskMuonQA.h:125 AliAnalysisTaskMuonQA.h:126 AliAnalysisTaskMuonQA.h:127 AliAnalysisTaskMuonQA.h:128 AliAnalysisTaskMuonQA.h:129 AliAnalysisTaskMuonQA.h:130 AliAnalysisTaskMuonQA.h:131 AliAnalysisTaskMuonQA.h:132 AliAnalysisTaskMuonQA.h:133 AliAnalysisTaskMuonQA.h:134 AliAnalysisTaskMuonQA.h:135 AliAnalysisTaskMuonQA.h:136 AliAnalysisTaskMuonQA.h:137 AliAnalysisTaskMuonQA.h:138 AliAnalysisTaskMuonQA.h:139 AliAnalysisTaskMuonQA.h:140 AliAnalysisTaskMuonQA.h:141 AliAnalysisTaskMuonQA.h:142 AliAnalysisTaskMuonQA.h:143 AliAnalysisTaskMuonQA.h:144 AliAnalysisTaskMuonQA.h:145 AliAnalysisTaskMuonQA.h:146 AliAnalysisTaskMuonQA.h:147 AliAnalysisTaskMuonQA.h:148 AliAnalysisTaskMuonQA.h:149 AliAnalysisTaskMuonQA.h:150