]>
Commit | Line | Data |
---|---|---|
58c79e79 | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | /* $Id: AliAnalysisTaskEx02.h 45956 2010-12-10 12:55:37Z agheata $ */ | |
5 | /* AliAnalysisTaskEx02.h | |
6 | * | |
7 | * Template task producing a P_t spectrum and pseudorapidity distribution. | |
8 | * Includes explanations of physics and primary track selections | |
9 | * | |
10 | * Based on tutorial example from offline pages | |
11 | * Edited by Arvinder Palaha | |
12 | */ | |
13 | #ifndef ALIANALYSISTASKEX02_H | |
14 | #define ALIANALYSISTASKEX02_H | |
15 | ||
16 | class TH1F; | |
17 | class TList; | |
f120e7a6 | 18 | class AliAnalysisManager; |
58c79e79 | 19 | class AliESDtrackCuts; |
f120e7a6 | 20 | class AliMultiInputEventHandler; |
21 | class AliMixInputEventHandler; | |
58c79e79 | 22 | |
23 | #ifndef ALIANALYSISTASKSE_H | |
24 | #include "AliAnalysisTaskSE.h" | |
25 | #endif | |
26 | ||
27 | class AliAnalysisTaskEx02 : public AliAnalysisTaskSE { | |
28 | public: | |
29 | AliAnalysisTaskEx02(); | |
30 | AliAnalysisTaskEx02(const char *name); | |
31 | virtual ~AliAnalysisTaskEx02(); | |
32 | ||
33 | virtual void UserCreateOutputObjects(); | |
34 | virtual void UserExec(Option_t *option); | |
35 | virtual void UserExecMix(Option_t *); | |
36 | virtual void Terminate(Option_t *); | |
37 | ||
f120e7a6 | 38 | // function to loop over ESD event |
58c79e79 | 39 | void Loop(AliESDEvent *esd); |
f120e7a6 | 40 | void LoopV0(AliESDEvent *esd); |
58c79e79 | 41 | void LoopESDMC(); |
f120e7a6 | 42 | |
43 | // function to loop over AOD event | |
58c79e79 | 44 | void Loop(AliAODEvent *aod); |
f120e7a6 | 45 | void LoopV0(AliAODEvent *aod); |
58c79e79 | 46 | void LoopAODMC(); |
47 | ||
f120e7a6 | 48 | void SetLoopInUserExecMix(Bool_t useMix=kTRUE) { fUseLoopInUserExecMix = useMix;} |
49 | void SetUseLoopMixedEvent(Bool_t useMixEvent=kTRUE) { fUseLoopMixedEvent = useMixEvent;} | |
50 | void SetLoopV0(Bool_t useV0=kTRUE) { fUseLoopV0 = useV0;} | |
51 | ||
52 | AliVEvent* GetMainEvent(); | |
53 | AliVEvent* GetMixedEvent(Int_t buffId=0); | |
54 | ||
55 | AliMultiInputEventHandler *SetMainInputHandler(AliAnalysisManager *mgr); | |
56 | AliMixInputEventHandler *SetMixingInputHandler(AliMultiInputEventHandler *mainIH); | |
57 | ||
58c79e79 | 58 | private: |
f120e7a6 | 59 | TList *fOutput; // Output list |
60 | TH1F *fHistPt; // Pt spectrum | |
61 | TH1F *fHistEta; // pseudorapidity spectrum | |
62 | ||
63 | TH1F *fHistMultiDiff; // multiplicity difference | |
64 | TH1F *fHistZVertexDiff; // Vz difference | |
58c79e79 | 65 | |
f120e7a6 | 66 | // Following options are only for testing purposes (user can ignore) |
67 | Bool_t fUseLoopInUserExecMix; // | |
68 | Bool_t fUseLoopMixedEvent; // | |
69 | Bool_t fUseLoopV0; // | |
70 | ||
71 | AliMultiInputEventHandler *fMainInputHandler; //! tmp pointer to mixing input handler | |
72 | AliMixInputEventHandler *fMixingInputHandler; //! tmp pointer to mixing input handler | |
58c79e79 | 73 | |
74 | AliAnalysisTaskEx02(const AliAnalysisTaskEx02 &); // not implemented | |
75 | AliAnalysisTaskEx02 &operator=(const AliAnalysisTaskEx02 &); // not implemented | |
76 | ||
77 | ClassDef(AliAnalysisTaskEx02, 1); // example of analysis | |
78 | }; | |
79 | ||
80 | #endif |