#ifndef ALIANALYSISTASKMUONTRACKINGEFF_H
#define ALIANALYSISTASKMUONTRACKINGEFF_H
#include "AliAnalysisTaskSE.h"
#include "AliMuonTrackCuts.h"
#include "TString.h"
class TList;
class TObjArray;
class AliCounterCollection;
class AliMUONGeometryTransformer;
class AliMUONTrack;
class AliMUONTrackParam;
class AliMpArea;
class AliMpPad;
class AliMUON2DMap;
class AliAnalysisTaskMuonTrackingEff : public AliAnalysisTaskSE
{
public:
AliAnalysisTaskMuonTrackingEff();
AliAnalysisTaskMuonTrackingEff(TString name);
virtual ~AliAnalysisTaskMuonTrackingEff();
void SetDefaultStorage(const char* ocdbPath) { fOCDBpath = ocdbPath; }
void SetAlignStorage(const char* ocdbPath) { fAlignOCDBpath = ocdbPath; }
void SetRecoParamStorage(const char* ocdbPath) { fRecoParamOCDBpath = ocdbPath; }
void SelectCentrality(Double_t min, Double_t max) {fCentMin = min; fCentMax = max;}
void SetMuonTrackCuts(AliMuonTrackCuts &trackCuts);
void SetMuonPtCut(Double_t cut) {fPtCut = cut;}
void UseMCLabel(Bool_t flag = kTRUE) { fUseMCLabel = flag; }
void EnableDisplay(Bool_t flag = kTRUE) { fEnableDisplay = flag; }
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *);
virtual void NotifyRun();
virtual void Terminate(Option_t *);
private:
AliAnalysisTaskMuonTrackingEff(const AliAnalysisTaskMuonTrackingEff& rhs);
AliAnalysisTaskMuonTrackingEff& operator = (const AliAnalysisTaskMuonTrackingEff& rhs);
Bool_t TagRemovableClusters(AliMUONTrack &track, Bool_t removableChambers[10]);
void FindAndRecordMissingClusters(AliMUONTrackParam ¶m, Int_t chamber, Double_t trackInfo[6]);
void Intersect(AliMUONTrackParam ¶m, Int_t deId, Double_t p[3]);
Bool_t OverlapDE(AliMpArea &area, Int_t deId);
void RecordCluster(Int_t chamber, Int_t deId, AliMpPad pad[2], Double_t trackInfo[6],
TString clusterKey, TList *chamberHistList, Bool_t recordChamber);
Bool_t FindPads(Int_t deId, Double_t pos[3], AliMpPad pad[2]);
private:
static const Int_t fgkNofDE[11];
static const Int_t fgkNofBusPath;
static const Int_t fgkNofManu;
Bool_t fOCDBLoaded;
TString fOCDBpath;
TString fAlignOCDBpath;
TString fRecoParamOCDBpath;
Double_t fCentMin;
Double_t fCentMax;
AliMuonTrackCuts* fMuonTrackCuts;
Double_t fPtCut;
Bool_t fUseMCLabel;
Bool_t fEnableDisplay;
AliMUONGeometryTransformer *fTransformer;
TObjArray *fDEPlanes;
AliCounterCollection* fClusters;
TList* fChamberTDHistList;
TList* fChamberTTHistList;
TList* fChamberSDHistList;
TList* fExtraHistList;
ClassDef(AliAnalysisTaskMuonTrackingEff, 5)
};
inline void AliAnalysisTaskMuonTrackingEff::SetMuonTrackCuts(AliMuonTrackCuts &trackCuts)
{
delete fMuonTrackCuts;
fMuonTrackCuts = new AliMuonTrackCuts(trackCuts);
}
#endif
AliAnalysisTaskMuonTrackingEff.h:1 AliAnalysisTaskMuonTrackingEff.h:2 AliAnalysisTaskMuonTrackingEff.h:3 AliAnalysisTaskMuonTrackingEff.h:4 AliAnalysisTaskMuonTrackingEff.h:5 AliAnalysisTaskMuonTrackingEff.h:6 AliAnalysisTaskMuonTrackingEff.h:7 AliAnalysisTaskMuonTrackingEff.h:8 AliAnalysisTaskMuonTrackingEff.h:9 AliAnalysisTaskMuonTrackingEff.h:10 AliAnalysisTaskMuonTrackingEff.h:11 AliAnalysisTaskMuonTrackingEff.h:12 AliAnalysisTaskMuonTrackingEff.h:13 AliAnalysisTaskMuonTrackingEff.h:14 AliAnalysisTaskMuonTrackingEff.h:15 AliAnalysisTaskMuonTrackingEff.h:16 AliAnalysisTaskMuonTrackingEff.h:17 AliAnalysisTaskMuonTrackingEff.h:18 AliAnalysisTaskMuonTrackingEff.h:19 AliAnalysisTaskMuonTrackingEff.h:20 AliAnalysisTaskMuonTrackingEff.h:21 AliAnalysisTaskMuonTrackingEff.h:22 AliAnalysisTaskMuonTrackingEff.h:23 AliAnalysisTaskMuonTrackingEff.h:24 AliAnalysisTaskMuonTrackingEff.h:25 AliAnalysisTaskMuonTrackingEff.h:26 AliAnalysisTaskMuonTrackingEff.h:27 AliAnalysisTaskMuonTrackingEff.h:28 AliAnalysisTaskMuonTrackingEff.h:29 AliAnalysisTaskMuonTrackingEff.h:30 AliAnalysisTaskMuonTrackingEff.h:31 AliAnalysisTaskMuonTrackingEff.h:32 AliAnalysisTaskMuonTrackingEff.h:33 AliAnalysisTaskMuonTrackingEff.h:34 AliAnalysisTaskMuonTrackingEff.h:35 AliAnalysisTaskMuonTrackingEff.h:36 AliAnalysisTaskMuonTrackingEff.h:37 AliAnalysisTaskMuonTrackingEff.h:38 AliAnalysisTaskMuonTrackingEff.h:39 AliAnalysisTaskMuonTrackingEff.h:40 AliAnalysisTaskMuonTrackingEff.h:41 AliAnalysisTaskMuonTrackingEff.h:42 AliAnalysisTaskMuonTrackingEff.h:43 AliAnalysisTaskMuonTrackingEff.h:44 AliAnalysisTaskMuonTrackingEff.h:45 AliAnalysisTaskMuonTrackingEff.h:46 AliAnalysisTaskMuonTrackingEff.h:47 AliAnalysisTaskMuonTrackingEff.h:48 AliAnalysisTaskMuonTrackingEff.h:49 AliAnalysisTaskMuonTrackingEff.h:50 AliAnalysisTaskMuonTrackingEff.h:51 AliAnalysisTaskMuonTrackingEff.h:52 AliAnalysisTaskMuonTrackingEff.h:53 AliAnalysisTaskMuonTrackingEff.h:54 AliAnalysisTaskMuonTrackingEff.h:55 AliAnalysisTaskMuonTrackingEff.h:56 AliAnalysisTaskMuonTrackingEff.h:57 AliAnalysisTaskMuonTrackingEff.h:58 AliAnalysisTaskMuonTrackingEff.h:59 AliAnalysisTaskMuonTrackingEff.h:60 AliAnalysisTaskMuonTrackingEff.h:61 AliAnalysisTaskMuonTrackingEff.h:62 AliAnalysisTaskMuonTrackingEff.h:63 AliAnalysisTaskMuonTrackingEff.h:64 AliAnalysisTaskMuonTrackingEff.h:65 AliAnalysisTaskMuonTrackingEff.h:66 AliAnalysisTaskMuonTrackingEff.h:67 AliAnalysisTaskMuonTrackingEff.h:68 AliAnalysisTaskMuonTrackingEff.h:69 AliAnalysisTaskMuonTrackingEff.h:70 AliAnalysisTaskMuonTrackingEff.h:71 AliAnalysisTaskMuonTrackingEff.h:72 AliAnalysisTaskMuonTrackingEff.h:73 AliAnalysisTaskMuonTrackingEff.h:74 AliAnalysisTaskMuonTrackingEff.h:75 AliAnalysisTaskMuonTrackingEff.h:76 AliAnalysisTaskMuonTrackingEff.h:77 AliAnalysisTaskMuonTrackingEff.h:78 AliAnalysisTaskMuonTrackingEff.h:79 AliAnalysisTaskMuonTrackingEff.h:80 AliAnalysisTaskMuonTrackingEff.h:81 AliAnalysisTaskMuonTrackingEff.h:82 AliAnalysisTaskMuonTrackingEff.h:83 AliAnalysisTaskMuonTrackingEff.h:84 AliAnalysisTaskMuonTrackingEff.h:85 AliAnalysisTaskMuonTrackingEff.h:86 AliAnalysisTaskMuonTrackingEff.h:87 AliAnalysisTaskMuonTrackingEff.h:88 AliAnalysisTaskMuonTrackingEff.h:89 AliAnalysisTaskMuonTrackingEff.h:90 AliAnalysisTaskMuonTrackingEff.h:91 AliAnalysisTaskMuonTrackingEff.h:92 AliAnalysisTaskMuonTrackingEff.h:93 AliAnalysisTaskMuonTrackingEff.h:94 AliAnalysisTaskMuonTrackingEff.h:95 AliAnalysisTaskMuonTrackingEff.h:96 AliAnalysisTaskMuonTrackingEff.h:97 AliAnalysisTaskMuonTrackingEff.h:98 AliAnalysisTaskMuonTrackingEff.h:99 AliAnalysisTaskMuonTrackingEff.h:100 AliAnalysisTaskMuonTrackingEff.h:101 AliAnalysisTaskMuonTrackingEff.h:102 AliAnalysisTaskMuonTrackingEff.h:103 AliAnalysisTaskMuonTrackingEff.h:104 AliAnalysisTaskMuonTrackingEff.h:105 AliAnalysisTaskMuonTrackingEff.h:106 AliAnalysisTaskMuonTrackingEff.h:107 AliAnalysisTaskMuonTrackingEff.h:108 AliAnalysisTaskMuonTrackingEff.h:109 AliAnalysisTaskMuonTrackingEff.h:110 AliAnalysisTaskMuonTrackingEff.h:111 AliAnalysisTaskMuonTrackingEff.h:112 AliAnalysisTaskMuonTrackingEff.h:113 AliAnalysisTaskMuonTrackingEff.h:114 AliAnalysisTaskMuonTrackingEff.h:115 AliAnalysisTaskMuonTrackingEff.h:116 AliAnalysisTaskMuonTrackingEff.h:117 AliAnalysisTaskMuonTrackingEff.h:118 AliAnalysisTaskMuonTrackingEff.h:119 AliAnalysisTaskMuonTrackingEff.h:120 AliAnalysisTaskMuonTrackingEff.h:121 AliAnalysisTaskMuonTrackingEff.h:122 AliAnalysisTaskMuonTrackingEff.h:123 AliAnalysisTaskMuonTrackingEff.h:124 AliAnalysisTaskMuonTrackingEff.h:125 AliAnalysisTaskMuonTrackingEff.h:126 AliAnalysisTaskMuonTrackingEff.h:127 AliAnalysisTaskMuonTrackingEff.h:128 AliAnalysisTaskMuonTrackingEff.h:129 AliAnalysisTaskMuonTrackingEff.h:130 AliAnalysisTaskMuonTrackingEff.h:131 AliAnalysisTaskMuonTrackingEff.h:132 AliAnalysisTaskMuonTrackingEff.h:133 AliAnalysisTaskMuonTrackingEff.h:134 AliAnalysisTaskMuonTrackingEff.h:135 AliAnalysisTaskMuonTrackingEff.h:136 AliAnalysisTaskMuonTrackingEff.h:137