fixed the reading of the FMD primary data (speed issue)
[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       fRecordHits(o.fRecordHits) {}
35     AliFMDAnalysisTaskDndeta& operator=(const AliFMDAnalysisTaskDndeta&) { return *this; }
36     // Implementation of interface methods
37     virtual void ConnectInputData(Option_t *option = "");
38     virtual void CreateOutputObjects();
39     virtual void Init() {}
40     virtual void LocalInit() {Init();}
41     virtual void Exec(Option_t *option);
42     virtual void Terminate(Option_t *option);
43     virtual void SetDebugLevel(Int_t level) {fDebug = level;}
44     void SetInputList(TList* inputList) {fInputList = inputList;}
45     void SetInputVertex(TObjString* vtxString) {fVertexString = vtxString;}
46     void SetOutputList(TList* outputList) {fOutputList = outputList;}
47     void SetMCEvent(AliMCEvent* mcevent) {fMCevent = mcevent;}
48     void ProcessPrimary();
49     TList* GetOutputList() {return fOutputList;}
50     void SetAnalyzePrimary(Bool_t prim) {fPrimary = prim;}
51     void SetRecordHits(Bool_t recordhits) {fRecordHits = recordhits;}
52  private:
53     Int_t         fDebug;        //  Debug flag
54     TList*        fOutputList;
55     TList*        fInputList;
56     TObjArray     fArray;
57     TObjArray*    fInputArray;
58     TObjString*   fVertexString;
59     TH1I          fNevents;
60     TH1I          fNMCevents;
61     Bool_t        fStandalone;
62     AliMCEvent*   fMCevent;
63     AliFMDFloatMap fLastTrackByStrip;
64     Bool_t        fPrimary;
65     Bool_t        fRecordHits;
66     ClassDef(AliFMDAnalysisTaskDndeta, 0); // Analysis task for FMD analysis
67 };
68  
69 #endif