Fix problem in terminate. Add possibility to select the minimum number of vertex...
[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
15 class TObjArray;
16 class TString;
17 class TAxis;
18 class AliMuonTrackCuts;
19
20 class AliAnalysisTaskSingleMu : public AliVAnalysisMuon {
21  public:
22   AliAnalysisTaskSingleMu();
23   AliAnalysisTaskSingleMu(const char *name, const AliMuonTrackCuts& cuts);
24   virtual ~AliAnalysisTaskSingleMu();
25
26   virtual void   Terminate(Option_t *option);
27
28   void MyUserCreateOutputObjects();
29   void ProcessEvent(TString physSel, const TObjArray& selectTrigClasses, TString centrality);
30
31  private:
32
33   AliAnalysisTaskSingleMu(const AliAnalysisTaskSingleMu&);
34   AliAnalysisTaskSingleMu& operator=(const AliAnalysisTaskSingleMu&);
35
36   enum {
37     kIPVz,           ///< Interaction point vertex distribution
38     kTrackContainer, ///< CF container for tracks
39     kNobjectTypes    ///< Number of objects
40   };
41
42   enum {
43     kThetaAbs23,  ///< Theta abs 2-3 deg
44     kThetaAbs310, ///< Theta abs 3-10 deg
45     kNthetaAbs    ///< Number of theta abs bins
46   };
47   
48   enum {
49     kStepReconstructed,  ///< Reconstructed tracks
50     kStepGeneratedMC,    ///< Generated tracks (MC)
51     kNsteps              ///< Number of steps
52   };  
53   
54   enum {
55     kHvarPt,         ///< Pt at vertex
56     kHvarEta,        ///< Pseudo-Rapidity
57     kHvarPhi,        ///< Phi
58     kHvarVz,         ///< Z vertex position
59     kHvarCharge,     ///< Particle charge
60     kHvarThetaAbs,   ///< Theta abs bin
61     kHvarMotherType, ///< Mother type (MC only)
62     kNvars           ///< THnSparse dimensions
63   };
64
65   TObjArray* fThetaAbsKeys;    ///< Name of theta at absorber end
66
67   ClassDef(AliAnalysisTaskSingleMu, 3); // Single muon analysis
68 };
69
70 #endif