]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FLOW/AliFlowCommon/AliFlowEventSimpleMakerOnTheFly.h
added fluctuations in multiplicity in fixed range
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / AliFlowEventSimpleMakerOnTheFly.h
CommitLineData
93ff27bd 1/*
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
3 * See cxx source for full Copyright notice
4 * $Id$
5 */
6
7/**********************************
8 * create an event and perform *
9 * flow analysis 'on the fly' *
10 * *
11 * authors: Raimond Snellings *
12 * (snelling@nikhef.nl) *
13 * Ante Bilandzic *
14 * (anteb@nikhef.nl) *
15 *********************************/
16
17#ifndef ALIFLOWEVENTSIMPLEMAKERONTHEFLY_H
18#define ALIFLOWEVENTSIMPLEMAKERONTHEFLY_H
19
20class TF1;
5b8dccde 21class TRandom3;
93ff27bd 22
23#include "AliFlowEventSimple.h" //needed as include
24
25class AliFlowEventSimpleMakerOnTheFly {
26
27 public:
28
5b8dccde 29 AliFlowEventSimpleMakerOnTheFly(UInt_t); // constructor
93ff27bd 30 virtual ~AliFlowEventSimpleMakerOnTheFly(); // destructor
31
4d603348 32 virtual void Init();
33
93ff27bd 34 AliFlowEventSimple* CreateEventOnTheFly(); // create an event on the fly
35
36
37 // *****************************
38 // **** SETTERS AND GETTERS ****
39 // *****************************
40 //................................................................................................
41 // setters and getters for global parameters:
678f8252 42 void SetMultDistrOfRPsIsGauss(Bool_t const mdorig) {this->fMultDistrOfRPsIsGauss = mdorig;};
43 Bool_t GetMultDistrOfRPsIsGauss() const {return this->fMultDistrOfRPsIsGauss;};
44
93ff27bd 45 void SetMultiplicityOfRP(Int_t multRP) {this->fMultiplicityOfRP = multRP;}
46 Int_t GetMultiplicityOfRP() const {return this->fMultiplicityOfRP;}
93ff27bd 47
93ff27bd 48 void SetMultiplicitySpreadOfRP(Double_t multSpreadRP) {this->fMultiplicitySpreadOfRP = multSpreadRP;}
49 Double_t GetMultiplicitySpreadOfRP() const {return this->fMultiplicitySpreadOfRP;}
4d603348 50
678f8252 51 void SetMinMultOfRP(Int_t minmr) {this->fMinMultOfRP = minmr;}
52 Int_t GetMinMultOfRP() const {return this->fMinMultOfRP;}
53
54 void SetMaxMultOfRP(Int_t maxmr) {this->fMaxMultOfRP = maxmr;}
55 Int_t GetMaxMultOfRP() const {return this->fMaxMultOfRP;}
56
cf90787f 57 void SetTemperatureOfRP(Double_t temperatureRP) {this->fTemperatureOfRP = temperatureRP;}
58 Double_t GetTemperatureOfRP() const {return this->fTemperatureOfRP;}
59
4d603348 60 void SetUseConstantHarmonics(Bool_t const uch) {this->fUseConstantHarmonics = uch;};
61 Bool_t GetUseConstantHarmonics() const {return this->fUseConstantHarmonics;};
62
63 // constant harmonics:
e8c7e66c 64 void SetV1RP(Double_t dV1RP) {this->fV1RP = dV1RP;}
65 Double_t GetV1RP() const {return this->fV1RP;}
66
67 void SetV1SpreadRP(Double_t dV1SpreadRP) {this->fV1SpreadRP = dV1SpreadRP;}
68 Double_t GetV1SpreadRP() const {return this->fV1SpreadRP;}
69
70 void SetV2RP(Double_t dV2RP) {this->fV2RP = dV2RP;}
71 Double_t GetV2RP() const {return this->fV2RP;}
72
73 void SetV2SpreadRP(Double_t dV2SpreadRP) {this->fV2SpreadRP = dV2SpreadRP;}
74 Double_t GetV2SpreadRP() const {return this->fV2SpreadRP;}
4d603348 75
76 void SetV4RP(Double_t dV4RP) {this->fV4RP = dV4RP;}
77 Double_t GetV4RP() const {return this->fV4RP;}
78
79 void SetV4SpreadRP(Double_t dV4SpreadRP) {this->fV4SpreadRP = dV4SpreadRP;}
80 Double_t GetV4SpreadRP() const {return this->fV4SpreadRP;}
81
82 // (pt,eta) dependent harmonics:
83 void SetV2RPMax(Double_t dV2RPMax) {this->fV2RPMax = dV2RPMax;}
84 Double_t GetV2RPMax() const {return this->fV2RPMax;}
85
86 void SetPtCutOff(Double_t dPtCutOff) {this->fPtCutOff = dPtCutOff;}
87 Double_t GetPtCutOff() const {return this->fPtCutOff;}
e8c7e66c 88 //................................................................................................
89
aaa62cf0 90 void SetNoOfLoops(Int_t noofl) {this->fNoOfLoops = noofl;}
91 Int_t GetNoOfLoops() const {return this->fNoOfLoops;}
92
93ff27bd 93 private:
94
95 AliFlowEventSimpleMakerOnTheFly(const AliFlowEventSimpleMakerOnTheFly& anAnalysis); // copy constructor
96 AliFlowEventSimpleMakerOnTheFly& operator=(const AliFlowEventSimpleMakerOnTheFly& anAnalysis); // assignment operator
97
98 //................................................................................................
99 // global parameters:
678f8252 100 Bool_t fMultDistrOfRPsIsGauss; // 1.) if kTRUE = multiplicitiy of RPs is sampled e-b-e from Gaussian distribution with
101 // mean = fMultiplicityOfRP and spread = fMultiplicitySpreadOfRP
102 // 2.) if kFALSE = multiplicitiy of RPs is sampled e-b-e uniformly from
103 // interval [fMinMultOfRP,fMaxMultOfRP]
104 Int_t fMultiplicityOfRP; // mean multiplicity of RPs (if sampled from Gaussian)
105 Double_t fMultiplicitySpreadOfRP; // multiplicity spread of RPs (if sampled from Gaussian)
106 Int_t fMinMultOfRP; // minimal multiplicity of RPs (if sampled uniformly)
107 Int_t fMaxMultOfRP; // maximum multiplicity of RPs (if sampled uniformly)
cf90787f 108 Double_t fTemperatureOfRP; // "temperature" of RPs in GeV/c (increase this parameter to get more high pt RPs)
109 Bool_t fUseConstantHarmonics; // harmonics V1, V2, V4... are constant (kTRUE) or functions of pt and eta (kFALSE)
4d603348 110 // constant harmonics:
aaa62cf0 111 Double_t fV1RP; // directed flow of RPs
112 Double_t fV1SpreadRP; // directed flow spread of RPs
113 Double_t fV2RP; // elliptic flow of RPs
114 Double_t fV2SpreadRP; // elliptic flow spread of RPs
4d603348 115 Double_t fV4RP; // harmonic V4 of RPs
116 Double_t fV4SpreadRP; // harmonic V4's spread of RPs
117 // (pt,eta) dependent harmonics:
118 Double_t fV2RPMax; // elliptic flow of RPs
119 Double_t fPtCutOff; // elliptic flow spread of RPs
93ff27bd 120 //................................................................................................
121
122 //................................................................................................
123 // equations for distributions:
aaa62cf0 124 TF1* fPtSpectra; // transverse momentum distribution
125 TF1* fPhiDistribution; // azimuthal distribution
93ff27bd 126 //................................................................................................
127
4d603348 128 TRandom3* fMyTRandom3; // our TRandom3 generator
4d603348 129 Int_t fCount; // count number of events
130 Int_t fNoOfLoops; // number of times to use the same particle (nonflow)
678f8252 131
5b8dccde 132
93ff27bd 133 ClassDef(AliFlowEventSimpleMakerOnTheFly,0) // macro for rootcint
134};
135
136#endif
137
138
139