]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TMEVSIM/AliMevSimConfig.cxx
adding missing protection
[u/mrichter/AliRoot.git] / TMEVSIM / AliMevSimConfig.cxx
CommitLineData
36b81802 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
bb52edc0 15//__________________________________________________________________
16////////////////////////////////////////////////////////////////////
17//
18// class AliMevSimConfig
19//
20// Class containing configuation inforamtion for MeVSim generator
21// --------------------------------------------
22// --------------------------------------------
23// --------------------------------------------
24// author: radomski@if.pw.edu.pl
25//
89dfa58e 26// (3) model_type - equals 1,2,3,4,5 or 6 so far. See comments in
27// Function dNdpty to see what is calculated.
28// The models included are:
29// = 1, Factorized mt exponential, Gaussian rapidity model
30// = 2, Pratt non-expanding, spherical thermal source model
31// = 3, Bertsch non-expanding spherical thermal source model
32// = 4, Pratt spherically expanding, thermally equilibrated
33// source model.
34// = 5, Factorized pt and eta distributions input bin-by-bin.
35// = 6, Fully 2D pt,eta distributions input bin-by-bin.
36// NOTE: model_type = 1-4 are functions of (pt,y)
37// model_type = 5,6 are functions of (pt,eta)
38// (4) reac_plane_cntrl - Can be either 1,2,3 or 4 where:
39// = 1 to ignore reaction plane and anisotropic flow,
40// all distributions will be azimuthally symm.
41// = 2 to use a fixed reaction plane angle for all
42// events in the run.
43// = 3 to assume a randomly varying reaction plane
44// angle for each event as determined by a
45// Gaussian distribution.
46// = 4 to assume a randomly varying reaction plane
47// for each event in the run as determined by
48// a uniform distribution from 0 to 360 deg.
49// (5) PSIr_mean, PSIr_stdev - Reaction plane angle mean and Gaussian
50// std.dev. (both are in degrees) for cases
51// with reac_plane_cntrl = 2 (use mean value)
52// and 3. Note: these are read in regardless
53// of the value of reac_plane_cntrl.
54// (6) MultFac_mean, MultFac_stdev - Overall multiplicity scaling factor
55// for all PID types; mean and std.dev.;
56// for trigger fluctuations event-to-evt.
57// (7) pt_cut_min,pt_cut_max - Range of transverse momentum in GeV/c.
58// (8) eta_cut_min,eta_cut_max - Pseudorapidity range
59// (9) phi_cut_min,phi_cut_max - Azimuthal angular range in degrees.
60// (10) n_stdev_mult - Number of standard deviations about the mean value
61// of multiplicity to include in the random event-to-
62// event selection process. The maximum number of
63// steps that can be covered is determined by
64// parameter n_mult_max_steps in the accompanying
65// include file 'Parameter_values.inc' which is
66// presently set at 1000, but the true upper limit for
67// this is n_mult_max_steps - 1 = 999.
68// (11) n_stdev_temp - Same, except for the "Temperature" parameter.
69// (12) n_stdev_sigma- Same, except for the rapidity width parameter.
70// (13) n_stdev_expvel - Same, except for the expansion velocity parameter.
71// (14) n_stdev_PSIr - Same, except for the reaction plane angle
72// (15) n_stdev_Vn - Same, except for the anisotropy coefficients, Vn.
73// (16) n_stdev_MultFac - Same, except for the multiplicity scaling factor.
74// (17) n_integ_pts - Number of mesh points to use in the random model
75// parameter selection process. The upper limit is
76// set by parameter nmax_integ in the accompanying
77// include file 'Parameter_values.inc' which is presently
78// set at 100, but the true upper limit for n_integ_pts
79// is nmax_integ - 1 = 99.
80// (18) n_scan_pts - Number of mesh points to use to scan the (pt,y)
81// dependence of the model distributions looking for
82// the maximum value. The 2-D grid has
83// n_scan_pts * n_scan_pts points; no limit to size of
84// n_scan_pts.
85//
bb52edc0 86////////////////////////////////////////////////////////////////////
36b81802 87
88#include "AliMevSimConfig.h"
89
90ClassImp(AliMevSimConfig)
91
92
93//////////////////////////////////////////////////////////////////////////////////////////////////
94
b15b3ba3 95AliMevSimConfig::AliMevSimConfig() :
96 fModelType(0),
97 fReacPlaneCntrl(0),
98 fPsiRMean(0),
99 fPsiRStDev(0),
100 fMultFacMean(0),
101 fMultFacStDev(0),
102 fNStDevMult(0),
103 fNStDevTemp(0),
104 fNStDevSigma(0),
105 fNStDevExpVel(0),
106 fNStdDevPSIr(0),
107 fNStDevVn(0),
108 fNStDevMultFac(0),
109 fNIntegPts(0),
110 fNScanPts(0)
111{
bb52edc0 112//def ctor
36b81802 113 Init();
114}
115
116//////////////////////////////////////////////////////////////////////////////////////////////////
117
b15b3ba3 118AliMevSimConfig::AliMevSimConfig(Int_t modelType) :
119 fModelType(0),
120 fReacPlaneCntrl(0),
121 fPsiRMean(0),
122 fPsiRStDev(0),
123 fMultFacMean(0),
124 fMultFacStDev(0),
125 fNStDevMult(0),
126 fNStDevTemp(0),
127 fNStDevSigma(0),
128 fNStDevExpVel(0),
129 fNStdDevPSIr(0),
130 fNStDevVn(0),
131 fNStDevMultFac(0),
132 fNIntegPts(0),
133 fNScanPts(0)
134{
bb52edc0 135//ctor
36b81802 136 Init();
137 SetModelType(modelType);
138}
139
140//////////////////////////////////////////////////////////////////////////////////////////////////
141
142AliMevSimConfig::~AliMevSimConfig() {
bb52edc0 143//dtor
36b81802 144}
145
146//////////////////////////////////////////////////////////////////////////////////////////////////
147
148void AliMevSimConfig::Init() {
36b81802 149 // Default Values
150
151 fModelType = 1;
152 fReacPlaneCntrl = 4;
153 fPsiRMean = fPsiRStDev = 0;
154
155 fMultFacMean = 1.0;
156 fMultFacStDev = 0.0;
157
158 fNStDevMult = fNStDevTemp = fNStDevSigma = 3.0;
159 fNStDevExpVel = fNStdDevPSIr = fNStDevVn = fNStDevMultFac = 3.0;
160
161 fNIntegPts = fNScanPts = 100;
162
163}
164
165//////////////////////////////////////////////////////////////////////////////////////////////////
166
167void AliMevSimConfig::SetModelType(Int_t modelType) {
bb52edc0 168//Sets type of the model
169 if (modelType < 0 || modelType > fgkMAX_MODEL)
36b81802 170 Error("SetModelType","Wrog Model Type indentifier (%d)",modelType);
171
172 fModelType = modelType;
173}
174
175//////////////////////////////////////////////////////////////////////////////////////////////////
176
177void AliMevSimConfig::SetRectPlane(Int_t ctrl, Float_t psiRMean, Float_t psiRStDev) {
bb52edc0 178//Sets reaction plane parameters
179 if (ctrl < 0 || ctrl > fgkMAX_CTRL)
36b81802 180 Error("SetReactPlane","Wrong Control Parameter (%d)", ctrl);
181
182 fReacPlaneCntrl = ctrl;
183 fPsiRMean = psiRMean;
184 fPsiRStDev = psiRStDev;
185}
186
187//////////////////////////////////////////////////////////////////////////////////////////////////
188
189void AliMevSimConfig::SetMultFac(Float_t mean, Float_t stDev) {
bb52edc0 190 //Sets multiplicity mean and variance
36b81802 191 fMultFacMean = mean;
192 fMultFacStDev = stDev;
193}
194
195//////////////////////////////////////////////////////////////////////////////////////////////////
196
197void AliMevSimConfig::SetStDev(Float_t mult, Float_t temp, Float_t sigma,
198 Float_t expVel, Float_t psiR, Float_t Vn, Float_t multFac) {
bb52edc0 199//sets Dev parameters (whatever Dev is)
36b81802 200 fNStDevMult = mult;
201 fNStDevTemp = temp;
202 fNStDevSigma = sigma;
203 fNStDevExpVel = expVel;
204 fNStdDevPSIr = psiR;
205 fNStDevVn = Vn;
206 fNStDevMultFac =multFac;
bb52edc0 207
208}
209void AliMevSimConfig::GetStDev(Float_t& mult, Float_t& temp, Float_t& sigma,
210 Float_t& expVel, Float_t& psiR, Float_t& Vn, Float_t& multFac) const
211{
212 //returns dev parameters
213 mult = fNStDevMult;
214 temp = fNStDevTemp;
215 sigma = fNStDevSigma;
216 expVel = fNStDevExpVel;
217 psiR = fNStdDevPSIr;
218 Vn = fNStDevVn;
219 multFac = fNStDevMultFac;
220
36b81802 221}
222
223//////////////////////////////////////////////////////////////////////////////////////////////////
224
225void AliMevSimConfig::SetGrid(Int_t integr, Int_t scan) {
bb52edc0 226//Sets grid
36b81802 227 fNIntegPts = integr;
228 fNScanPts = scan;
229}
230
231//////////////////////////////////////////////////////////////////////////////////////////////////
232