f38c9f6cfc3b42bd046995a0934c9c472070cc08
[u/mrichter/AliRoot.git] / FMD / analysis / AliFMDAnalysisTaskDensity.h
1 #ifndef ALIFMDANALYSISTASKDENSITY_H
2 #define ALIFMDANALYSISTASKDENSITY_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 "AliESDFMD.h"
11 #include "AliESDVertex.h"
12 #include "TObjString.h"
13 #include "TTree.h"
14
15 class AliESDEvent;
16 class TChain;
17 class AliAODEvent;
18 class TF1;
19
20
21 /**
22  * @ingroup FMD_ana
23  */
24 class AliFMDAnalysisTaskDensity : public AliAnalysisTask
25 {
26  public:
27     AliFMDAnalysisTaskDensity();
28     AliFMDAnalysisTaskDensity(const char* name, Bool_t SE = kTRUE);
29     virtual ~AliFMDAnalysisTaskDensity() {;}
30  AliFMDAnalysisTaskDensity(const AliFMDAnalysisTaskDensity& o) : AliAnalysisTask(),
31       fDebug(o.fDebug),
32       fOutputList(),
33       fArray(o.fArray),
34       fESD(o.fESD),
35       fVertexString(o.fVertexString),
36       fVertex(o.fVertex),
37       fStandalone(o.fStandalone),
38       fStatus(o.fStatus) {}
39     AliFMDAnalysisTaskDensity& operator=(const AliFMDAnalysisTaskDensity&) { return *this; }
40     // Implementation of interface methods
41     virtual void ConnectInputData(Option_t *option);
42     virtual void CreateOutputObjects();
43     virtual void Init() {}
44     virtual void LocalInit() {Init();}
45     virtual void Exec(Option_t *option);
46     virtual void Terminate(Option_t */*option*/) {}
47     virtual void SetDebugLevel(Int_t level) {fDebug = level;}
48     
49     Float_t       GetAcceptanceCorrection(Char_t ring, UShort_t strip);
50     void SetOutputList(TList* outlist) {fOutputList = outlist;}
51     void SetInputESDFMD(AliESDFMD* esdfmd) {fESD = esdfmd;}
52     void SetInputVertex(AliESDVertex* vertex) {fVertex = vertex;}
53     Bool_t GetEventStatus() { return fStatus; }
54     Float_t GetPhiFromSector(UShort_t det, Char_t ring, UShort_t sec);
55  private:
56     
57     Int_t         fDebug;        //  Debug flag
58     TList*        fOutputList;
59     TObjArray     fArray;
60     AliESDFMD*    fESD;
61     TObjString    fVertexString;
62     AliESDVertex* fVertex;
63     Bool_t        fStandalone;
64     Bool_t        fStatus;
65     // TF1*          fFuncPos;
66     // TF1*          fFuncNeg;
67     
68     ClassDef(AliFMDAnalysisTaskDensity, 0); // Analysis task for FMD analysis
69 };
70  
71 #endif
72 // Local Variables:
73 //   mode: C++ 
74 // End: