]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/examples/EventMixing/AliAnalysisTaskEx02.h
Additional changes for #94138: Port update in Ali*CaloCells to trunk and release...
[u/mrichter/AliRoot.git] / ANALYSIS / examples / EventMixing / AliAnalysisTaskEx02.h
CommitLineData
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
16class TH1F;
17class TList;
f120e7a6 18class AliAnalysisManager;
58c79e79 19class AliESDtrackCuts;
f120e7a6 20class AliMultiInputEventHandler;
21class AliMixInputEventHandler;
58c79e79 22
23#ifndef ALIANALYSISTASKSE_H
24#include "AliAnalysisTaskSE.h"
25#endif
26
27class AliAnalysisTaskEx02 : public AliAnalysisTaskSE {
28public:
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 58private:
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