- Reset TProcessID count after each event
[u/mrichter/AliRoot.git] / TMEVSIM / AliMevSimConfig.h
CommitLineData
36b81802 1#ifndef ALIMEVSIMCONFIG_H
2#define ALIMEVSIMCONFIG_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
bb52edc0 9//__________________________________________________________________
10////////////////////////////////////////////////////////////////////
11//
12// class AliMevSimConfig
13//
14// Class containing configuation inforamtion for MeVSim generator
15// --------------------------------------------
16// --------------------------------------------
17// --------------------------------------------
18// author: radomski@if.pw.edu.pl
19//
89dfa58e 20//Comments taken from MevSim fortran source file (by Lanny Ray):
21//
22// (3) model_type - equals 1,2,3,4,5 or 6 so far. See comments in
23// Function dNdpty to see what is calculated.
24// The models included are:
25// = 1, Factorized mt exponential, Gaussian rapidity model
26// = 2, Pratt non-expanding, spherical thermal source model
27// = 3, Bertsch non-expanding spherical thermal source model
28// = 4, Pratt spherically expanding, thermally equilibrated
29// source model.
30// = 5, Factorized pt and eta distributions input bin-by-bin.
31// = 6, Fully 2D pt,eta distributions input bin-by-bin.
32// NOTE: model_type = 1-4 are functions of (pt,y)
33// model_type = 5,6 are functions of (pt,eta)
34// (4) reac_plane_cntrl - Can be either 1,2,3 or 4 where:
35// = 1 to ignore reaction plane and anisotropic flow,
36// all distributions will be azimuthally symm.
37// = 2 to use a fixed reaction plane angle for all
38// events in the run.
39// = 3 to assume a randomly varying reaction plane
40// angle for each event as determined by a
41// Gaussian distribution.
42// = 4 to assume a randomly varying reaction plane
43// for each event in the run as determined by
44// a uniform distribution from 0 to 360 deg.
45// (5) PSIr_mean, PSIr_stdev - Reaction plane angle mean and Gaussian
46// std.dev. (both are in degrees) for cases
47// with reac_plane_cntrl = 2 (use mean value)
48// and 3. Note: these are read in regardless
49// of the value of reac_plane_cntrl.
50// (6) MultFac_mean, MultFac_stdev - Overall multiplicity scaling factor
51// for all PID types; mean and std.dev.;
52// for trigger fluctuations event-to-evt.
53// (7) pt_cut_min,pt_cut_max - Range of transverse momentum in GeV/c.
54// (8) eta_cut_min,eta_cut_max - Pseudorapidity range
55// (9) phi_cut_min,phi_cut_max - Azimuthal angular range in degrees.
56// (10) n_stdev_mult - Number of standard deviations about the mean value
57// of multiplicity to include in the random event-to-
58// event selection process. The maximum number of
59// steps that can be covered is determined by
60// parameter n_mult_max_steps in the accompanying
61// include file 'Parameter_values.inc' which is
62// presently set at 1000, but the true upper limit for
63// this is n_mult_max_steps - 1 = 999.
64// (11) n_stdev_temp - Same, except for the "Temperature" parameter.
65// (12) n_stdev_sigma- Same, except for the rapidity width parameter.
66// (13) n_stdev_expvel - Same, except for the expansion velocity parameter.
67// (14) n_stdev_PSIr - Same, except for the reaction plane angle
68// (15) n_stdev_Vn - Same, except for the anisotropy coefficients, Vn.
69// (16) n_stdev_MultFac - Same, except for the multiplicity scaling factor.
70// (17) n_integ_pts - Number of mesh points to use in the random model
71// parameter selection process. The upper limit is
72// set by parameter nmax_integ in the accompanying
73// include file 'Parameter_values.inc' which is presently
74// set at 100, but the true upper limit for n_integ_pts
75// is nmax_integ - 1 = 99.
76// (18) n_scan_pts - Number of mesh points to use to scan the (pt,y)
77// dependence of the model distributions looking for
78// the maximum value. The 2-D grid has
79// n_scan_pts * n_scan_pts points; no limit to size of
80// n_scan_pts.
81//
bb52edc0 82////////////////////////////////////////////////////////////////////
83
36b81802 84#include "TObject.h"
85
86class AliGenMevSim;
87
88class AliMevSimConfig : public TObject {
89
36b81802 90 protected:
91
bb52edc0 92 static const Int_t fgkMAX_MODEL = 4; //Maximum number of available models
93 static const Int_t fgkMAX_CTRL = 4;//Maximum number of available controls
36b81802 94
bb52edc0 95 Int_t fModelType; //current type of model
36b81802 96
bb52edc0 97 Int_t fReacPlaneCntrl; //reaction plane simulation model
98 Float_t fPsiRMean; //fPsiRMean mean psi
99 Float_t fPsiRStDev; //fPsiRStDev psi variance
36b81802 100
bb52edc0 101 Float_t fMultFacMean;//fMultFacMean Mean multiplicity
102 Float_t fMultFacStDev;//fMultFacStDev multiplicity variance
36b81802 103
89dfa58e 104 Float_t fNStDevMult;//see (10) n_stdev_mult
105 Float_t fNStDevTemp;//(11) n_stdev_temp
106 Float_t fNStDevSigma;//see (12) n_stdev_sigma
107 Float_t fNStDevExpVel;//see (13) n_stdev_expvel
108 Float_t fNStdDevPSIr;//see (14) n_stdev_PSIr
109 Float_t fNStDevVn;//see (15) n_stdev_Vn
110 Float_t fNStDevMultFac;//see (16) n_stdev_MultFac
36b81802 111
89dfa58e 112 Int_t fNIntegPts;//see (17) n_integ_pts
113 Int_t fNScanPts;//see (18) n_scan_pts
36b81802 114
115 void Init();
116
117 public:
118
119 AliMevSimConfig();
120 AliMevSimConfig(Int_t modelType);
121
122 ~AliMevSimConfig();
123
124 void SetModelType(Int_t modelType);
bb52edc0 125 Int_t GetModelType() const {return fModelType;}
36b81802 126
127 void SetRectPlane(Int_t ctrl, Float_t psiRMean = 0, Float_t psiRStDev = 0);
bb52edc0 128 void GetRectPlane(Int_t& ctrl, Float_t& psiRMean, Float_t& psiRStDev ) const
129 {ctrl = fReacPlaneCntrl; psiRMean = fPsiRMean; psiRStDev = fPsiRStDev;}
130
36b81802 131 void SetMultFac(Float_t mean, Float_t stDev);
bb52edc0 132 void GetMultFac(Float_t& mean, Float_t& stDev) const {mean = fMultFacMean ;stDev = fMultFacStDev;}
36b81802 133
134 void SetStDev(Float_t mult, Float_t temp, Float_t sigma,
bb52edc0 135 Float_t expVel, Float_t psiR, Float_t Vn, Float_t multFac);
136 void GetStDev(Float_t& mult, Float_t& temp, Float_t& sigma,
137 Float_t& expVel, Float_t& psiR, Float_t& Vn, Float_t& multFac) const;
36b81802 138 void SetGrid(Int_t integr, Int_t scan);
bb52edc0 139 void GetGrid(Int_t& integr, Int_t& scan) const {scan=fNScanPts;integr=fNIntegPts;}
36b81802 140
141 ClassDef(AliMevSimConfig,1)
142
143};
144
145
146#endif