]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/dNdPt/AlidNdPtTrackDumpTask.h
-- new trigger mask implemented
[u/mrichter/AliRoot.git] / PWG0 / dNdPt / AlidNdPtTrackDumpTask.h
CommitLineData
a26e43aa 1#ifndef ALIDNDPTTRACKDUMPTASK_H
2#define ALIDNDPTTRACKDUMPTASK_H
3
4//------------------------------------------------------------------------------
5// Task to dump track information
6// TPC constrained and TP+ITS combined
7// for outliers analysis.
8//
9// Author: J.Otwinowski 19/06/2011
10//------------------------------------------------------------------------------
11
12class AliESDEvent;
13class AliMCEvent;
14class AlidNdPtEventCuts;
15class AlidNdPtAcceptanceCuts;
16class AliESDtrackCuts;
17class AlidNdPt;
18class AlidNdPtAnalysis;
19class AlidNdPtCorrection;
20class AliMagFMaps;
21class AliESDEvent;
22class AliMCEvent;
23class TList;
24class TTree;
25class TTreeSRedirector;
26
27#include "AliTriggerAnalysis.h"
28#include "AliAnalysisTaskSE.h"
29#include "dNdPt/AlidNdPtHelper.h"
30
31class AlidNdPtTrackDumpTask : public AliAnalysisTaskSE {
32 public:
33
34
35 AlidNdPtTrackDumpTask(const char *name = "AlidNdPtTrackDumpTask");
36 virtual ~AlidNdPtTrackDumpTask();
37
38 virtual void UserCreateOutputObjects();
39 virtual void UserExec(Option_t *option);
40 virtual void Terminate(Option_t *);
41 virtual Bool_t Notify();
42 virtual void FinishTaskOutput();
43 void SetUseMCInfo(Bool_t info) { fUseMCInfo = info; }
44 Bool_t IsUseMCInfo() const { return fUseMCInfo; }
45
46 // Process events
47 virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0, AliESDfriend *const esdFriend=0);
48
49 void SetEventCuts(AlidNdPtEventCuts* const cuts) { fdNdPtEventCuts = cuts; }
50 void SetAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtAcceptanceCuts = cuts; }
51 void SetRecAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtRecAcceptanceCuts = cuts; }
52 void SetTrackCuts(AliESDtrackCuts* const cuts) { fEsdTrackCuts = cuts; }
53 void SetTrigger(const AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; }
54 void SetAnalysisMode(const AlidNdPtHelper::AnalysisMode mode) { fAnalysisMode = mode; }
55
56 AlidNdPtEventCuts* GetEventCuts() const { return fdNdPtEventCuts; }
57 AlidNdPtAcceptanceCuts* GetAcceptanceCuts() const { return fdNdPtAcceptanceCuts; }
58 AlidNdPtAcceptanceCuts* GetRecAcceptanceCuts() const { return fdNdPtRecAcceptanceCuts; }
59 AliESDtrackCuts* GetTrackCuts() const { return fEsdTrackCuts; }
60 AliTriggerAnalysis::Trigger GetTrigger() const { return fTrigger; }
61 AlidNdPtHelper::AnalysisMode GetAnalysisMode() const { return fAnalysisMode; }
62
63 TString GetCentralityEstimator() const {return fCentralityEstimator; }
64 void SetCentralityEstimator(TString centEst="V0M") { fCentralityEstimator = centEst; }
65
66 Bool_t IsFromConversion(const Int_t label, AliStack *const stack);
67 Bool_t IsFromMaterial(const Int_t label, AliStack *const stack);
68 Bool_t IsFromStrangeness(const Int_t label, AliStack *const stack);
69 TParticle *GetMother(TParticle *const particle, AliStack *const stack);
70
71 Bool_t ConstrainTPCInner(AliExternalTrackParam *const tpcInnerC, const AliESDVertex* vtx, Double_t b[3]);
72 Bool_t ConstrainTrackInner(AliExternalTrackParam *const trackInnerC, const AliESDVertex* vtx, Double_t mass, Double_t b[3]);
73
74
75 private:
76
77 AliESDEvent *fESD; //! ESD event
78 AliMCEvent *fMC; //! MC event
79 AliESDfriend *fESDfriend; //! ESDfriend event
80 TList* fOutput; //! list send on output slot 0
81 TIterator *fPitList; //! iterator over the output objetcs
82
83 Bool_t fUseMCInfo; //! use MC information
84
85 AlidNdPtEventCuts *fdNdPtEventCuts; //! event cuts
86 AlidNdPtAcceptanceCuts *fdNdPtAcceptanceCuts; //! acceptance cuts
87 AlidNdPtAcceptanceCuts *fdNdPtRecAcceptanceCuts; //! additional recontruction acceptance cuts (not used for MC truth)
88 AliESDtrackCuts *fEsdTrackCuts; //! esd track cuts
89 AliTriggerAnalysis::Trigger fTrigger; //! trigger settings
90 AlidNdPtHelper::AnalysisMode fAnalysisMode; //! analysis mode TPC only, TPC + ITS
91
92 TTree* fOutputSummary; //! tree to dump output
93 TTreeSRedirector* fTreeSRedirector; //! temp tree to dump output
94
95 TString fCentralityEstimator; //! use centrality can be "VOM" (default), "FMD", "TRK", "TKL", "CL0", "CL1", "V0MvsFMD", "TKLvsV0M", "ZEMvsZDC"
96
97
98 AlidNdPtTrackDumpTask(const AlidNdPtTrackDumpTask&); // not implemented
99 AlidNdPtTrackDumpTask& operator=(const AlidNdPtTrackDumpTask&); // not implemented
100
101 ClassDef(AlidNdPtTrackDumpTask, 1); // example of analysis
102};
103
104#endif