]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliPWG4HighPtSpectra.h
Adding some histograms for jet shape
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliPWG4HighPtSpectra.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 //-----------------------------------------------------------------------
17 // Author : Marta Verweij - UU
18 //-----------------------------------------------------------------------
19
20 #ifndef ALIPWG4HIGHPTSPECTRA_H
21 #define ALIPWG4HIGHPTSPECTRA_H
22
23 #include "AliAnalysisTask.h"
24 #include "AliCFManager.h"
25
26 class TH1I;
27 class TH1F;
28 class TH1D;
29 class TFile ;
30 //class AliCFManager;
31 class AliESDtrackCuts;
32 class AliESDEvent;
33
34 class AliPWG4HighPtSpectra : public AliAnalysisTask {
35  public:
36
37   enum {
38     kStepReconstructed        = 0,
39     kStepReconstructedTPCOnly = 1,
40     kStepSecondaries          = 2,
41     kStepMCtrackable          = 3,
42     kStepReconstructedMC      = 4,
43     kStepMCAcceptance         = 5
44   };
45
46   AliPWG4HighPtSpectra();
47   AliPWG4HighPtSpectra(const Char_t* name);
48   // AliPWG4HighPtSpectra& operator= (const AliPWG4HighPtSpectra& c);
49   //  AliPWG4HighPtSpectra(const AliPWG4HighPtSpectra& c);
50   ~AliPWG4HighPtSpectra() {;};
51
52   // ANALYSIS FRAMEWORK STUFF to loop on data and fill output objects
53   virtual void   LocalInit();
54   virtual void   ConnectInputData(Option_t *);
55   virtual void   CreateOutputObjects();
56   virtual void   Exec(Option_t *option);
57   virtual void   Terminate(Option_t *);
58
59   // CORRECTION FRAMEWORK RELATED FUNCTIONS
60   void     SetCFManagerPos(const AliCFManager* io1) {fCFManagerPos = io1;}   // global correction manager 
61   const AliCFManager * GetCFManagerPos() const {return fCFManagerPos;}           // get corr manager 
62   void     SetCFManagerNeg(const AliCFManager* io2) {fCFManagerNeg = io2;}   // global correction manager 
63   const AliCFManager * GetCFManagerNeg() const {return fCFManagerNeg;}            // get corr manager
64   
65   //AliESDtrackCuts setters
66   void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
67   //Select the trigger
68   void SelectTrigger(Int_t trig) { fTrigger = trig; } 
69
70   // Data types
71   Bool_t IsReadAODData()   const {return fReadAODData;}
72   void   SetReadAODData(Bool_t flag=kTRUE) {fReadAODData=flag;}
73   
74  protected:
75   Bool_t              fReadAODData ;       // flag for AOD/ESD input files
76   const AliCFManager  *fCFManagerPos    ;  // pointer to the CF manager for positive charged particles
77   const AliCFManager  *fCFManagerNeg    ;  // pointer to the CF manager for negative charged particles
78  
79   AliESDEvent *fESD;              //! ESD object
80   //AliESDtrackCuts options. Must be setted in AddTaskPWG4HighPtQAMC.C. They correspond with different steps in container.
81   AliESDtrackCuts *fTrackCuts;    // trackCuts applied
82   Int_t fTrigger;                 //Trigger flag as defined in AliAnalysisHelperJetTasks.h 
83
84  private:
85  AliPWG4HighPtSpectra(const AliPWG4HighPtSpectra&);
86  AliPWG4HighPtSpectra& operator=(const AliPWG4HighPtSpectra&);
87
88
89   // Histograms
90   //Number of events
91   TList *fHistList;            //! List of output histograms
92   TH1F *fNEventAll;            //! Event counter
93   TH1F *fNEventSel;            //! Event counter: Selected events for analysis
94
95   ClassDef(AliPWG4HighPtSpectra,1);
96 };
97
98 #endif