KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
impact_parameter_distribution.h
Go to the documentation of this file.
1 
4 #ifndef __KVSMOOTHIPDIST_H
5 #define __KVSMOOTHIPDIST_H
6 
7 #include "KVBase.h"
8 #include "TF1.h"
9 
10 namespace KVImpactParameters {
43 
44  private:
49 
50  public:
54 
55  void FitIPDist(TH1*);
56 
57  Double_t GetCrossSection() const;
58  Double_t GetB0() const
59  {
61  return fIPdist.GetParameter(1);
62  }
64  {
66  return fIPdist.GetParameter(2);
67  }
69  void SetB0(Double_t x)
70  {
74  }
76  {
81  }
82  void SetDeltaB_WithConstantCrossSection(Double_t deltab, Double_t sigmaR = 0);
84  {
91  return fIPdist;
92  }
93  void Draw(Option_t* opt = "")
94  {
97  fIPdist.Draw(opt);
98  }
99  const TF1& GetSigmaR()
100  {
103  return fSigmaR;
104  }
106  {
109  return fCentrality;
110  }
111  Double_t Calculate_b(Double_t centrality) const;
112 
114  {
116 
118  }
119 
121  {
123  if (b > 0) return fIPdist.Eval(b) / (b * fIPdist.GetParameter(0));
124  return 0;
125  }
126 
128  {
130 
131  if (b > 0) {
132  return fIPdist.Eval(b) / fIPdist.GetParameter(0) * 10 * TMath::TwoPi();
133  }
134  return 0;
135  }
137  {
144  fIPdist.SetParameter(0, 10 * TMath::TwoPi());
145  }
146 
147  ClassDef(impact_parameter_distribution, 1) //Realistic impact parameter distribution with smooth fall-off at large b
148  };
149 }
150 #endif
#define b(i)
double Double_t
const char Option_t
#define ClassDef(name, id)
Base class for KaliVeda framework.
Definition: KVBase.h:141
Class implementing parametrizable impact parameter distributions.
TF1 fCentrality
centrality as function of impact parameter
void SetDeltaB_WithConstantCrossSection(Double_t deltab, Double_t sigmaR=0)
virtual Double_t GetParameter(const TString &name) const
virtual void Draw(Option_t *option="")
virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
virtual void SetParameter(const TString &name, Double_t value)
Double_t x[n]
constexpr Double_t TwoPi()