]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/AliFMDEnergyFitterTask.h
Adding the task to add additional track or MC branches to the AOD, FastEmbedding...
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliFMDEnergyFitterTask.h
CommitLineData
0bd4b00f 1#ifndef ALIROOT_PWG2_FORWARD_ALIFMDENERGYFITTERTASK_H
2#define ALIROOT_PWG2_FORWARD_ALIFMDENERGYFITTERTASK_H
3#include <AliAnalysisTaskSE.h>
4#include "AliForwardUtil.h"
5#include "AliFMDEventInspector.h"
6#include "AliFMDEnergyFitter.h"
7#include <AliESDFMD.h>
8#include <TH1I.h>
9class AliESDEvent;
10class TH2D;
11class TList;
12class TTree;
13
14
15/**
16 * @mainpage ALICE PWG2 Forward Multiplcity Analysis
17 */
18/**
19 * @defgroup pwg2_forward_analysis PWG2 Forward analysis
20 *
21 * Code to do the multiplicity analysis in the forward psuedo-rapidity
22 * regions
23 *
24 */
25/**
26 * Histogram and fit the energy loss distributions for the FMD
27 *
28 * @par Inputs:
29 * - AliESDEvent
30 *
31 * @par Outputs:
32 * - None
33 *
34 * @par Histograms
35 *
36 * @par Corrections used
37 * - None
38 *
39 * @ingroup pwg2_forward_analysis
40 *
41 */
42class AliFMDEnergyFitterTask : public AliAnalysisTaskSE
43{
44public:
45 /**
46 * Constructor
47 *
48 * @param name Name of task
49 */
50 AliFMDEnergyFitterTask(const char* name);
51 /**
52 * Constructor
53 */
54 AliFMDEnergyFitterTask();
55 /**
56 * Copy constructor
57 *
58 * @param o Object to copy from
59 */
60 AliFMDEnergyFitterTask(const AliFMDEnergyFitterTask& o);
61 /**
62 * Assignment operator
63 *
64 * @param o Object to assign from
65 *
66 * @return Reference to this object
67 */
68 AliFMDEnergyFitterTask& operator=(const AliFMDEnergyFitterTask& o);
69 /**
70 * @{
71 * @name Interface methods
72 */
73 /**
74 * Initialize the task
75 *
76 */
77 virtual void Init();
78 /**
79 * Create output objects
80 *
81 */
82 virtual void UserCreateOutputObjects();
83 /**
84 * Process each event
85 *
86 * @param option Not used
87 */
88 virtual void UserExec(Option_t* option);
89 /**
90 * End of job
91 *
92 * @param option Not used
93 */
94 virtual void Terminate(Option_t* option);
95 /**
96 * @}
97 */
98 /**
99 * Print information
100 *
101 * @param option Not used
102 */
103 void Print(Option_t* option="") const;
104 /**
105 * @{
106 * @name Access to sub-algorithms
107 */
108 /**
109 * Get reference to the EventInspector algorithm
110 *
111 * @return Reference to AliFMDEventInspector object
112 */
113 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
114 /**
115 * Get reference to the EnergyFitter algorithm
116 *
117 * @return Reference to AliFMDEnergyFitter object
118 */
119 AliFMDEnergyFitter& GetEnergyFitter() { return fEnergyFitter; }
120 /**
121 * @}
122 */
123 void SetDebug(Int_t dbg);
124protected:
125 /**
126 * Initialise the sub objects and stuff. Called on first event
127 *
128 */
129 virtual void InitializeSubs();
130
131 Bool_t fFirstEvent; // Whether the event is the first seen
132 AliFMDEventInspector fEventInspector; // Algorithm
133 AliFMDEnergyFitter fEnergyFitter; // Algorithm
134 TList* fList; // Output list
135
136 ClassDef(AliFMDEnergyFitterTask,1) // Forward multiplicity class
137};
138
139#endif
140// Local Variables:
141// mode: C++
142// End:
143