Include standard cuts in analysis. Make it more suitable for proof analysis: eliminat...
[u/mrichter/AliRoot.git] / PWG / muon / AliAnalysisTaskSingleMu.h
1 #ifndef ALIANALYSISTASKSINGLEMU_H
2 #define ALIANALYSISTASKSINGLEMU_H
3
4 /* $Id$ */ 
5
6 //
7 // AliAnalysisTaskSingleMu
8 // Analysis task for single muons in the spectrometer
9 //
10 //  Author: Diego Stocco
11 //
12
13 #include "AliVAnalysisMuon.h"
14 #include "TVector3.h"
15
16 class TObjArray;
17 class AliHistogramCollection;
18 class TString;
19 class TAxis;
20 class AliVParticle;
21 class AliAODEvent;
22 class AliMuonTrackCuts;
23
24 class AliAnalysisTaskSingleMu : public AliVAnalysisMuon {
25  public:
26   AliAnalysisTaskSingleMu();
27   AliAnalysisTaskSingleMu(const char *name, const AliMuonTrackCuts& cuts);
28   virtual ~AliAnalysisTaskSingleMu();
29
30   virtual void   Terminate(Option_t *option);
31
32   void MyUserCreateOutputObjects();
33   void ProcessEvent(TString physSel, const TObjArray& selectTrigClasses, TString centrality);
34
35  private:
36
37   AliAnalysisTaskSingleMu(const AliAnalysisTaskSingleMu&);
38   AliAnalysisTaskSingleMu& operator=(const AliAnalysisTaskSingleMu&);
39
40   // Histograms to extract average DCA position
41   enum {
42     kIPVz,           ///< Interaction point vertex distribution
43     kTrackContainer, ///< CF container for tracks
44     kNhistoTypes     ///< Number of histograms
45   };
46
47   enum {
48     kThetaAbs23,  ///< Theta abs 2-3 deg
49     kThetaAbs310, ///< Theta abs 3-10 deg
50     kNthetaAbs    ///< Number of theta abs bins
51   };
52   
53   enum {
54     kStepReconstructed,  ///< Reconstructed tracks
55     kStepGeneratedMC,    ///< Generated tracks (MC)
56     kNsteps              ///< Number of steps
57   };  
58   
59   enum {
60     kHvarPt,         ///< Pt at vertex
61     kHvarEta,        ///< Pseudo-Rapidity
62     kHvarPhi,        ///< Phi
63     kHvarVz,         ///< Z vertex position
64     kHvarCharge,     ///< Particle charge
65     kHvarThetaAbs,   ///< Theta abs bin
66     kHvarMotherType, ///< Mother type (MC only)
67     kNvars           ///< THnSparse dimensions
68   };
69
70   TObjArray* fThetaAbsKeys;    ///< Name of theta at absorber end
71
72   ClassDef(AliAnalysisTaskSingleMu, 1); // Single muon analysis
73 };
74
75 #endif