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