]>
Commit | Line | Data |
---|---|---|
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 | ||
12 | class AliESDEvent; | |
13 | class AliMCEvent; | |
14 | class AlidNdPtEventCuts; | |
15 | class AlidNdPtAcceptanceCuts; | |
16 | class AliESDtrackCuts; | |
17 | class AlidNdPt; | |
18 | class AlidNdPtAnalysis; | |
19 | class AlidNdPtCorrection; | |
20 | class AliMagFMaps; | |
21 | class AliESDEvent; | |
22 | class AliMCEvent; | |
23 | class TList; | |
24 | class TTree; | |
25 | class TTreeSRedirector; | |
26 | ||
27 | #include "AliTriggerAnalysis.h" | |
28 | #include "AliAnalysisTaskSE.h" | |
29 | #include "dNdPt/AlidNdPtHelper.h" | |
30 | ||
31 | class 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 |