]>
Commit | Line | Data |
---|---|---|
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 | ||
7 | /// \ingroup muondep | |
8 | /// \class AliAnalysisTaskMuonFakes | |
9 | /// \brief Muon task to study fake tracks | |
10 | //Author: Philippe Pillot - SUBATECH Nantes | |
11 | ||
12 | #include <TString.h> | |
13 | ||
14 | #include "AliAnalysisTaskSE.h" | |
15 | ||
16 | class TObjArray; | |
17 | class AliCounterCollection; | |
18 | ||
19 | class AliAnalysisTaskMuonFakes : public AliAnalysisTaskSE { | |
20 | public: | |
21 | ||
22 | AliAnalysisTaskMuonFakes(); | |
23 | AliAnalysisTaskMuonFakes(const char *name); | |
24 | virtual ~AliAnalysisTaskMuonFakes(); | |
25 | ||
26 | virtual void UserCreateOutputObjects(); | |
27 | virtual void UserExec(Option_t *); | |
28 | virtual void NotifyRun(); | |
29 | virtual void Terminate(Option_t *); | |
30 | ||
31 | /// Set the flag to match reconstructed and simulated tracks by using the MC labels or by position | |
32 | void UseMCLabels(Bool_t flag = kTRUE) { fUseLabel = flag; } | |
33 | ||
34 | /// Set the ocdb path toward the reconstruction parameters | |
35 | void RecoParamLocation(const char* ocdbPath) { fRecoParamLocation = ocdbPath; } | |
36 | ||
37 | /// Return the list of summary canvases | |
38 | TObjArray* GetCanvases() {return fCanvases;} | |
39 | ||
40 | private: | |
41 | ||
42 | /// Not implemented | |
43 | AliAnalysisTaskMuonFakes(const AliAnalysisTaskMuonFakes& rhs); | |
44 | /// Not implemented | |
45 | AliAnalysisTaskMuonFakes& operator = (const AliAnalysisTaskMuonFakes& rhs); | |
46 | ||
47 | // look for fake tracks still connected to a reconstructible simulated track | |
48 | Int_t RemoveConnectedFakes(AliMUONVTrackStore &fakeTrackStore, AliMUONVTrackStore &trackRefStore); | |
49 | ||
50 | private: | |
51 | ||
52 | enum histoIndex { | |
53 | // number of tracks | |
54 | kNumberOfTracks, ///< number of tracks | |
55 | kNumberOfAdditionalTracks, ///< number of additional tracks | |
56 | ||
57 | // number of clusters | |
58 | kNumberOfClusters, ///< number of clusters per track | |
59 | kNumberOfClustersM, ///< number of clusters per matched track | |
60 | kNumberOfClustersF, ///< number of clusters per fake track | |
61 | kNumberOfClustersMC, ///< number of clusters per MC track | |
62 | kFractionOfMatchedClusters, ///< fraction of matched clusters in matched tracks | |
63 | kFractionOfConnectedClusters, ///< fraction of connected clusters in fake tracks | |
64 | ||
65 | // number of fired chambers | |
66 | kNumberOfChamberHit, ///< number of fired chambers per track | |
67 | kNumberOfChamberHitM, ///< number of fired chambers per matched track | |
68 | kNumberOfChamberHitF, ///< number of fired chambers per fake track | |
69 | ||
70 | // chi2 | |
71 | kChi2PerDof, ///< normalized chi2 of tracks | |
72 | kChi2PerDofM, ///< normalized chi2 of matched tracks | |
73 | kChi2PerDofF, ///< normalized chi2 of fake tracks | |
74 | ||
75 | // chi2 versus number of clusters | |
76 | kChi2PerDofVsNClusters, ///< normalized chi2 of tracks versus number of clusters | |
77 | kChi2PerDofVsNClustersM, ///< normalized chi2 of matched tracks versus number of clusters | |
78 | kChi2PerDofVsNClustersF, ///< normalized chi2 of fake tracks versus number of clusters | |
79 | ||
80 | // chi2 versus number of fired chambers | |
81 | kChi2PerDofVsNChamberHit, ///< normalized chi2 of tracks versus number of fired chambers | |
82 | kChi2PerDofVsNChamberHitM, ///< normalized chi2 of matched tracks versus number of fired chambers | |
83 | kChi2PerDofVsNChamberHitF, ///< normalized chi2 of fake tracks versus number of fired chambers | |
84 | ||
85 | // physics quantities | |
86 | kP, ///< momentum of tracks | |
87 | kPM, ///< momentum of matched tracks | |
88 | kPF, ///< momentum of fake tracks | |
89 | kPt, ///< transverse momentum of tracks | |
90 | kPtM, ///< transverse momentum of matched tracks | |
91 | kPtF, ///< transverse momentum of fake tracks | |
92 | kEta, ///< pseudo-rapidity of tracks | |
93 | kEtaM, ///< pseudo-rapidity of matched tracks | |
94 | kEtaF, ///< pseudo-rapidity of fake tracks | |
95 | kPhi, ///< phi angle of tracks | |
96 | kPhiM, ///< phi angle of matched tracks | |
97 | kPhiF, ///< phi angle of fake tracks | |
98 | kDCA, ///< DCA of tracks | |
99 | kDCAM, ///< DCA of matched tracks | |
100 | kDCAF, ///< DCA of fake tracks | |
101 | }; | |
102 | ||
103 | TObjArray* fList; //!< list of output histograms | |
104 | TObjArray* fCanvases; //!< List of canvases summarizing the results | |
105 | ||
106 | AliCounterCollection* fTrackCounters; //!< global counters of tracks | |
107 | AliCounterCollection* fFakeTrackCounters; //!< detailled counters of fake tracks | |
108 | AliCounterCollection* fMatchedTrackCounters; //!< detailled counters of matched tracks | |
109 | AliCounterCollection* fEventCounters; //!< counters of events | |
110 | ||
111 | TString fCurrentFileName; //!< current input file name | |
112 | UInt_t fRequestedStationMask; //!< sigma cut to associate clusters with TrackRefs | |
113 | Bool_t fRequest2ChInSameSt45; //!< 2 fired chambers requested in the same station (4 or 5) or not | |
114 | Double_t fSigmaCut; //!< mask of requested stations | |
115 | Bool_t fUseLabel; ///< match reconstructed and simulated tracks by using the MC labels or by position | |
116 | TString fRecoParamLocation; ///< ocdb path toward the reconstruction parameters | |
117 | ||
118 | ClassDef(AliAnalysisTaskMuonFakes, 1); // fake muon analysis | |
119 | }; | |
120 | ||
121 | #endif | |
122 |