]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muondep/AliAnalysisTaskMuonFakes.h
Add histo to study fakes versus Rabs. Add histo and modify counters to study fakes...
[u/mrichter/AliRoot.git] / PWG3 / muondep / AliAnalysisTaskMuonFakes.h
CommitLineData
fa97374c 1#ifndef ALIANALYSISTASKMUONFAKES_H
2#define ALIANALYSISTASKMUONFAKES_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
27de2dfb 7/* $Id$ */
8
fa97374c 9/// \ingroup muondep
10/// \class AliAnalysisTaskMuonFakes
11/// \brief Muon task to study fake tracks
12//Author: Philippe Pillot - SUBATECH Nantes
13
14#include <TString.h>
15
16#include "AliAnalysisTaskSE.h"
17
18class TObjArray;
19class AliCounterCollection;
20
21class AliAnalysisTaskMuonFakes : public AliAnalysisTaskSE {
22public:
23
24 AliAnalysisTaskMuonFakes();
25 AliAnalysisTaskMuonFakes(const char *name);
26 virtual ~AliAnalysisTaskMuonFakes();
27
28 virtual void UserCreateOutputObjects();
29 virtual void UserExec(Option_t *);
30 virtual void NotifyRun();
31 virtual void Terminate(Option_t *);
32
33 /// Set the flag to match reconstructed and simulated tracks by using the MC labels or by position
34 void UseMCLabels(Bool_t flag = kTRUE) { fUseLabel = flag; }
35
0ffd1c5a 36 /// set the flag to fill histograms only with tracks matched with trigger or not
37 void MatchTrigger(Bool_t flag = kTRUE) { fMatchTrig = flag; }
38
39 /// set the flag to fill histograms only with tracks passing the acceptance cuts (Rabs, eta)
40 void ApplyAccCut(Bool_t flag = kTRUE) { fApplyAccCut = flag; }
41
fa97374c 42 /// Set the ocdb path toward the reconstruction parameters
43 void RecoParamLocation(const char* ocdbPath) { fRecoParamLocation = ocdbPath; }
44
45 /// Return the list of summary canvases
46 TObjArray* GetCanvases() {return fCanvases;}
47
48private:
49
50 /// Not implemented
51 AliAnalysisTaskMuonFakes(const AliAnalysisTaskMuonFakes& rhs);
52 /// Not implemented
53 AliAnalysisTaskMuonFakes& operator = (const AliAnalysisTaskMuonFakes& rhs);
54
55 // look for fake tracks still connected to a reconstructible simulated track
0ffd1c5a 56 Int_t RemoveConnectedFakes(AliMUONVTrackStore &fakeTrackStore, AliMUONVTrackStore &trackRefStore,
57 TString &selected, TString &centrality);
fa97374c 58
59private:
60
61 enum histoIndex {
62 // number of tracks
63 kNumberOfTracks, ///< number of tracks
64 kNumberOfAdditionalTracks, ///< number of additional tracks
65
66 // number of clusters
67 kNumberOfClusters, ///< number of clusters per track
68 kNumberOfClustersM, ///< number of clusters per matched track
69 kNumberOfClustersF, ///< number of clusters per fake track
70 kNumberOfClustersMC, ///< number of clusters per MC track
71 kFractionOfMatchedClusters, ///< fraction of matched clusters in matched tracks
72 kFractionOfConnectedClusters, ///< fraction of connected clusters in fake tracks
73
74 // number of fired chambers
75 kNumberOfChamberHit, ///< number of fired chambers per track
76 kNumberOfChamberHitM, ///< number of fired chambers per matched track
77 kNumberOfChamberHitF, ///< number of fired chambers per fake track
78
79 // chi2
80 kChi2PerDof, ///< normalized chi2 of tracks
81 kChi2PerDofM, ///< normalized chi2 of matched tracks
82 kChi2PerDofF, ///< normalized chi2 of fake tracks
83
84 // chi2 versus number of clusters
85 kChi2PerDofVsNClusters, ///< normalized chi2 of tracks versus number of clusters
86 kChi2PerDofVsNClustersM, ///< normalized chi2 of matched tracks versus number of clusters
87 kChi2PerDofVsNClustersF, ///< normalized chi2 of fake tracks versus number of clusters
88
89 // chi2 versus number of fired chambers
90 kChi2PerDofVsNChamberHit, ///< normalized chi2 of tracks versus number of fired chambers
91 kChi2PerDofVsNChamberHitM, ///< normalized chi2 of matched tracks versus number of fired chambers
92 kChi2PerDofVsNChamberHitF, ///< normalized chi2 of fake tracks versus number of fired chambers
93
94 // physics quantities
0ffd1c5a 95 kP, ///< momentum of tracks
96 kPM, ///< momentum of matched tracks
97 kPF, ///< momentum of fake tracks
98 kPt, ///< transverse momentum of tracks
99 kPtM, ///< transverse momentum of matched tracks
100 kPtF, ///< transverse momentum of fake tracks
101 kEta, ///< pseudo-rapidity of tracks
102 kEtaM, ///< pseudo-rapidity of matched tracks
103 kEtaF, ///< pseudo-rapidity of fake tracks
104 kPhi, ///< phi angle of tracks
105 kPhiM, ///< phi angle of matched tracks
106 kPhiF, ///< phi angle of fake tracks
107 kDCA, ///< DCA of tracks
108 kDCAM, ///< DCA of matched tracks
109 kDCAF, ///< DCA of fake tracks
110 kRAbs, ///< R of tracks at the end of the absorber
111 kRAbsM, ///< R of matched tracks at the end of the absorber
112 kRAbsF, ///< R of fake tracks at the end of the absorber
113 };
114
115 enum histo2Index {
116 // physics quantities
117 k2Mass, ///< invariant mass of the pair
118 k2MassM, ///< invariant mass of matched-matched pairs
119 k2MassF1, ///< invariant mass of matched-fake pairs
120 k2MassF2, ///< invariant mass of fake-fake pairs
121 k2P, ///< momentum of the pair
122 k2PM, ///< momentum of matched-matched pairs
123 k2PF1, ///< momentum of matched-fake pairs
124 k2PF2, ///< momentum of fake-fake pairs
125 k2Pt, ///< transverse momentum of pair
126 k2PtM, ///< transverse momentum of matched-matched pairs
127 k2PtF1, ///< transverse momentum of matched-fake pairs
128 k2PtF2, ///< transverse momentum of fake-fake pairs
129 k2Y, ///< rapidity of pair
130 k2YM, ///< rapidity of matched-matched pairs
131 k2YF1, ///< rapidity of matched-fake pairs
132 k2YF2, ///< rapidity of fake-fake pairs
133 k2Eta, ///< pseudo-rapidity of pair
134 k2EtaM, ///< pseudo-rapidity of matched-matched pairs
135 k2EtaF1, ///< pseudo-rapidity of matched-fake pairs
136 k2EtaF2, ///< pseudo-rapidity of fake-fake pairs
137 k2Phi, ///< phi angle of pair
138 k2PhiM, ///< phi angle of matched-matched pairs
139 k2PhiF1, ///< phi angle of matched-fake pairs
140 k2PhiF2, ///< phi angle of fake-fake pairs
fa97374c 141 };
142
0ffd1c5a 143 TObjArray* fList; //!< list of output histograms about single tracks
144 TObjArray* fList2; //!< list of output histograms about track pairs
fa97374c 145 TObjArray* fCanvases; //!< List of canvases summarizing the results
146
147 AliCounterCollection* fTrackCounters; //!< global counters of tracks
148 AliCounterCollection* fFakeTrackCounters; //!< detailled counters of fake tracks
149 AliCounterCollection* fMatchedTrackCounters; //!< detailled counters of matched tracks
150 AliCounterCollection* fEventCounters; //!< counters of events
0ffd1c5a 151 AliCounterCollection* fPairCounters; //!< global counters of track pairs
fa97374c 152
153 TString fCurrentFileName; //!< current input file name
154 UInt_t fRequestedStationMask; //!< sigma cut to associate clusters with TrackRefs
155 Bool_t fRequest2ChInSameSt45; //!< 2 fired chambers requested in the same station (4 or 5) or not
156 Double_t fSigmaCut; //!< mask of requested stations
157 Bool_t fUseLabel; ///< match reconstructed and simulated tracks by using the MC labels or by position
0ffd1c5a 158 Bool_t fMatchTrig; ///< fill histograms with tracks matched with trigger only
159 Bool_t fApplyAccCut; ///< fill histograms with tracks passing the acceptance cuts (Rabs, eta) only
fa97374c 160 TString fRecoParamLocation; ///< ocdb path toward the reconstruction parameters
161
0ffd1c5a 162 ClassDef(AliAnalysisTaskMuonFakes, 2); // fake muon analysis
fa97374c 163};
164
165#endif
166