#ifndef ALIANALYSISTASKMUONFAKES_H
#define ALIANALYSISTASKMUONFAKES_H
#include <TString.h>
#include "AliAnalysisTaskSE.h"
#include "AliMuonTrackCuts.h"
class TObjArray;
class AliCounterCollection;
class AliESDMuonTrack;
class AliMUONVTrackStore;
class AliMUONTrack;
class AliAnalysisTaskMuonFakes : public AliAnalysisTaskSE {
public:
AliAnalysisTaskMuonFakes();
AliAnalysisTaskMuonFakes(const char *name);
virtual ~AliAnalysisTaskMuonFakes();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *);
virtual void NotifyRun();
virtual void Terminate(Option_t *);
void ShowProgressBar(Bool_t flag = kTRUE) { fShowProgressBar = flag; }
void UseMCLabels(Bool_t flag = kTRUE) { fUseLabel = flag; }
void CombineMCId(Bool_t flag = kTRUE) { fCombineMCId = flag; }
void SetExternalSigmaCut(Double_t cut) { fExternalSigmaCut = cut; }
void MatchTrigger(Bool_t flag = kTRUE) { fMatchTrig = flag; }
void ApplyAccCut(Bool_t flag = kTRUE) { fApplyAccCut = flag; }
void Chi2Cut(Double_t cut) { fChi2Cut = cut; }
void PtCut(Double_t cut) { fPtCut = cut; }
void SetMuonTrackCuts(AliMuonTrackCuts &trackCuts);
void RecoParamLocation(const char* ocdbPath) { fRecoParamLocation = ocdbPath; }
void DecayAsFake(Bool_t flag = kTRUE) { fDecayAsFake = flag; }
void PrintDecayChain(Bool_t flag = kTRUE) { fPrintDecayChain = flag; }
void DisableDetailedCounters(Bool_t flag = kTRUE) { fDisableDetailedCounters = flag; }
TObjArray* GetCanvases() {return fCanvases;}
private:
AliAnalysisTaskMuonFakes(const AliAnalysisTaskMuonFakes& rhs);
AliAnalysisTaskMuonFakes& operator = (const AliAnalysisTaskMuonFakes& rhs);
Bool_t IsSelected(AliESDMuonTrack &esdTrack);
void FillHistoTrack(Int_t histShift, Int_t nClusters, Int_t nChamberHit, Double_t normalizedChi2,
Double_t p, Double_t pT, Double_t eta, Double_t phi, Double_t dca,
Double_t thetaTrackAbsEnd, Double_t pdca, Double_t rAbs);
void FillHistoPair(Int_t histShift, Double_t mass, Double_t p, Double_t pt,
Double_t y, Double_t eta, Double_t phi);
Int_t RemoveConnectedFakes(AliMUONVTrackStore &fakeTrackStore, AliMUONVTrackStore &trackRefStore,
TString &selected, TString ¢rality);
Int_t IsDecay(Int_t nClusters, Int_t *chId, Int_t *labels, Bool_t &isReconstructible, Int_t &lastCh) const;
void AddCompatibleClusters(const AliMUONTrack &track, const AliMUONTrack &trackRef,
TArrayI *labels, Int_t *nLabels) const;
Int_t IsDecayByLabel(const AliMUONTrack &track, Bool_t &isReconstructible, Int_t &lastCh) const;
Int_t IsDecayByPosition(const AliMUONTrack &track, const AliMUONVTrackStore &trackRefStore,
const AliMUONVTrackStore &usedTrackRefStore, Bool_t &isReconstructible,
Int_t &lastCh) const;
private:
enum histoIndex {
kNumberOfClusters = 0,
kNumberOfChamberHit = 6,
kChi2PerDof = 12,
kChi2PerDofVsNClusters = 18,
kChi2PerDofVsNChamberHit = 24,
kP = 30,
kPt = 36,
kEta = 42,
kPhi = 48,
kDCA = 54,
kPDCA23 = 60,
kPDCA310 = 66,
kRAbs = 72,
kNhistTrack = 78
};
enum histoIndexAdd {
kNumberOfTracks,
kNumberOfAdditionalTracks,
kNumberOfClustersMC,
kFractionOfMatchedClusters,
kFractionOfConnectedClusters
};
enum histo2Index {
k2Mass = 0,
k2P = 4,
k2Pt = 8,
k2Y = 12,
k2Eta = 16,
k2Phi = 20,
kNhistPair = 24
};
TObjArray* fList;
TObjArray* fList2;
TObjArray* fCanvases;
AliCounterCollection* fTrackCounters;
AliCounterCollection* fFakeTrackCounters;
AliCounterCollection* fMatchedTrackCounters;
AliCounterCollection* fEventCounters;
AliCounterCollection* fPairCounters;
TString fCurrentFileName;
UInt_t fRequestedStationMask;
Bool_t fRequest2ChInSameSt45;
Double_t fSigmaCut;
Int_t fNEvents;
Bool_t fShowProgressBar;
Bool_t fUseLabel;
Bool_t fCombineMCId;
Double_t fExternalSigmaCut;
Bool_t fMatchTrig;
Bool_t fApplyAccCut;
Double_t fChi2Cut;
Double_t fPtCut;
TString fRecoParamLocation;
Bool_t fDecayAsFake;
Bool_t fPrintDecayChain;
Bool_t fDisableDetailedCounters;
AliMuonTrackCuts* fMuonTrackCuts;
ClassDef(AliAnalysisTaskMuonFakes, 3);
};
inline void AliAnalysisTaskMuonFakes::SetMuonTrackCuts(AliMuonTrackCuts &trackCuts)
{
delete fMuonTrackCuts;
fMuonTrackCuts = new AliMuonTrackCuts(trackCuts);
}
#endif
AliAnalysisTaskMuonFakes.h:1 AliAnalysisTaskMuonFakes.h:2 AliAnalysisTaskMuonFakes.h:3 AliAnalysisTaskMuonFakes.h:4 AliAnalysisTaskMuonFakes.h:5 AliAnalysisTaskMuonFakes.h:6 AliAnalysisTaskMuonFakes.h:7 AliAnalysisTaskMuonFakes.h:8 AliAnalysisTaskMuonFakes.h:9 AliAnalysisTaskMuonFakes.h:10 AliAnalysisTaskMuonFakes.h:11 AliAnalysisTaskMuonFakes.h:12 AliAnalysisTaskMuonFakes.h:13 AliAnalysisTaskMuonFakes.h:14 AliAnalysisTaskMuonFakes.h:15 AliAnalysisTaskMuonFakes.h:16 AliAnalysisTaskMuonFakes.h:17 AliAnalysisTaskMuonFakes.h:18 AliAnalysisTaskMuonFakes.h:19 AliAnalysisTaskMuonFakes.h:20 AliAnalysisTaskMuonFakes.h:21 AliAnalysisTaskMuonFakes.h:22 AliAnalysisTaskMuonFakes.h:23 AliAnalysisTaskMuonFakes.h:24 AliAnalysisTaskMuonFakes.h:25 AliAnalysisTaskMuonFakes.h:26 AliAnalysisTaskMuonFakes.h:27 AliAnalysisTaskMuonFakes.h:28 AliAnalysisTaskMuonFakes.h:29 AliAnalysisTaskMuonFakes.h:30 AliAnalysisTaskMuonFakes.h:31 AliAnalysisTaskMuonFakes.h:32 AliAnalysisTaskMuonFakes.h:33 AliAnalysisTaskMuonFakes.h:34 AliAnalysisTaskMuonFakes.h:35 AliAnalysisTaskMuonFakes.h:36 AliAnalysisTaskMuonFakes.h:37 AliAnalysisTaskMuonFakes.h:38 AliAnalysisTaskMuonFakes.h:39 AliAnalysisTaskMuonFakes.h:40 AliAnalysisTaskMuonFakes.h:41 AliAnalysisTaskMuonFakes.h:42 AliAnalysisTaskMuonFakes.h:43 AliAnalysisTaskMuonFakes.h:44 AliAnalysisTaskMuonFakes.h:45 AliAnalysisTaskMuonFakes.h:46 AliAnalysisTaskMuonFakes.h:47 AliAnalysisTaskMuonFakes.h:48 AliAnalysisTaskMuonFakes.h:49 AliAnalysisTaskMuonFakes.h:50 AliAnalysisTaskMuonFakes.h:51 AliAnalysisTaskMuonFakes.h:52 AliAnalysisTaskMuonFakes.h:53 AliAnalysisTaskMuonFakes.h:54 AliAnalysisTaskMuonFakes.h:55 AliAnalysisTaskMuonFakes.h:56 AliAnalysisTaskMuonFakes.h:57 AliAnalysisTaskMuonFakes.h:58 AliAnalysisTaskMuonFakes.h:59 AliAnalysisTaskMuonFakes.h:60 AliAnalysisTaskMuonFakes.h:61 AliAnalysisTaskMuonFakes.h:62 AliAnalysisTaskMuonFakes.h:63 AliAnalysisTaskMuonFakes.h:64 AliAnalysisTaskMuonFakes.h:65 AliAnalysisTaskMuonFakes.h:66 AliAnalysisTaskMuonFakes.h:67 AliAnalysisTaskMuonFakes.h:68 AliAnalysisTaskMuonFakes.h:69 AliAnalysisTaskMuonFakes.h:70 AliAnalysisTaskMuonFakes.h:71 AliAnalysisTaskMuonFakes.h:72 AliAnalysisTaskMuonFakes.h:73 AliAnalysisTaskMuonFakes.h:74 AliAnalysisTaskMuonFakes.h:75 AliAnalysisTaskMuonFakes.h:76 AliAnalysisTaskMuonFakes.h:77 AliAnalysisTaskMuonFakes.h:78 AliAnalysisTaskMuonFakes.h:79 AliAnalysisTaskMuonFakes.h:80 AliAnalysisTaskMuonFakes.h:81 AliAnalysisTaskMuonFakes.h:82 AliAnalysisTaskMuonFakes.h:83 AliAnalysisTaskMuonFakes.h:84 AliAnalysisTaskMuonFakes.h:85 AliAnalysisTaskMuonFakes.h:86 AliAnalysisTaskMuonFakes.h:87 AliAnalysisTaskMuonFakes.h:88 AliAnalysisTaskMuonFakes.h:89 AliAnalysisTaskMuonFakes.h:90 AliAnalysisTaskMuonFakes.h:91 AliAnalysisTaskMuonFakes.h:92 AliAnalysisTaskMuonFakes.h:93 AliAnalysisTaskMuonFakes.h:94 AliAnalysisTaskMuonFakes.h:95 AliAnalysisTaskMuonFakes.h:96 AliAnalysisTaskMuonFakes.h:97 AliAnalysisTaskMuonFakes.h:98 AliAnalysisTaskMuonFakes.h:99 AliAnalysisTaskMuonFakes.h:100 AliAnalysisTaskMuonFakes.h:101 AliAnalysisTaskMuonFakes.h:102 AliAnalysisTaskMuonFakes.h:103 AliAnalysisTaskMuonFakes.h:104 AliAnalysisTaskMuonFakes.h:105 AliAnalysisTaskMuonFakes.h:106 AliAnalysisTaskMuonFakes.h:107 AliAnalysisTaskMuonFakes.h:108 AliAnalysisTaskMuonFakes.h:109 AliAnalysisTaskMuonFakes.h:110 AliAnalysisTaskMuonFakes.h:111 AliAnalysisTaskMuonFakes.h:112 AliAnalysisTaskMuonFakes.h:113 AliAnalysisTaskMuonFakes.h:114 AliAnalysisTaskMuonFakes.h:115 AliAnalysisTaskMuonFakes.h:116 AliAnalysisTaskMuonFakes.h:117 AliAnalysisTaskMuonFakes.h:118 AliAnalysisTaskMuonFakes.h:119 AliAnalysisTaskMuonFakes.h:120 AliAnalysisTaskMuonFakes.h:121 AliAnalysisTaskMuonFakes.h:122 AliAnalysisTaskMuonFakes.h:123 AliAnalysisTaskMuonFakes.h:124 AliAnalysisTaskMuonFakes.h:125 AliAnalysisTaskMuonFakes.h:126 AliAnalysisTaskMuonFakes.h:127 AliAnalysisTaskMuonFakes.h:128 AliAnalysisTaskMuonFakes.h:129 AliAnalysisTaskMuonFakes.h:130 AliAnalysisTaskMuonFakes.h:131 AliAnalysisTaskMuonFakes.h:132 AliAnalysisTaskMuonFakes.h:133 AliAnalysisTaskMuonFakes.h:134 AliAnalysisTaskMuonFakes.h:135 AliAnalysisTaskMuonFakes.h:136 AliAnalysisTaskMuonFakes.h:137 AliAnalysisTaskMuonFakes.h:138 AliAnalysisTaskMuonFakes.h:139 AliAnalysisTaskMuonFakes.h:140 AliAnalysisTaskMuonFakes.h:141 AliAnalysisTaskMuonFakes.h:142 AliAnalysisTaskMuonFakes.h:143 AliAnalysisTaskMuonFakes.h:144 AliAnalysisTaskMuonFakes.h:145 AliAnalysisTaskMuonFakes.h:146 AliAnalysisTaskMuonFakes.h:147 AliAnalysisTaskMuonFakes.h:148 AliAnalysisTaskMuonFakes.h:149 AliAnalysisTaskMuonFakes.h:150 AliAnalysisTaskMuonFakes.h:151 AliAnalysisTaskMuonFakes.h:152 AliAnalysisTaskMuonFakes.h:153 AliAnalysisTaskMuonFakes.h:154 AliAnalysisTaskMuonFakes.h:155 AliAnalysisTaskMuonFakes.h:156 AliAnalysisTaskMuonFakes.h:157 AliAnalysisTaskMuonFakes.h:158 AliAnalysisTaskMuonFakes.h:159 AliAnalysisTaskMuonFakes.h:160 AliAnalysisTaskMuonFakes.h:161 AliAnalysisTaskMuonFakes.h:162 AliAnalysisTaskMuonFakes.h:163 AliAnalysisTaskMuonFakes.h:164 AliAnalysisTaskMuonFakes.h:165 AliAnalysisTaskMuonFakes.h:166 AliAnalysisTaskMuonFakes.h:167 AliAnalysisTaskMuonFakes.h:168 AliAnalysisTaskMuonFakes.h:169 AliAnalysisTaskMuonFakes.h:170 AliAnalysisTaskMuonFakes.h:171 AliAnalysisTaskMuonFakes.h:172 AliAnalysisTaskMuonFakes.h:173 AliAnalysisTaskMuonFakes.h:174 AliAnalysisTaskMuonFakes.h:175 AliAnalysisTaskMuonFakes.h:176 AliAnalysisTaskMuonFakes.h:177 AliAnalysisTaskMuonFakes.h:178 AliAnalysisTaskMuonFakes.h:179 AliAnalysisTaskMuonFakes.h:180 AliAnalysisTaskMuonFakes.h:181 AliAnalysisTaskMuonFakes.h:182 AliAnalysisTaskMuonFakes.h:183 AliAnalysisTaskMuonFakes.h:184 AliAnalysisTaskMuonFakes.h:185 AliAnalysisTaskMuonFakes.h:186 AliAnalysisTaskMuonFakes.h:187 AliAnalysisTaskMuonFakes.h:188 AliAnalysisTaskMuonFakes.h:189 AliAnalysisTaskMuonFakes.h:190 AliAnalysisTaskMuonFakes.h:191 AliAnalysisTaskMuonFakes.h:192 AliAnalysisTaskMuonFakes.h:193 AliAnalysisTaskMuonFakes.h:194 AliAnalysisTaskMuonFakes.h:195 AliAnalysisTaskMuonFakes.h:196 AliAnalysisTaskMuonFakes.h:197