698d84707df7a7cdcd3e5d61f03b58b857a73193
[u/mrichter/AliRoot.git] / FMD / analysis / AliFMDAnalysisTaskDndeta.h
1 #ifndef ALIFMDANALYSISTASKDNDETA_H
2 #define ALIFMDANALYSISTASKDNDETA_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6  
7 #include "AliAnalysisTask.h"
8
9 #include "TObjArray.h"
10 #include "TObjString.h"
11 #include "TArrayI.h"
12 #include "TH1I.h"
13 #include "AliMCEvent.h"
14 #include "AliFMDFloatMap.h"
15 class AliFMDAnalysisTaskDndeta : public AliAnalysisTask
16 {
17  public:
18     AliFMDAnalysisTaskDndeta();
19     AliFMDAnalysisTaskDndeta(const char* name, Bool_t SE = kTRUE);
20     virtual ~AliFMDAnalysisTaskDndeta() {;}
21  AliFMDAnalysisTaskDndeta(const AliFMDAnalysisTaskDndeta& o) : AliAnalysisTask(),
22       fDebug(o.fDebug),
23       fOutputList(0),
24       fInputList(0),
25       fArray(o.fArray),
26       fInputArray(o.fInputArray),
27       fVertexString(o.fVertexString),
28       fNevents(o.fNevents),
29       fNMCevents(o.fNMCevents),
30       fStandalone(o.fStandalone),
31       fMCevent(o.fMCevent),
32       fLastTrackByStrip(o.fLastTrackByStrip),
33       fPrimary(o.fPrimary) {}
34     AliFMDAnalysisTaskDndeta& operator=(const AliFMDAnalysisTaskDndeta&) { return *this; }
35     // Implementation of interface methods
36     virtual void ConnectInputData(Option_t *option = "");
37     virtual void CreateOutputObjects();
38     virtual void Init() {}
39     virtual void LocalInit() {Init();}
40     virtual void Exec(Option_t *option);
41     virtual void Terminate(Option_t *option);
42     virtual void SetDebugLevel(Int_t level) {fDebug = level;}
43     void SetInputList(TList* inputList) {fInputList = inputList;}
44     void SetInputVertex(TObjString* vtxString) {fVertexString = vtxString;}
45     void SetOutputList(TList* outputList) {fOutputList = outputList;}
46     void SetMCEvent(AliMCEvent* mcevent) {fMCevent = mcevent;}
47     void ProcessPrimary();
48     TList* GetOutputList() {return fOutputList;}
49     void SetAnalyzePrimary(Bool_t prim) {fPrimary = prim;}
50  private:
51     Int_t         fDebug;        //  Debug flag
52     TList*        fOutputList;
53     TList*        fInputList;
54     TObjArray     fArray;
55     TObjArray*    fInputArray;
56     TObjString*   fVertexString;
57     TH1I          fNevents;
58     TH1I          fNMCevents;
59     Bool_t        fStandalone;
60     AliMCEvent*   fMCevent;
61     AliFMDFloatMap fLastTrackByStrip;
62     Bool_t        fPrimary;
63     ClassDef(AliFMDAnalysisTaskDndeta, 0); // Analysis task for FMD analysis
64 };
65  
66 #endif