]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliForwardFlowUtil.h
Bug fix
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwardFlowUtil.h
CommitLineData
58f5fae2 1//
2// Class used to handle the input from AODs and put it into histograms
3// the Forward Flow tasks can run on
4//
5#ifndef ALIFORWARDFLOWUTIL_H
6#define ALIFORWARDFLOWUTIL_H
ffca499d 7/**
8 * @file AliForwardFlowUtil.h
2f9be372 9 * @author Alexander Hansen alexander.hansen@cern.ch
10 * @date Fri Mar 25 13:15:40 2011
ffca499d 11 *
12 * @brief
13 *
14 *
bd6f5206 15 * @ingroup pwglf_forward_flow
ffca499d 16 */
58f5fae2 17#include "TNamed.h"
18class AliAODForwardMult;
19class AliAODEvent;
20class TList;
d226802c 21class TGraph;
58f5fae2 22
23/**
24 *
25 * Class used to handle the input from AODs and put it into histograms
26 * the Forward Flow tasks can run on.
27 *
bd6f5206 28 * @ingroup pwglf_forward_tasks_flow
29 * @ingroup pwglf_forward_flow
58f5fae2 30 */
31class AliForwardFlowUtil : public TNamed
32{
33public:
34 /**
35 * Constructor
36 */
37 AliForwardFlowUtil();
38 /*
39 * Constructor
40 *
ffca499d 41 * @param l list of histograms for flow analysis
58f5fae2 42 */
ffca499d 43 AliForwardFlowUtil(TList* l);
58f5fae2 44 /**
45 * Check that AOD event meet trigger requirements
ffca499d 46 *
47 * @param aodfm Forward multplicity AOD event structure
48 *
2f9be372 49 * @return true on success
58f5fae2 50 */
d226802c 51 Bool_t AODCheck(const AliAODForwardMult* aodfm);
58f5fae2 52 /**
53 * Loop over AliAODForwardMult object and fill flow histograms
ffca499d 54 *
55 * @param AODevent AOD event structure
56 *
57 * @return true on success
58f5fae2 58 */
2f9be372 59 Bool_t LoopAODFMD(const AliAODEvent* AODevent);
58f5fae2 60 /*
2f9be372 61 * Loop over AliAODCentralMult object and fill flow histograms
ffca499d 62 *
63 * @param AODevent AOD event structure
64 *
65 * @return true on success
58f5fae2 66 */
67 Bool_t LoopAODSPD(const AliAODEvent* AODevent) const;
68 /**
69 * Loop over AliAODForwardMult object and fill flow histograms from
70 * track refs
ffca499d 71 *
72 * @param AODevent AOD event structure
73 *
74 * @return true on success
58f5fae2 75 */
2f9be372 76 Bool_t LoopAODFMDtrrefHits(const AliAODEvent* AODevent) const;
77 /**
78 * Loop over AliAODCentralMult object and fill flow histograms from
79 * track refs
80 *
81 * @param AODevent AOD event structure
82 *
83 * @return true on success
84 */
85 Bool_t LoopAODSPDtrrefHits(const AliAODEvent* AODevent) const;
ffca499d 86 /**
58f5fae2 87 * Loop over AliAODMCParticle branch object and fill flow histograms
88 * add flow if arguments are set
ffca499d 89 *
90 * @param AODevent AOD event structure
91 * @param addFlow What to add flow to
92 * @param type Type of flow
93 * @param order Order of added flow
94 *
95 * @return true on success
58f5fae2 96 */
ffca499d 97 Bool_t LoopAODmc(const AliAODEvent* AODevent, TString addFlow,
2f9be372 98 Int_t type, Int_t order) const;
58f5fae2 99 /**
2f9be372 100 * Get centrality from newest processed event
101 */
102 Double_t GetCentrality() const { return fCent; }
103 /**
104 * Get z vertex coordinate from newest processed event
58f5fae2 105 */
2f9be372 106 Float_t GetVertex() const { return fVertex; }
d226802c 107 /**
108 * Parametrize ALICE data points
109 */
58f5fae2 110
111protected:
ffca499d 112 /*
113 * Copy constructor
114 *
115 * @param o Object to copy from
116 */
117 AliForwardFlowUtil(const AliForwardFlowUtil& o) : TNamed(),
118 fList(o.fList),
2f9be372 119 fCent(o.fCent),
d226802c 120 fVertex(o.fVertex),
121 fAliceCent4th(o.fAliceCent4th),
122 fAlicePt2nd4050(o.fAlicePt2nd4050),
123 fAlicePt4th3040(o.fAlicePt4th3040),
124 fAlicePt4th4050(o.fAlicePt4th4050),
125 fImpactParToCent(o.fImpactParToCent)
126 {}
ffca499d 127 /**
128 * Assignment operator
129 *
130 * @return Reference to this object
131 */
132 AliForwardFlowUtil& operator=(const AliForwardFlowUtil&) { return *this; }
58f5fae2 133 /**
134 * Add pt dependent flow factor
ffca499d 135 *
136 * @param Pt @f$ p_T@f$
137 * @param type Type of flow
58f5fae2 138 */
139 Double_t AddptFlow(Double_t Pt, Int_t type) const;
140 /**
141 * Add pid dependent flow factor
2f9be372 142 *
ffca499d 143 * @param ID Particle ID
144 * @param type Type of flow
58f5fae2 145 */
146 Double_t AddpidFlow(Int_t ID, Int_t type) const;
147 /**
148 * Add eta dependent flow factor
ffca499d 149 *
150 * @param Eta @f$\eta@f$
151 * @param type Type of flow
58f5fae2 152 */
153 Double_t AddetaFlow(Double_t Eta, Int_t type) const;
154 /**
155 * Get centrality form MC impact parameter
ffca499d 156 *
157 * @param AODevent AOD event structure
58f5fae2 158 */
159 Double_t GetCentFromMC(const AliAODEvent* AODevent) const;
160
2f9be372 161 TList* fList; // List of flow histograms
162 Double_t fCent; // centrality
d226802c 163 Float_t fVertex; // z vertex coordinate
164 TGraph* fAliceCent4th;
165 TGraph* fAlicePt2nd4050;
166 TGraph* fAlicePt4th3040;
167 TGraph* fAlicePt4th4050;
168 TGraph* fImpactParToCent;
58f5fae2 169
170 ClassDef(AliForwardFlowUtil, 1);
171};
172
173#endif
174// Local Variables:
175// mode: C++
176// End: