]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliAnalysisTaskSingleMu.h
AliAODEvent::GetHeader now return AliVHeader
[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   /// Apply cut on dimuon invariant mass (to reject Z contribution)
32   void SetCutDimu ( Bool_t cutOnDimu = kTRUE ) { fCutOnDimu = cutOnDimu; }
33   
34   enum {
35     kIPVz,           ///< Interaction point vertex distribution
36     kTrackContainer, ///< CF container for tracks
37     kNobjectTypes    ///< Number of objects
38   };
39   
40   enum {
41     kThetaAbs23,  ///< Theta abs 2-3 deg
42     kThetaAbs310, ///< Theta abs 3-10 deg
43     kNthetaAbs    ///< Number of theta abs bins
44   };
45   
46   enum {
47     kStepReconstructed,  ///< Reconstructed tracks
48     kStepGeneratedMC,    ///< Generated tracks (MC)
49     kNsteps              ///< Number of steps
50   };
51   
52   enum {
53     kHvarPt,         ///< Pt at vertex
54     kHvarEta,        ///< Pseudo-Rapidity
55     kHvarPhi,        ///< Phi
56     kHvarVz,         ///< Z vertex position
57     kHvarCharge,     ///< Particle charge
58     kHvarThetaAbs,   ///< Theta abs bin
59     kHvarMotherType, ///< Mother type (MC only)
60     kNvars           ///< THnSparse dimensions
61   };
62
63  private:
64
65   AliAnalysisTaskSingleMu(const AliAnalysisTaskSingleMu&);
66   AliAnalysisTaskSingleMu& operator=(const AliAnalysisTaskSingleMu&);
67
68   TObjArray* fThetaAbsKeys;    ///< Name of theta at absorber end
69   Bool_t fCutOnDimu;           ///< Cut on dimuons
70
71   ClassDef(AliAnalysisTaskSingleMu, 4); // Single muon analysis
72 };
73
74 #endif