ROOT logo
#ifndef ALIANALYSISTASKFLOWSINGLEMU_H
#define ALIANALYSISTASKFLOWSINGLEMU_H

/* $Id: AliAnalysisTaskFlowSingleMu.h 55545 2012-04-04 07:16:39Z pcrochet $ */ 

//
// AliAnalysisTaskFlowSingleMu
// Analysis task for flow of single muons in the spectrometer
//
//  Author: Diego Stocco
//

#include "AliVAnalysisMuon.h"
#include "TRandom3.h"

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

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

  virtual void   Terminate(Option_t *option);

  void MyUserCreateOutputObjects();
  void ProcessEvent(TString physSel, const TObjArray& selectTrigClasses, TString centrality);

 private:

  AliAnalysisTaskFlowSingleMu(const AliAnalysisTaskFlowSingleMu&);
  AliAnalysisTaskFlowSingleMu& operator=(const AliAnalysisTaskFlowSingleMu&);

  TArrayD GetCentralityRange(TString sRange);
  
  enum {
    kStepReconstructed,  ///< Reconstructed tracks
    kStepGeneratedMC,    ///< Generated tracks (MC)
    kNsteps              ///< Number of steps
  };  
  
  enum {
    kHvarPt,         ///< Pt at vertex
    kHvarEta,        ///< Pseudo-Rapidity
    kHvarPhi,        ///< Phi
    kHvarDeltaPhi,   ///< Phi_mu - Psi_plane
    kHvarCharge,     ///< Particle charge
    kHvarMotherType, ///< Mother type (MC only)
    kNvars           ///< THnSparse dimensions
  };

  TObjArray* fEPKeys; ///< EP keys
  TRandom3* fRandom; //!< Random number generator

  ClassDef(AliAnalysisTaskFlowSingleMu, 1); // Single muon analysis
};

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