]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FORWARD/analysis/AliFMDAnalysisTaskBFCorrelation.h
Minor fixes
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis / AliFMDAnalysisTaskBFCorrelation.h
1 #ifndef ALIFMDANALYSISTASKBFCORRELATION_H
2 #define ALIFMDANALYSISTASKBFCORRELATION_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 "TH2.h"
14 #include "AliMCEvent.h"
15 #include "AliFMDFloatMap.h"
16 #include "TCanvas.h"
17
18 /**
19  * Task to do the backward/forward correlation analysis
20  * 
21  * Input:
22  *   List of histograms from AliFMDAnaysisTaskBackground
23  *
24  * Output: 
25  *   List of histograms of ...
26  *
27  * Used correction objects:
28  *   
29  * 
30  * @ingroup FMD_ana
31  */
32 class AliFMDAnalysisTaskBFCorrelation : public AliAnalysisTask
33 {
34 public:
35   /** 
36    * Constructor 
37    * 
38    * 
39    */
40     AliFMDAnalysisTaskBFCorrelation();
41   /** 
42    * Constructor
43    * 
44    * @param name  Name of task 
45    * @param SE    Whether we're run from SE task
46    */
47     AliFMDAnalysisTaskBFCorrelation(const char* name, Bool_t SE = kTRUE);
48   /** 
49    * Destructor
50    */
51   virtual ~AliFMDAnalysisTaskBFCorrelation() {;}
52   /** 
53    * Copy constructor 
54    * 
55    * @param o Object to copy from
56    */
57   AliFMDAnalysisTaskBFCorrelation(const AliFMDAnalysisTaskBFCorrelation& o) 
58     : AliAnalysisTask(),
59       fDebug(o.fDebug),
60       fOutputList(0),
61       fInputList(0),
62       fInternalList(0),
63       fVertexString(o.fVertexString),
64       fStandalone(o.fStandalone),
65       fEvent(0),
66       fnBinsX(0),
67       fXmin(0),
68       fXmax(0),
69       fnBinsY(0),
70       fYmin(0),
71       fYmax(0)
72   {}
73   /** 
74    * Assignment operator 
75    * 
76    * 
77    * @return Reference to this. 
78    */  
79   AliFMDAnalysisTaskBFCorrelation& 
80   operator=(const AliFMDAnalysisTaskBFCorrelation&) { return *this; }
81   /**
82    * @{
83    * @name Implementation of interface methods
84    */
85   virtual void ConnectInputData(Option_t *option = "");
86   virtual void CreateOutputObjects();
87   virtual void Init() {}
88   virtual void LocalInit() {Init();}
89   virtual void Exec(Option_t *option);
90   virtual void Terminate(Option_t *option);
91   virtual void SetDebugLevel(Int_t level) {fDebug = level;}
92   /** 
93    * @}
94    */
95   /** 
96    * Set the input list of histograms
97    * 
98    * @param inputList Input list 
99    */
100   void SetInputList(TList* inputList) {fInputList = inputList;}
101   /** 
102    * Set the input vertex 
103    * 
104    * @param vtxString String 
105    */
106   void SetInputVertex(TObjString* vtxString) {fVertexString = vtxString;}
107   /** 
108    * Set the output list
109    * 
110    * @param outputList Output list 
111    */
112   void SetOutputList(TList* outputList) {fOutputList = outputList;}
113   /** 
114    * Project the data, and mirror it.
115    * 
116    * @param sType 
117    */
118   void ProjectAndMirror(TString sType);
119   /** 
120    * Calculate values 
121    * 
122    * @param sType 
123    */
124   void CalculateValues(TString sType);
125   //  void ProjectAndMirror(TString type);
126   //  void CalculateParameters(TString type);
127   /** 
128    * The multiplicity versus eta 
129    * 
130    * @param type 
131    */
132   void MultiplicityVsEta(TString type);
133   /** 
134    * Create the response matrix 
135    * 
136    */
137   void CreateResponseMatrix();
138   /** 
139    * Process a primary hit
140    * 
141    */
142   void ProcessPrimary();
143   /** 
144    * Get the list out out objects 
145    * 
146    * 
147    * @return 
148    */  
149   TList* GetOutputList() {return fOutputList;}
150 private:
151   
152   Int_t         fDebug;        //  Debug flag
153   TList*        fOutputList;   // output list
154   TList*        fInputList;    // Input list
155   TList*        fInternalList; // Internal list
156   TObjString*   fVertexString; // Vertex string
157   Bool_t        fStandalone;   // Running standalone?
158  
159   Int_t   fEvent;              // Event number
160   Int_t   fnBinsX;             // Number of bins 
161   Float_t fXmin;               // Minimum 
162   Float_t fXmax;               // Maximum
163   Int_t   fnBinsY;             // Number of bins
164   Float_t fYmin;               // Minumum
165   Float_t fYmax;               // Maximum
166
167   ClassDef(AliFMDAnalysisTaskBFCorrelation, 0); // Analysis task for FMD analysis
168 };
169  
170 #endif
171 // Local Variables:
172 //   mode: C++ 
173 // End: