New generator to perform a dedicated simulation
[u/mrichter/AliRoot.git] / EVGEN / AliGenTunedOnPbPb.h
1 #ifndef ALIGENTUNEDONPBPB_H
2 #define ALIGENTUNEDONPBPB_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliGenTunedOnPbPb.h 51126 2013-08-19 13:37:49Z fnoferin $ */
7
8 // Parameterisation based on 5.5 ATeV PbPb data
9 // pi,K, p , K0, lambda, phi, Xi, Omega spectra, v2, v3 (no jets!)
10 // used for the ALICE TDRs.
11 // Author: fnoferin@cern.ch
12
13 class TF1;
14
15 #include "AliGenerator.h"
16 #include "TMath.h"
17 #include "TH1F.h"
18 #include "TH2F.h"
19
20 class AliGenTunedOnPbPb : public AliGenerator
21 {
22  public:
23
24   AliGenTunedOnPbPb();
25   virtual ~AliGenTunedOnPbPb();
26   virtual void Generate();
27   virtual void Init();
28   virtual void SetPtRange(Float_t ptmin = 0., Float_t ptmax=15.);
29   virtual void SetCentralityRange(Float_t cmin,Float_t cmax){fCmin=TMath::Max(cmin,Float_t(0));fCmax=TMath::Min(cmax,Float_t(100));};  
30
31   void SetSpectrum(Int_t species,TH1 *histo){fgHSpectrum[species] = histo;};
32   TH1 *GetSpectrum(Int_t species){return fgHSpectrum[species];};
33   void SetV2(Int_t species,TH1 *histo){fgHv2[species] = histo;};
34   TH1 *GetV2(Int_t species){return fgHv2[species];};
35
36   static Float_t GetEventPlane(){return fgEventplane;};
37
38   static TH1F *GetMultVsCentrality(Int_t species);
39
40   void SetCentralityDependence(Bool_t flag=kTRUE){fChangeWithCentrality=flag;};
41   void SetYmax(Float_t value){fYMaxValue=value;};
42
43  private:
44   AliGenTunedOnPbPb(const AliGenTunedOnPbPb &para);
45   AliGenTunedOnPbPb& operator = (const AliGenTunedOnPbPb &para) ;
46
47   static void DefineSpectra();
48
49   static void SetParameters(Float_t centrality);
50
51   static const Int_t fgNspecies = 15; // number of species available
52   static Int_t fgPdgInput[fgNspecies]; // pdgs available
53   static Float_t fgMult[fgNspecies]; // current multiplicity  (fixed as a function of centrality)
54   static Float_t fgV3Overv2; // v3 / v2 (fixed as a function of centrality)
55   static Float_t fgEventplane; // event plane (Psi2)
56
57   static TF1 *fgV2; // function to model the anisotropy
58
59   TH1 *fgHSpectrum[fgNspecies]; // pt distributions (should be passed in Config.C)
60   TH1 *fgHv2[fgNspecies]; // v2 vs pt (should be passed in Config.C)
61
62   Float_t fCmin; // min centrality
63   Float_t fCmax; // max centrality
64
65   Bool_t fChangeWithCentrality;  // flag to apply a centrality dependence to pt-distr and v2
66   Float_t fYMaxValue;            // max value for rapidity (abs)
67
68
69   ClassDef(AliGenTunedOnPbPb,1) // Hijing parametrisation generator
70 };
71 #endif
72
73
74
75
76
77
78
79
80
81
82 #ifndef ALIGENTUNEDONPBPB_H
83 #define ALIGENTUNEDONPBPB_H
84 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
85  * See cxx source for full Copyright notice                               */
86
87 /* $Id: AliGenTunedOnPbPb.h 51126 2013-08-19 13:37:49Z fnoferin $ */
88
89 // Parameterisation based on 5.5 ATeV PbPb data
90 // pi,K, p , K0, lambda, phi, Xi, Omega spectra, v2, v3 (no jets!)
91 // used for the ALICE TDRs.
92 // Author: fnoferin@cern.ch
93
94 class TF1;
95
96 #include "AliGenerator.h"
97 #include "TMath.h"
98 #include "TH1F.h"
99 #include "TH2F.h"
100
101 class AliGenTunedOnPbPb : public AliGenerator
102 {
103  public:
104
105   AliGenTunedOnPbPb();
106   virtual ~AliGenTunedOnPbPb();
107   virtual void Generate();
108   virtual void Init();
109   virtual void SetPtRange(Float_t ptmin = 0., Float_t ptmax=15.);
110   virtual void SetCentralityRange(Float_t cmin,Float_t cmax){fCmin=TMath::Max(cmin,Float_t(0));fCmax=TMath::Min(cmax,Float_t(100));};  
111
112   void SetSpectrum(Int_t species,TH1 *histo){fgHSpectrum[species] = histo;};
113   TH1 *GetSpectrum(Int_t species){return fgHSpectrum[species];};
114   void SetV2(Int_t species,TH1 *histo){fgHv2[species] = histo;};
115   TH1 *GetV2(Int_t species){return fgHv2[species];};
116
117   static Float_t GetEventPlane(){return fgEventplane;};
118
119   static TH1F *GetMultVsCentrality(Int_t species);
120
121   void SetCentralityDependence(Bool_t flag=kTRUE){fChangeWithCentrality=flag;};
122   void SetYmax(Float_t value){fYMaxValue=value;};
123
124  private:
125   AliGenTunedOnPbPb(const AliGenTunedOnPbPb &para);
126   AliGenTunedOnPbPb& operator = (const AliGenTunedOnPbPb &para) ;
127
128   static void DefineSpectra();
129
130   static void SetParameters(Float_t centrality);
131
132   static const Int_t fgNspecies = 15; // number of species available
133   static Int_t fgPdgInput[fgNspecies]; // pdgs available
134   static Float_t fgMult[fgNspecies]; // current multiplicity  (fixed as a function of centrality)
135   static Float_t fgV3Overv2; // v3 / v2 (fixed as a function of centrality)
136   static Float_t fgEventplane; // event plane (Psi2)
137
138   static TF1 *fgV2; // function to model the anisotropy
139
140   TH1 *fgHSpectrum[fgNspecies]; // pt distributions (should be passed in Config.C)
141   TH1 *fgHv2[fgNspecies]; // v2 vs pt (should be passed in Config.C)
142
143   Float_t fCmin; // min centrality
144   Float_t fCmax; // max centrality
145
146   Bool_t fChangeWithCentrality;  // flag to apply a centrality dependence to pt-distr and v2
147   Float_t fYMaxValue;            // max value for rapidity (abs)
148
149
150   ClassDef(AliGenTunedOnPbPb,1) // Hijing parametrisation generator
151 };
152 #endif
153
154
155
156
157
158
159
160
161
162