]>
Commit | Line | Data |
---|---|---|
63d15f4b | 1 | #ifndef ALIANALYSISTASKTOYMODEL_CXX\r |
2 | #define ALIANALYSISTASKTOYMODEL_CXX\r | |
3 | \r | |
4 | // Analysis task for a simple toy model, currently used for the \r | |
5 | // balance function\r | |
6 | // Authors: Panos Christakoglou@nikhef.nl\r | |
7 | \r | |
8 | class TList;\r | |
9 | class TH1F;\r | |
10 | class TH2F;\r | |
11 | class TF1;\r | |
12 | \r | |
13 | class AliBalance;\r | |
14 | \r | |
0ed078e1 | 15 | class AliAnalysisTaskToyModel : public TObject {\r |
63d15f4b | 16 | public:\r |
0ed078e1 | 17 | AliAnalysisTaskToyModel();\r |
63d15f4b | 18 | virtual ~AliAnalysisTaskToyModel(); \r |
19 | \r | |
20 | virtual void Init();\r | |
0ed078e1 | 21 | virtual void CreateOutputObjects();\r |
22 | virtual void Run(Int_t nEvents);\r | |
23 | virtual void FinishOutput();\r | |
63d15f4b | 24 | \r |
0ed078e1 | 25 | void SetDebugFlag() {fUseDebug = kTRUE;}\r |
26 | \r | |
63d15f4b | 27 | void SetAnalysisObject(AliBalance *const analysis) {\r |
28 | fBalance = analysis;\r | |
29 | }\r | |
30 | void SetShufflingObject(AliBalance *const analysisShuffled) {\r | |
31 | fRunShuffling = kTRUE;\r | |
32 | fShuffledBalance = analysisShuffled;\r | |
33 | }\r | |
34 | \r | |
35 | //============Toy model: List of setters============//\r | |
36 | void SetTotalMultiplicity(Double_t mean, Double_t sigma) {\r | |
37 | fTotalMultiplicityMean = mean;\r | |
38 | fTotalMultiplicitySigma = sigma;}\r | |
39 | void SetNetCharge(Double_t mean, Double_t sigma) {\r | |
40 | fNetChargeMean = mean;\r | |
41 | fNetChargeSigma = sigma;}\r | |
42 | \r | |
43 | //Acceptance\r | |
44 | void SetKinematicsCutsMC(Double_t ptmin, Double_t ptmax,\r | |
45 | Double_t etamin, Double_t etamax){\r | |
46 | fPtMin = ptmin; fPtMax = ptmax;\r | |
47 | fEtaMin = etamin; fEtaMax = etamax;\r | |
48 | }\r | |
49 | \r | |
50 | //Acceptance filter\r | |
51 | void SetAcceptanceParameterization(TF1 *parameterization) {\r | |
6b3bc65c | 52 | fUseAcceptanceParameterization = kTRUE;\r |
63d15f4b | 53 | fAcceptanceParameterization = parameterization;}\r |
54 | \r | |
55 | //All charges\r | |
56 | void SetSpectraTemperatureForAllCharges(Double_t temperature) {\r | |
b4665e0f | 57 | fUseAllCharges = kTRUE;\r |
63d15f4b | 58 | fTemperatureAllCharges = temperature;}\r |
59 | void SetDirectedFlowForAllCharges(Double_t v1) {\r | |
b4665e0f | 60 | fUseAllCharges = kTRUE;\r |
63d15f4b | 61 | fDirectedFlowAllCharges = v1;}\r |
62 | void SetEllipticFlowForAllCharges(Double_t v2) {\r | |
b4665e0f | 63 | fUseAllCharges = kTRUE;\r |
63d15f4b | 64 | fEllipticFlowAllCharges = v2;}\r |
65 | void SetTriangularFlowForAllCharges(Double_t v3) {\r | |
b4665e0f | 66 | fUseAllCharges = kTRUE;\r |
63d15f4b | 67 | fTriangularFlowAllCharges = v3;}\r |
0ed078e1 | 68 | void SetQuandrangularFlowForAllCharges(Double_t v4) {\r |
b4665e0f | 69 | fUseAllCharges = kTRUE;\r |
63d15f4b | 70 | fQuandrangularFlowAllCharges = v4;}\r |
71 | void SetPentangularFlowForAllCharges(Double_t v5) {\r | |
b4665e0f | 72 | fUseAllCharges = kTRUE;\r |
63d15f4b | 73 | fPentangularFlowAllCharges = v5;}\r |
74 | \r | |
75 | //Pions\r | |
76 | void SetPionPercentage(Double_t percentage) {\r | |
77 | fPionPercentage = percentage;}\r | |
78 | void SetSpectraTemperatureForPions(Double_t temperature) {\r | |
79 | fTemperaturePions = temperature;}\r | |
80 | void SetDirectedFlowForPions(Double_t v1) {\r | |
81 | fDirectedFlowPions = v1;}\r | |
82 | void SetEllipticFlowForPions(Double_t v2) {\r | |
83 | fEllipticFlowPions = v2;}\r | |
84 | void SetTriangularFlowForPions(Double_t v3) {\r | |
85 | fTriangularFlowPions = v3;}\r | |
0ed078e1 | 86 | void SetQuandrangularFlowForPions(Double_t v4) {\r |
63d15f4b | 87 | fQuandrangularFlowPions = v4;}\r |
88 | void SetPentangularFlowForPions(Double_t v5) {\r | |
89 | fPentangularFlowPions = v5;}\r | |
90 | \r | |
91 | //Kaons\r | |
92 | void SetKaonPercentage(Double_t percentage) {\r | |
93 | fKaonPercentage = percentage;}\r | |
94 | void SetSpectraTemperatureForKaons(Double_t temperature) {\r | |
95 | fTemperatureKaons = temperature;}\r | |
96 | void SetDirectedFlowForKaons(Double_t v1) {\r | |
97 | fDirectedFlowKaons = v1;}\r | |
98 | void SetEllipticFlowForKaons(Double_t v2) {\r | |
99 | fEllipticFlowKaons = v2;}\r | |
100 | void SetTriangularFlowForKaons(Double_t v3) {\r | |
101 | fTriangularFlowKaons = v3;}\r | |
0ed078e1 | 102 | void SetQuandrangularFlowForKaons(Double_t v4) {\r |
63d15f4b | 103 | fQuandrangularFlowKaons = v4;}\r |
104 | void SetPentangularFlowForKaons(Double_t v5) {\r | |
105 | fPentangularFlowKaons = v5;}\r | |
106 | \r | |
107 | //Protons\r | |
108 | void SetProtonPercentage(Double_t percentage) {\r | |
109 | fProtonPercentage = percentage;}\r | |
110 | void SetSpectraTemperatureForProtons(Double_t temperature) {\r | |
111 | fTemperatureProtons = temperature;}\r | |
112 | void SetDirectedFlowForProtons(Double_t v1) {\r | |
113 | fDirectedFlowProtons = v1;}\r | |
114 | void SetEllipticFlowForProtons(Double_t v2) {\r | |
115 | fEllipticFlowProtons = v2;}\r | |
116 | void SetTriangularFlowForProtons(Double_t v3) {\r | |
117 | fTriangularFlowProtons = v3;}\r | |
0ed078e1 | 118 | void SetQuandrangularFlowForProtons(Double_t v4) {\r |
63d15f4b | 119 | fQuandrangularFlowProtons = v4;}\r |
120 | void SetPentangularFlowForProtons(Double_t v5) {\r | |
121 | fPentangularFlowProtons = v5;}\r | |
6b3bc65c | 122 | \r |
123 | //Dynamical correlations\r | |
124 | void SetCorrelationPercentage(Double_t percentage) {\r | |
125 | fUseDynamicalCorrelations = kTRUE; \r | |
126 | fDynamicalCorrelationsPercentage = percentage;\r | |
127 | }\r | |
63d15f4b | 128 | //============Toy model: List of setters============//\r |
129 | \r | |
130 | private:\r | |
0ed078e1 | 131 | Bool_t fUseDebug; //Debug flag\r |
132 | \r | |
63d15f4b | 133 | AliBalance *fBalance; //BF object\r |
134 | Bool_t fRunShuffling;//run shuffling or not\r | |
135 | AliBalance *fShuffledBalance; //BF object (shuffled)\r | |
136 | TList *fList; //fList object\r | |
137 | TList *fListBF; //fList object\r | |
138 | TList *fListBFS; //fList object\r | |
139 | \r | |
140 | TH1F *fHistEventStats; //event stats\r | |
0ed078e1 | 141 | TH1F *fHistNumberOfAcceptedParticles; //number of accepted particles\r |
142 | TH1F *fHistReactionPlane; //reaction plane angle\r | |
143 | TH1F *fHistEtaTotal; //pseudo-rapidity (full phase space)\r | |
144 | TH1F *fHistEta; //pseudo-rapidity (acceptance)\r | |
0ed078e1 | 145 | TH1F *fHistRapidity; //rapidity (acceptance)\r |
146 | TH1F *fHistRapidityPions; //rapidity (acceptance)\r | |
147 | TH1F *fHistRapidityKaons; //rapidity (acceptance)\r | |
148 | TH1F *fHistRapidityProtons; //rapidity (acceptance)\r | |
0ed078e1 | 149 | TH1F *fHistPhi; //phi (acceptance)\r |
150 | TH1F *fHistPhiPions; //phi (acceptance)\r | |
151 | TH1F *fHistPhiKaons; //phi (acceptance)\r | |
152 | TH1F *fHistPhiProtons; //phi (acceptance)\r | |
0ed078e1 | 153 | TH1F *fHistPt; //pt (acceptance)\r |
154 | TH1F *fHistPtPions; //pt (acceptance)\r | |
155 | TH1F *fHistPtKaons; //pt (acceptance)\r | |
156 | TH1F *fHistPtProtons; //pt (acceptance)\r | |
63d15f4b | 157 | \r |
158 | //Toy model input\r | |
159 | Double_t fTotalMultiplicityMean; //mean for the total multiplicity\r | |
160 | Double_t fTotalMultiplicitySigma; //sigma for the total multiplicity\r | |
161 | Double_t fNetChargeMean; //mean for the net charge\r | |
162 | Double_t fNetChargeSigma; //sigma for the net charge\r | |
163 | Double_t fPtMin; //pt min for acceptance\r | |
164 | Double_t fPtMax; //pt max for acceptance\r | |
165 | Double_t fEtaMin; //eta min for acceptance\r | |
166 | Double_t fEtaMax; //eta max for acceptance\r | |
167 | \r | |
168 | Bool_t fUseAcceptanceParameterization; //flag acceptance parameterization\r | |
169 | TF1 *fAcceptanceParameterization; //acceptance parameterization\r | |
170 | \r | |
b4665e0f | 171 | Bool_t fUseAllCharges; //use all charges\r |
172 | Double_t fParticleMass; //particle mass\r | |
63d15f4b | 173 | TF1 *fPtSpectraAllCharges; //spectra for all charges\r |
174 | Double_t fTemperatureAllCharges; //temperature for pt spectra\r | |
175 | Double_t fReactionPlane; //reaction plane angle\r | |
176 | TF1 *fAzimuthalAngleAllCharges; //azimuthal angle\r | |
177 | Double_t fDirectedFlowAllCharges; //directed flow value\r | |
178 | Double_t fEllipticFlowAllCharges; //elliptic flow value\r | |
179 | Double_t fTriangularFlowAllCharges; //triangular flow value\r | |
180 | Double_t fQuandrangularFlowAllCharges; //quadrangular flow value\r | |
181 | Double_t fPentangularFlowAllCharges; //pentangular flow value\r | |
182 | \r | |
183 | Double_t fPionPercentage; //percentage of pions\r | |
b4665e0f | 184 | Double_t fPionMass; //pion mass\r |
63d15f4b | 185 | TF1 *fPtSpectraPions; //spectra for pions\r |
186 | Double_t fTemperaturePions; //temperature for pt spectra\r | |
187 | TF1 *fAzimuthalAnglePions; //azimuthal angle for pions\r | |
188 | Double_t fDirectedFlowPions; //directed flow value\r | |
189 | Double_t fEllipticFlowPions; //elliptic flow value\r | |
190 | Double_t fTriangularFlowPions; //triangular flow value\r | |
191 | Double_t fQuandrangularFlowPions; //quadrangular flow value\r | |
192 | Double_t fPentangularFlowPions; //pentangular flow value\r | |
193 | \r | |
194 | Double_t fKaonPercentage; //percentage of kaons\r | |
b4665e0f | 195 | Double_t fKaonMass; //kaon mass\r |
63d15f4b | 196 | TF1 *fPtSpectraKaons; //spectra for kaons\r |
197 | Double_t fTemperatureKaons; //temperature for pt spectra\r | |
198 | TF1 *fAzimuthalAngleKaons; //azimuthal angle for kaons\r | |
199 | Double_t fDirectedFlowKaons; //directed flow value\r | |
200 | Double_t fEllipticFlowKaons; //elliptic flow value\r | |
201 | Double_t fTriangularFlowKaons; //triangular flow value\r | |
202 | Double_t fQuandrangularFlowKaons; //quadrangular flow value\r | |
203 | Double_t fPentangularFlowKaons; //pentangular flow value\r | |
204 | \r | |
205 | Double_t fProtonPercentage; //percentage of protons\r | |
b4665e0f | 206 | Double_t fProtonMass; //proton mass\r |
63d15f4b | 207 | TF1 *fPtSpectraProtons; //spectra for protons\r |
208 | Double_t fTemperatureProtons; //temperature for pt spectra\r | |
209 | TF1 *fAzimuthalAngleProtons; //azimuthal angle for protons\r | |
210 | Double_t fDirectedFlowProtons; //directed flow value\r | |
211 | Double_t fEllipticFlowProtons; //elliptic flow value\r | |
212 | Double_t fTriangularFlowProtons; //triangular flow value\r | |
213 | Double_t fQuandrangularFlowProtons; //quadrangular flow value\r | |
214 | Double_t fPentangularFlowProtons; //pentangular flow value\r | |
215 | \r | |
6b3bc65c | 216 | Bool_t fUseDynamicalCorrelations; //Usage of dynamical correlations\r |
217 | Double_t fDynamicalCorrelationsPercentage; //Percentage of correlations\r | |
218 | \r | |
63d15f4b | 219 | AliAnalysisTaskToyModel(const AliAnalysisTaskToyModel&); // not implemented\r |
220 | AliAnalysisTaskToyModel& operator=(const AliAnalysisTaskToyModel&); // not implemented\r | |
221 | \r | |
222 | ClassDef(AliAnalysisTaskToyModel, 1); // example of analysis\r | |
223 | };\r | |
224 | \r | |
225 | #endif\r |