AliPhysics  defa9f6 (defa9f6)
AliAnalysisTaskMuonTrackingEff.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKMUONTRACKINGEFF_H
2 #define ALIANALYSISTASKMUONTRACKINGEFF_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 
11 //Author: Nicolas LE BRIS - SUBATECH Nantes
12 
13 #include "AliAnalysisTaskSE.h"
14 #include "AliMuonTrackCuts.h"
15 #include "TString.h"
16 
17 class TList;
18 class TObjArray;
19 class AliCounterCollection;
20 class AliMUONGeometryTransformer;
21 class AliMUONTrack;
22 class AliMUONTrackParam;
23 class AliMpArea;
24 class AliMpPad;
25 class AliMUON2DMap;
26 
27 
29 {
30 
31  public:
32 
36 
38  void SetDefaultStorage(const char* ocdbPath) { fOCDBpath = ocdbPath; }
39 
41  void SetAlignStorage(const char* ocdbPath) { fAlignOCDBpath = ocdbPath; }
42 
44  void SetRecoParamStorage(const char* ocdbPath) { fRecoParamOCDBpath = ocdbPath; }
45 
47  void SelectCentrality(Double_t min, Double_t max) {fCentMin = min; fCentMax = max;}
48 
49  // set cuts to select tracks to be considered
50  void SetMuonTrackCuts(AliMuonTrackCuts &trackCuts);
51 
52  // set default cuts to select tracks to be considered
54 
55  // get cuts to select tracks to be considered
56  AliMuonTrackCuts* MuonTrackCuts() {return fMuonTrackCuts;}
57 
59  void SetMuonPtCut(Double_t cut) {fPtCut = cut;}
60 
62  void UseMCLabel(Bool_t flag = kTRUE) { fUseMCLabel = flag; }
63 
65  void EnableDisplay(Bool_t flag = kTRUE) { fEnableDisplay = flag; }
66 
67  // Implementation of interface methods
68  virtual void UserCreateOutputObjects();
69  virtual void UserExec(Option_t *);
70  virtual void NotifyRun();
71  virtual void Terminate(Option_t *);
72 
73 
74  private:
75 
80 
81  // Identify clusters/chambers that can be removed from the track
82  Bool_t TagRemovableClusters(AliMUONTrack &track, Bool_t removableChambers[10]);
83 
84  // Find which detection elements should have been hit and record the missing clusters
85  void FindAndRecordMissingClusters(AliMUONTrackParam &param, Int_t chamber, Double_t trackInfo[6]);
86 
87  // Find the intersection point between the track (assuming straight line) and the DE in the global frame
88  void Intersect(AliMUONTrackParam &param, Int_t deId, Double_t p[3]);
89 
90  // Check whether (global) area overlaps with the given DE
91  Bool_t OverlapDE(AliMpArea &area, Int_t deId);
92 
93  // Register the cluster in the given stores
94  void RecordCluster(Int_t chamber, Int_t deId, AliMpPad pad[2], Double_t trackInfo[6],
95  TString clusterKey, TList *chamberHistList, Bool_t recordChamber);
96 
98  Bool_t FindPads(Int_t deId, Double_t pos[3], AliMpPad pad[2]);
99 
100 
101 private:
102 
103  static const Int_t fgkNofDE[11];
104  static const Int_t fgkNofBusPath;
105  static const Int_t fgkNofManu;
106 
113  AliMuonTrackCuts* fMuonTrackCuts;
117 
118  AliMUONGeometryTransformer *fTransformer;
119 
121 
122  AliCounterCollection* fClusters;
123  AliCounterCollection* fEvents;
128 
129 
130  ClassDef(AliAnalysisTaskMuonTrackingEff, 5)
131 
132 };
133 
134 
135 //________________________________________________________________________
136 inline void AliAnalysisTaskMuonTrackingEff::SetMuonTrackCuts(AliMuonTrackCuts &trackCuts)
137 {
139  delete fMuonTrackCuts;
140  fMuonTrackCuts = new AliMuonTrackCuts(trackCuts);
141 }
142 
143 //________________________________________________________________________
145 {
147  delete fMuonTrackCuts;
148  fMuonTrackCuts = new AliMuonTrackCuts("stdCuts", "stdCuts");
149  fMuonTrackCuts->SetAllowDefaultParams();
150  fMuonTrackCuts->SetFilterMask(AliMuonTrackCuts::kMuMatchLpt | AliMuonTrackCuts::kMuEta |
151  AliMuonTrackCuts::kMuThetaAbs | AliMuonTrackCuts::kMuPdca);
152  fMuonTrackCuts->SetIsMC(isMC);
153 }
154 
155 #endif
156 
Bool_t OverlapDE(AliMpArea &area, Int_t deId)
void SetAlignStorage(const char *ocdbPath)
Set the OCDB path to the alignment file used in the reco (if not set use default storage) ...
void SetRecoParamStorage(const char *ocdbPath)
Set the OCDB path to the recoParam file used in the reco (if not set use default storage) ...
double Double_t
Definition: External.C:58
AliAnalysisTaskMuonTrackingEff & operator=(const AliAnalysisTaskMuonTrackingEff &rhs)
Not implemented.
Double_t fCentMin
select centrality > fCentMin
void SelectCentrality(Double_t min, Double_t max)
Select tracks in the given centrality range.
TList * fExtraHistList
List of extra histograms.
TList * fChamberTTHistList
List of histograms of the tracks which have passed through the chambers.
void SetMuonPtCut(Double_t cut)
set the muon low pT cut
void SetDefaultStorage(const char *ocdbPath)
Set location of the default OCDB storage (if not set use "raw://")
Bool_t TagRemovableClusters(AliMUONTrack &track, Bool_t removableChambers[10])
TString fRecoParamOCDBpath
OCDB path to the recoParam file.
void SetMuonTrackCuts(AliMuonTrackCuts &trackCuts)
Bool_t fOCDBLoaded
Determine if the OCDB and =geometry have been loaded.
Double_t fCentMax
select centrality <= fCentMax
tracking chamber efficiency from ESD data
void RecordCluster(Int_t chamber, Int_t deId, AliMpPad pad[2], Double_t trackInfo[6], TString clusterKey, TList *chamberHistList, Bool_t recordChamber)
Bool_t fEnableDisplay
enable the display in the terminate
static const Int_t fgkNofDE[11]
Total number of detection elements in each chamber.
TList * fChamberTDHistList
List of histograms of the tracks detected in the chambers.
Bool_t FindPads(Int_t deId, Double_t pos[3], AliMpPad pad[2])
Look for pads at the cluster&#39;s location.
AliMUONGeometryTransformer * fTransformer
Transformer object.
int Int_t
Definition: External.C:63
void Intersect(AliMUONTrackParam &param, Int_t deId, Double_t p[3])
void UseMCLabel(Bool_t flag=kTRUE)
set the flag to select tracks using MC label
Bool_t fUseMCLabel
select tracks using MC label
void EnableDisplay(Bool_t flag=kTRUE)
enable the display in the terminate
static const Int_t fgkNofManu
Total number of manus.
Bool_t isMC
void FindAndRecordMissingClusters(AliMUONTrackParam &param, Int_t chamber, Double_t trackInfo[6])
AliCounterCollection * fClusters
detected (all), accepted (for efficiency calculation) and expected clusters
AliCounterCollection * fEvents
number of analyzed events
const char Option_t
Definition: External.C:48
static const Int_t fgkNofBusPath
Total number of bus patches.
AliMuonTrackCuts * fMuonTrackCuts
cuts to select tracks to be considered
TList * fChamberSDHistList
List of histograms of the tracks only detected by one chamber of the station.
bool Bool_t
Definition: External.C:53
TObjArray * fDEPlanes
vectors (x0, y0, z0, a, b, c) defining the plane of each DE in the global frame
TString fAlignOCDBpath
OCDB path to the alignment file.