]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis/AliFMDAnalysisTaskBFCorrelation.h
Major refactoring of the code.
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis / AliFMDAnalysisTaskBFCorrelation.h
CommitLineData
1c038f67 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"
4b8bdb60 13#include "TH2.h"
1c038f67 14#include "AliMCEvent.h"
15#include "AliFMDFloatMap.h"
4b8bdb60 16#include "TCanvas.h"
1c038f67 17
18/**
1b418b63 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 *
1c038f67 30 * @ingroup FMD_ana
31 */
32class AliFMDAnalysisTaskBFCorrelation : public AliAnalysisTask
33{
1b418b63 34public:
35 /**
36 * Constructor
37 *
38 *
39 */
1c038f67 40 AliFMDAnalysisTaskBFCorrelation();
1b418b63 41 /**
42 * Constructor
43 *
44 * @param name Name of task
45 * @param SE Whether we're run from SE task
46 */
1c038f67 47 AliFMDAnalysisTaskBFCorrelation(const char* name, Bool_t SE = kTRUE);
1b418b63 48 /**
49 * Destructor
50 */
51 virtual ~AliFMDAnalysisTaskBFCorrelation() {;}
52 /**
53 * Copy constructor
54 *
55 * @param o Object to copy from
56 */
2869f0ae 57 AliFMDAnalysisTaskBFCorrelation(const AliFMDAnalysisTaskBFCorrelation& o)
1b418b63 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)
2869f0ae 72 {}
1b418b63 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 */
1c038f67 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;}
1b418b63 92 /**
93 * @}
94 */
95 /**
96 * Set the input list of histograms
97 *
98 * @param inputList Input list
99 */
1c038f67 100 void SetInputList(TList* inputList) {fInputList = inputList;}
1b418b63 101 /**
102 * Set the input vertex
103 *
104 * @param vtxString String
105 */
1c038f67 106 void SetInputVertex(TObjString* vtxString) {fVertexString = vtxString;}
1b418b63 107 /**
108 * Set the output list
109 *
110 * @param outputList Output list
111 */
1c038f67 112 void SetOutputList(TList* outputList) {fOutputList = outputList;}
1b418b63 113 /**
114 * Project the data, and mirror it.
115 *
116 * @param sType
117 */
2869f0ae 118 void ProjectAndMirror(TString sType);
1b418b63 119 /**
120 * Calculate values
121 *
122 * @param sType
123 */
2869f0ae 124 void CalculateValues(TString sType);
125 // void ProjectAndMirror(TString type);
126 // void CalculateParameters(TString type);
1b418b63 127 /**
128 * The multiplicity versus eta
129 *
130 * @param type
131 */
2869f0ae 132 void MultiplicityVsEta(TString type);
1b418b63 133 /**
134 * Create the response matrix
135 *
136 */
2869f0ae 137 void CreateResponseMatrix();
1b418b63 138 /**
139 * Process a primary hit
140 *
141 */
1c038f67 142 void ProcessPrimary();
1b418b63 143 /**
144 * Get the list out out objects
145 *
146 *
147 * @return
148 */
1c038f67 149 TList* GetOutputList() {return fOutputList;}
1b418b63 150private:
4b8bdb60 151
1c038f67 152 Int_t fDebug; // Debug flag
1b418b63 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?
4b8bdb60 158
1b418b63 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
4b8bdb60 166
1c038f67 167 ClassDef(AliFMDAnalysisTaskBFCorrelation, 0); // Analysis task for FMD analysis
168};
169
170#endif
171// Local Variables:
172// mode: C++
173// End: