1 #ifndef ALIANALYSISTASKMULTPBTRACKS_H
2 #define ALIANALYSISTASKMULTPBTRACKS_H
4 #include "AliAnalysisTaskSE.h"
5 #include "AliESDtrackCuts.h" // if I don't include this, nothing compiles
7 //-------------------------------------------------------------------------
8 // AliAnalysisTaskMultPbTracks
13 // Author: Michele Floris, CERN
14 //-------------------------------------------------------------------------
18 class AliESDtrackCuts;
19 class AliAnalysisMultPbCentralitySelector;
20 class AliAnalysisMultPbTrackHistoManager;
21 class AliTriggerAnalysis;
24 class AliAnalysisTaskMultPbTracks : public AliAnalysisTaskSE {
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; }
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; }
43 virtual void UserCreateOutputObjects();
44 virtual void UserExec(Option_t *option);
45 virtual void Terminate(Option_t *);
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
67 AliAnalysisTaskMultPbTracks& operator=(const AliAnalysisTaskMultPbTracks& task);
69 ClassDef(AliAnalysisTaskMultPbTracks, 3)