]>
Commit | Line | Data |
---|---|---|
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 | ||
20 | class TF1; | |
5b8dccde | 21 | class TRandom3; |
93ff27bd | 22 | |
23 | #include "AliFlowEventSimple.h" //needed as include | |
24 | ||
25 | class 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 |