ROOT logo
#ifndef ALICFMUONSINGLETASK1_H
#define ALICFMUONSINGLETASK1_H

/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */ 

//-----------------------------------------------------------------------
// Author : X. Lopez - LPC Clermont (fr)
//-----------------------------------------------------------------------

#include "AliAnalysisTaskSE.h"

class TH1I;
class TNtuple;
class TParticle ;
class TFile ;
class AliStack ;
class AliCFManager;
class AliESDtrack;
class AliVParticle;

class AliCFMuonSingleTask1 : public AliAnalysisTaskSE {
  public:

  AliCFMuonSingleTask1();
  AliCFMuonSingleTask1(const Char_t* name);
  AliCFMuonSingleTask1& operator= (const AliCFMuonSingleTask1& c);
  AliCFMuonSingleTask1(const AliCFMuonSingleTask1& c);
  virtual ~AliCFMuonSingleTask1();

  // ANALYSIS FRAMEWORK STUFF to loop on data and fill output objects
  void     UserExec(Option_t *option);
  void     Terminate(Option_t *);
   
  // CORRECTION FRAMEWORK RELATED FUNCTIONS
  void           SetCFManager(AliCFManager* const io) {fCFManager = io;}   // global correction manager
  AliCFManager * GetCFManager() const {return fCFManager;}                 // get corr manager
  void           SetQAList(TList* const list) {fQAHistList = list;}

  // Data types
  Bool_t IsReadAODData()   const {return fReadAODData;}
  void   SetReadAODData   (Bool_t flag=kTRUE) {fReadAODData=flag;}
  void SetUseMC(Bool_t isMC)       { fIsMC         = isMC;}

 protected:
  
  Bool_t          fReadAODData ;       // flag for AOD/ESD input files
  AliCFManager   *fCFManager   ;       // pointer to the CF manager
  TList          *fQAHistList  ;       // list of QA histograms
  TH1I           *fHistEventsProcessed;// simple histo for monitoring the number of events processed
  Int_t           fNevt        ;       // event countor

  Float_t Rap(Float_t e, Float_t pz);
  Float_t Phideg(Float_t phi);
  Bool_t fIsMC;                        // flag of whether the input is MC

  ClassDef(AliCFMuonSingleTask1,1);
};

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