]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FORWARD/analysis/AliFMDAnalysisTaskCollector.h
Added 2012 geom
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis / AliFMDAnalysisTaskCollector.h
1 #ifndef ALIFMDANALYSISTASKCOLLECTOR_H
2 #define ALIFMDANALYSISTASKCOLLECTOR_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 "AliAnalysisTaskSE.h"
8 #include "TH1F.h"
9 #include "TObjArray.h"
10
11 class AliESDEvent;
12 class TChain;
13 class AliAODEvent;
14 class AliFMDAnaParameters;
15 //
16 //Class to fit energy distributions in the FMD
17 //
18 class AliFMDAnalysisTaskCollector : public AliAnalysisTaskSE
19 {
20  public:
21   AliFMDAnalysisTaskCollector();
22   AliFMDAnalysisTaskCollector(const char* name);
23   AliFMDAnalysisTaskCollector(const AliFMDAnalysisTaskCollector& o) : 
24     AliAnalysisTaskSE(),
25     //    fDebug(o.fDebug),
26     fOutputList(o.fOutputList),
27     fArray(o.fArray),
28     fZvtxDist(o.fZvtxDist),
29     fEvents(0),
30     fEmptyEvents(0),
31     fClusters(0),
32     fClustersEmpty(0),
33     fFirstEvent(kTRUE), 
34     fParam(0)
35   {}
36   
37   AliFMDAnalysisTaskCollector& operator=(const AliFMDAnalysisTaskCollector&) { return *this; }
38   virtual ~AliFMDAnalysisTaskCollector() {;}
39   // Implementation of interface methods
40   
41   virtual void UserCreateOutputObjects();
42   virtual void UserExec(Option_t *option);
43   virtual void SetDebugLevel(Int_t level) {fDebug = level;}
44   virtual void Terminate(Option_t */*option*/);
45   void ReadFromFile(const Char_t* filename, Bool_t store=kFALSE, Int_t speciesOption = 0);
46   static Double_t  TripleLandau(const Double_t *x, Double_t *par);
47   TF1* FitEnergyDistribution(TH1F* hEnergy, Int_t speciesOption);
48
49 private:
50   void          GetVertex(Double_t* vertexXYZ); 
51   //Int_t         fDebug;        //  Debug flag
52   TList*        fOutputList;     //Output list
53   TObjArray*    fArray;          //Array for storage
54   TH1F*         fZvtxDist;       //Dist of z vertex
55   Int_t         fEvents;         //Number of events
56   Int_t         fEmptyEvents;    //Number of events with empty trigger
57   Float_t       fClusters;       //Number of clusters
58   Float_t       fClustersEmpty;  //Number of clusters in empty events
59   Bool_t        fFirstEvent;     //Have we had events yet ?
60   AliFMDAnaParameters* fParam;   //The parameters class for IO
61
62   ClassDef(AliFMDAnalysisTaskCollector, 1); // Analysis task for FMD analysis
63 };
64  
65 #endif
66 // Local Variables:
67 //   mode: C++ 
68 // End:
69 // EOF