Migrating PWG2/SPECTRA/Fit to new PWG structure
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / ChargedHadrons / multPbPb / AliAnalysisTaskMultPbTracks.h
1 #ifndef ALIANALYSISTASKMULTPBTRACKS_H
2 #define ALIANALYSISTASKMULTPBTRACKS_H
3
4 #include "AliAnalysisTaskSE.h"
5 #include "AliESDtrackCuts.h" // if I don't include this, nothing compiles
6
7 //-------------------------------------------------------------------------
8 //                      AliAnalysisTaskMultPbTracks
9 // 
10 // 
11 //
12 //
13 // Author: Michele Floris, CERN
14 //-------------------------------------------------------------------------
15
16
17 class AliESDEvent;
18 class AliESDtrackCuts;
19 class AliAnalysisMultPbCentralitySelector;
20 class AliAnalysisMultPbTrackHistoManager;
21 class AliTriggerAnalysis;
22 class AliPIDResponse;
23
24 class AliAnalysisTaskMultPbTracks : public AliAnalysisTaskSE {
25
26 public:
27
28   AliAnalysisTaskMultPbTracks();
29   AliAnalysisTaskMultPbTracks(const char * name);
30   AliAnalysisTaskMultPbTracks(const AliAnalysisTaskMultPbTracks& obj) ;
31   ~AliAnalysisTaskMultPbTracks();
32   void SetTrackCuts(AliESDtrackCuts * cuts) { fTrackCuts = cuts;}
33   void SetCentralitySelector(AliAnalysisMultPbCentralitySelector * centr) { fCentrSelector=centr;}
34   void SetTPCOnly(Bool_t flag=kTRUE) {fIsTPCOnly=flag;}
35   // void SetCentralityBin(Int_t bin = 0) { fCentrBin = bin; }
36   // void SetCentralityEstimator(const char * centr) { fCentralityEstimator = centr; }
37
38   void SetIsMC(Bool_t flag=kTRUE) { fIsMC = flag;}
39   AliAnalysisMultPbTrackHistoManager * GetHistoManager() { return fHistoManager;}
40   Bool_t IsPhysicalPrimaryAndTransportBit(Int_t ipart) ;
41   void SetOfflineTrigger(UInt_t mask) { fOfflineTrigger = mask; }
42
43   virtual void   UserCreateOutputObjects();
44   virtual void   UserExec(Option_t *option);
45   virtual void   Terminate(Option_t *);
46   
47   
48
49 private:
50
51   //
52   AliESDEvent *  fESD;    //! ESD object  AliVEvent*     fEvent;
53   //  TList * fListHisto;     // list of output object
54   AliAnalysisMultPbTrackHistoManager  * fHistoManager; // wrapper for the list, takes care of merging + histo booking and getters
55   AliAnalysisMultPbCentralitySelector * fCentrSelector; // centrality selector
56   // Int_t fCentrBin; // centrality bin selected (5% XS percentiles)
57   // TString fCentralityEstimator; // Name of the centrality estimator, for AliESDCentrality
58   AliESDtrackCuts * fTrackCuts; // track cuts
59   AliESDtrackCuts * fTrackCutsNoDCA; // copy of the previous one, but with no DCA cuts
60   UInt_t fOfflineTrigger ; // offline trigger mask
61   Bool_t fIsMC; // true if processing montecarlo
62   Bool_t fIsTPCOnly; // if you only want to use TPC tracks
63   AliTriggerAnalysis * fTriggerAnalysis; // for offline triggers
64   AliPIDResponse *fPIDResponse;     //! PID response object
65
66
67   AliAnalysisTaskMultPbTracks& operator=(const AliAnalysisTaskMultPbTracks& task);
68   
69   ClassDef(AliAnalysisTaskMultPbTracks, 3)
70
71
72 };
73
74 #endif