ROOT logo
#ifndef ALIANALYSISTASKSINGLEMU_H
#define ALIANALYSISTASKSINGLEMU_H

/* $Id$ */ 

//
// AliAnalysisTaskSingleMu
// Analysis task for single muons in the spectrometer
//
//  Author: Diego Stocco
//

#include "AliVAnalysisMuon.h"

class TObjArray;
class TString;
class TAxis;
class AliMuonTrackCuts;

class AliAnalysisTaskSingleMu : public AliVAnalysisMuon {
 public:
  AliAnalysisTaskSingleMu();
  AliAnalysisTaskSingleMu(const char *name, const AliMuonTrackCuts& cuts);
  virtual ~AliAnalysisTaskSingleMu();

  virtual void   Terminate(Option_t *option);

  void MyUserCreateOutputObjects();
  void ProcessEvent(TString physSel, const TObjArray& selectTrigClasses, TString centrality);
  
  /// Apply cut on dimuon invariant mass (to reject Z contribution)
  void SetCutDimu ( Bool_t cutOnDimu = kTRUE ) { fCutOnDimu = cutOnDimu; }
  
  enum {
    kIPVz,           ///< Interaction point vertex distribution
    kTrackContainer, ///< CF container for tracks
    kNobjectTypes    ///< Number of objects
  };
  
  enum {
    kThetaAbs23,  ///< Theta abs 2-3 deg
    kThetaAbs310, ///< Theta abs 3-10 deg
    kNthetaAbs    ///< Number of theta abs bins
  };
  
  enum {
    kStepReconstructed,  ///< Reconstructed tracks
    kStepGeneratedMC,    ///< Generated tracks (MC)
    kNsteps              ///< Number of steps
  };
  
  enum {
    kHvarPt,         ///< Pt at vertex
    kHvarEta,        ///< Pseudo-Rapidity
    kHvarPhi,        ///< Phi
    kHvarVz,         ///< Z vertex position
    kHvarCharge,     ///< Particle charge
    kHvarThetaAbs,   ///< Theta abs bin
    kHvarMotherType, ///< Mother type (MC only)
    kNvars           ///< THnSparse dimensions
  };

 private:

  AliAnalysisTaskSingleMu(const AliAnalysisTaskSingleMu&);
  AliAnalysisTaskSingleMu& operator=(const AliAnalysisTaskSingleMu&);

  TObjArray* fThetaAbsKeys;    ///< Name of theta at absorber end
  Bool_t fCutOnDimu;           ///< Cut on dimuons

  ClassDef(AliAnalysisTaskSingleMu, 4); // Single muon analysis
};

#endif
 AliAnalysisTaskSingleMu.h:1
 AliAnalysisTaskSingleMu.h:2
 AliAnalysisTaskSingleMu.h:3
 AliAnalysisTaskSingleMu.h:4
 AliAnalysisTaskSingleMu.h:5
 AliAnalysisTaskSingleMu.h:6
 AliAnalysisTaskSingleMu.h:7
 AliAnalysisTaskSingleMu.h:8
 AliAnalysisTaskSingleMu.h:9
 AliAnalysisTaskSingleMu.h:10
 AliAnalysisTaskSingleMu.h:11
 AliAnalysisTaskSingleMu.h:12
 AliAnalysisTaskSingleMu.h:13
 AliAnalysisTaskSingleMu.h:14
 AliAnalysisTaskSingleMu.h:15
 AliAnalysisTaskSingleMu.h:16
 AliAnalysisTaskSingleMu.h:17
 AliAnalysisTaskSingleMu.h:18
 AliAnalysisTaskSingleMu.h:19
 AliAnalysisTaskSingleMu.h:20
 AliAnalysisTaskSingleMu.h:21
 AliAnalysisTaskSingleMu.h:22
 AliAnalysisTaskSingleMu.h:23
 AliAnalysisTaskSingleMu.h:24
 AliAnalysisTaskSingleMu.h:25
 AliAnalysisTaskSingleMu.h:26
 AliAnalysisTaskSingleMu.h:27
 AliAnalysisTaskSingleMu.h:28
 AliAnalysisTaskSingleMu.h:29
 AliAnalysisTaskSingleMu.h:30
 AliAnalysisTaskSingleMu.h:31
 AliAnalysisTaskSingleMu.h:32
 AliAnalysisTaskSingleMu.h:33
 AliAnalysisTaskSingleMu.h:34
 AliAnalysisTaskSingleMu.h:35
 AliAnalysisTaskSingleMu.h:36
 AliAnalysisTaskSingleMu.h:37
 AliAnalysisTaskSingleMu.h:38
 AliAnalysisTaskSingleMu.h:39
 AliAnalysisTaskSingleMu.h:40
 AliAnalysisTaskSingleMu.h:41
 AliAnalysisTaskSingleMu.h:42
 AliAnalysisTaskSingleMu.h:43
 AliAnalysisTaskSingleMu.h:44
 AliAnalysisTaskSingleMu.h:45
 AliAnalysisTaskSingleMu.h:46
 AliAnalysisTaskSingleMu.h:47
 AliAnalysisTaskSingleMu.h:48
 AliAnalysisTaskSingleMu.h:49
 AliAnalysisTaskSingleMu.h:50
 AliAnalysisTaskSingleMu.h:51
 AliAnalysisTaskSingleMu.h:52
 AliAnalysisTaskSingleMu.h:53
 AliAnalysisTaskSingleMu.h:54
 AliAnalysisTaskSingleMu.h:55
 AliAnalysisTaskSingleMu.h:56
 AliAnalysisTaskSingleMu.h:57
 AliAnalysisTaskSingleMu.h:58
 AliAnalysisTaskSingleMu.h:59
 AliAnalysisTaskSingleMu.h:60
 AliAnalysisTaskSingleMu.h:61
 AliAnalysisTaskSingleMu.h:62
 AliAnalysisTaskSingleMu.h:63
 AliAnalysisTaskSingleMu.h:64
 AliAnalysisTaskSingleMu.h:65
 AliAnalysisTaskSingleMu.h:66
 AliAnalysisTaskSingleMu.h:67
 AliAnalysisTaskSingleMu.h:68
 AliAnalysisTaskSingleMu.h:69
 AliAnalysisTaskSingleMu.h:70
 AliAnalysisTaskSingleMu.h:71
 AliAnalysisTaskSingleMu.h:72
 AliAnalysisTaskSingleMu.h:73
 AliAnalysisTaskSingleMu.h:74