953550cf762cf0163b1872f9529c59e8db941da2
[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   enum {
41     kIPVz,           ///< Interaction point vertex distribution
42     kTrackContainer, ///< CF container for tracks
43     kNobjectTypes    ///< Number of objects
44   };
45
46   enum {
47     kThetaAbs23,  ///< Theta abs 2-3 deg
48     kThetaAbs310, ///< Theta abs 3-10 deg
49     kNthetaAbs    ///< Number of theta abs bins
50   };
51   
52   enum {
53     kStepReconstructed,  ///< Reconstructed tracks
54     kStepGeneratedMC,    ///< Generated tracks (MC)
55     kNsteps              ///< Number of steps
56   };  
57   
58   enum {
59     kHvarPt,         ///< Pt at vertex
60     kHvarEta,        ///< Pseudo-Rapidity
61     kHvarPhi,        ///< Phi
62     kHvarVz,         ///< Z vertex position
63     kHvarCharge,     ///< Particle charge
64     kHvarThetaAbs,   ///< Theta abs bin
65     kHvarMotherType, ///< Mother type (MC only)
66     kNvars           ///< THnSparse dimensions
67   };
68
69   TObjArray* fThetaAbsKeys;    ///< Name of theta at absorber end
70
71   ClassDef(AliAnalysisTaskSingleMu, 3); // Single muon analysis
72 };
73
74 #endif