]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/analysis/AliFMDAnalysisTaskSharing.h
72580569df856973f7d4cd5b631523b5cb973414
[u/mrichter/AliRoot.git] / FMD / analysis / AliFMDAnalysisTaskSharing.h
1 #ifndef ALIFMDANALYSISTASKSHARING_H
2 #define ALIFMDANALYSISTASKSHARING_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 #include "TH1F.h"
9 #include "TObjString.h"
10 #include "AliESDFMD.h"
11 #include "TTree.h"
12 #include "AliESDEvent.h"
13 class TChain;
14 class AliAODEvent;
15 class AliESDVertex;
16
17
18 class AliFMDAnalysisTaskSharing : public AliAnalysisTask
19 {
20  public:
21     AliFMDAnalysisTaskSharing();
22     AliFMDAnalysisTaskSharing(const char* name, Bool_t SE = kTRUE);
23     virtual ~AliFMDAnalysisTaskSharing() {;}
24  AliFMDAnalysisTaskSharing(const AliFMDAnalysisTaskSharing& o) : AliAnalysisTask(),
25       fDebug(o.fDebug),
26       fESD(o.fESD),
27       // fOutputESD(),
28       foutputESDFMD(o.foutputESDFMD),
29       fSharedThis(o.fSharedThis),
30       fSharedPrev(o.fSharedPrev),
31       fDiagList(),
32       fStandalone(o.fStandalone),
33       fEsdVertex(o.fEsdVertex) {}
34     AliFMDAnalysisTaskSharing& operator=(const AliFMDAnalysisTaskSharing&) { return *this; }
35     
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     Float_t GetMultiplicityOfStrip(Float_t mult, Float_t Eprev, Float_t Enext, Int_t   det, Char_t  ring);
45     void GetVertex(Double_t* vertexXYZ) ;
46     void SetFMDData(AliESDFMD* fmd) {foutputESDFMD = fmd;}
47     void SetVertex(AliESDVertex* vertex) {fEsdVertex = vertex;}
48     void SetInputESD(AliESDEvent* esd) {fESD = esd;}
49  private:
50     Int_t         fDebug;        //  Debug flag
51     AliESDEvent*  fESD;          //! ESD
52     // AliESDEvent   fOutputESD;
53     AliESDFMD*    foutputESDFMD;
54     Bool_t        fSharedThis;
55     Bool_t        fSharedPrev;
56     TList         fDiagList;
57     Bool_t        fStandalone;
58     AliESDVertex* fEsdVertex;
59     ClassDef(AliFMDAnalysisTaskSharing, 0); // Analysis task for FMD analysis
60 };
61  
62 #endif