Working on the electron cut
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / ChargedHadrons / multPbPb / AliAnalysisTaskMultPbTracks.h
CommitLineData
a23f7c97 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
17class AliESDEvent;
18class AliESDtrackCuts;
19class AliAnalysisMultPbCentralitySelector;
20class AliAnalysisMultPbTrackHistoManager;
bcf2601a 21class AliTriggerAnalysis;
2b42cee2 22class AliPIDResponse;
a23f7c97 23
24class AliAnalysisTaskMultPbTracks : public AliAnalysisTaskSE {
25
26public:
27
28 AliAnalysisTaskMultPbTracks();
29 AliAnalysisTaskMultPbTracks(const char * name);
30 AliAnalysisTaskMultPbTracks(const AliAnalysisTaskMultPbTracks& obj) ;
31 ~AliAnalysisTaskMultPbTracks();
32 void SetTrackCuts(AliESDtrackCuts * cuts) { fTrackCuts = cuts;}
2bbfd8c6 33 void SetCentralitySelector(AliAnalysisMultPbCentralitySelector * centr) { fCentrSelector=centr;}
9441cdaa 34 void SetTPCOnly(Bool_t flag=kTRUE) {fIsTPCOnly=flag;}
2bbfd8c6 35 // void SetCentralityBin(Int_t bin = 0) { fCentrBin = bin; }
36 // void SetCentralityEstimator(const char * centr) { fCentralityEstimator = centr; }
a23f7c97 37
38 void SetIsMC(Bool_t flag=kTRUE) { fIsMC = flag;}
39 AliAnalysisMultPbTrackHistoManager * GetHistoManager() { return fHistoManager;}
e0376287 40 Bool_t IsPhysicalPrimaryAndTransportBit(Int_t ipart) ;
5ad99723 41 Bool_t IsElectron(AliESDtrack * esdTrack);
42 void RejectElectrons(Bool_t rejElectron) { fRejectElectrons = rejElectron;}
8b628a20 43 void SetOfflineTrigger(UInt_t mask) { fOfflineTrigger = mask; }
a23f7c97 44
45 virtual void UserCreateOutputObjects();
46 virtual void UserExec(Option_t *option);
47 virtual void Terminate(Option_t *);
48
49
50
51private:
52
53 //
54 AliESDEvent * fESD; //! ESD object AliVEvent* fEvent;
55 // TList * fListHisto; // list of output object
56 AliAnalysisMultPbTrackHistoManager * fHistoManager; // wrapper for the list, takes care of merging + histo booking and getters
2bbfd8c6 57 AliAnalysisMultPbCentralitySelector * fCentrSelector; // centrality selector
58 // Int_t fCentrBin; // centrality bin selected (5% XS percentiles)
59 // TString fCentralityEstimator; // Name of the centrality estimator, for AliESDCentrality
a23f7c97 60 AliESDtrackCuts * fTrackCuts; // track cuts
61 AliESDtrackCuts * fTrackCutsNoDCA; // copy of the previous one, but with no DCA cuts
8b628a20 62 UInt_t fOfflineTrigger ; // offline trigger mask
a23f7c97 63 Bool_t fIsMC; // true if processing montecarlo
9441cdaa 64 Bool_t fIsTPCOnly; // if you only want to use TPC tracks
bcf2601a 65 AliTriggerAnalysis * fTriggerAnalysis; // for offline triggers
2b42cee2 66 AliPIDResponse *fPIDResponse; //! PID response object
5ad99723 67 Bool_t fRejectElectrons; // reject electrons
a23f7c97 68
69 AliAnalysisTaskMultPbTracks& operator=(const AliAnalysisTaskMultPbTracks& task);
70
8b628a20 71 ClassDef(AliAnalysisTaskMultPbTracks, 3)
a23f7c97 72
73
74};
75
76#endif