![]() |
KaliVeda
Toolkit for HIC analysis
|
Class implementing parametrizable impact parameter distributions.
Unbiased impact parameter distributions are determined by simple geometric considerations,
\[ P(b)\,\mathrm{d}b=\frac{2\pi b}{\sigma_{R}}\,\mathrm{d}b \]
The sharp cut-off approximation assumes that the measured reaction cross-section \(\sigma_R\) for any selected data has a triangular distribution up to the impact parameter \(b_{\mathrm{max}}\) where \(\sigma_R=\pi b^2_{\mathrm{max}}\) and the centrality is given in this case by \(c_b=(b/b_{\mathrm{max}})^2\).
More generally, simulations of reactions detected by large multidetector arrays operating with a minimum bias multiplicity trigger indicate that the impact parameter distribution for the measured collisions is triangular with a more gradual fall-off at the largest impact parameters, and can be well-described by the distribution
\[ P(b)=\frac{2\pi b}{\sigma_{R}}\left[1+\exp\left(\frac{b-b_{0}}{\Delta b}\right)\right]^{-1} \]
In this case the total reaction cross-section is given by
\[ \sigma_{R}=-2\pi(\Delta b)^{2}\mathrm{Li}_{2}\left(-\exp\left(\frac{b_{0}}{\Delta b}\right)\right) \]
and the centrality is related to impact parameter by
\[ c_{b}=\frac{2\pi(\Delta b)^{2}}{\sigma_{R}}\left[\mathrm{-Li}_{2}\left(-\exp\left(\frac{b_{0}}{\Delta b}\right)\right)-\frac{\pi^{2}}{6}+\frac{(b^{2}-b_{0}^{2})}{2(\Delta b)^{2}}-\frac{b}{\Delta b}\ln\left(1+\exp\left((b-b_{0})/\Delta b\right)\right)-\mathrm{Li}_{2}\left(-\mathrm{e}^{(b-b_{0})/\Delta b}\right)\right] \]
Definition at line 44 of file impact_parameter_distribution.h.
#include <impact_parameter_distribution.h>

Public Member Functions | |
| impact_parameter_distribution () | |
| impact_parameter_distribution (TH1 *) | |
| virtual | ~impact_parameter_distribution () |
| Double_t | Calculate_b (Double_t centrality) const |
| void | Draw (Option_t *opt="") |
| void | FitIPDist (TH1 *) |
| Double_t | GetB0 () const |
| const TF1 & | GetCentrality () |
| TH1 * | GetCentralityFromHisto () |
| Double_t | GetCrossSection () const |
| Double_t | GetCrossSectionPerEvent () const |
| Double_t | GetDeltaB () const |
| Double_t | GetDifferentialCrossSection (double b) const |
| Double_t | GetDifferentialCrossSectionFromHisto (double bb) |
| TF1 & | GetIPDist () |
| Double_t | GetRelativeCrossSection (double b) const |
| const TF1 & | GetSigmaR () |
| void | MakeDifferentialCrossSection () |
| void | NormalizeIPDistToCrossSection () |
| void | SetB0 (Double_t x) |
| void | SetDeltaB (Double_t x) |
| void | SetDeltaB_WithConstantCrossSection (Double_t deltab, Double_t sigmaR=0) |
Public Member Functions inherited from KVBase | |
| KVBase () | |
| Default constructor. More... | |
| KVBase (const Char_t *name, const Char_t *title="") | |
| Ctor for object with given name and type. More... | |
| KVBase (const KVBase &) | |
| copy ctor More... | |
| void | Clear (Option_t *opt="") override |
| Clear object properties : name, type/title, number, label. More... | |
| void | Copy (TObject &) const override |
| Make a copy of this object. More... | |
| void | Error (const char *method, const char *msgfmt,...) const override |
| const Char_t * | GetLabel () const |
| UInt_t | GetNumber () const |
| virtual TObject * | GetObject () const |
| virtual const Char_t * | GetType () const |
| Bool_t | HasLabel () const |
| virtual Bool_t | IsCalled (const Char_t *name) const |
| Bool_t | IsLabelled (const Char_t *l) const |
| virtual Bool_t | IsType (const Char_t *typ) const |
| virtual void | List () |
| KVBase & | operator= (const KVBase &) |
| copy assignment operator More... | |
| void | Print (Option_t *option="") const override |
| Double_t | ProtectedGetX (const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const |
| void | SetLabel (const Char_t *lab) |
| virtual void | SetNumber (UInt_t num) |
| virtual void | SetType (const Char_t *str) |
| void | Warning (const char *method, const char *msgfmt,...) const override |
Public Member Functions inherited from TNamed | |
| TNamed () | |
| TNamed (const char *name, const char *title) | |
| TNamed (const TNamed &named) | |
| TNamed (const TString &name, const TString &title) | |
| virtual | ~TNamed () |
| TObject * | Clone (const char *newname="") const override |
| Int_t | Compare (const TObject *obj) const override |
| virtual void | FillBuffer (char *&buffer) |
| const char * | GetName () const override |
| const char * | GetTitle () const override |
| ULong_t | Hash () const override |
| TClass * | IsA () const override |
| Bool_t | IsSortable () const override |
| void | ls (Option_t *option="") const override |
| TNamed & | operator= (const TNamed &rhs) |
| virtual void | SetName (const char *name) |
| virtual void | SetNameTitle (const char *name, const char *title) |
| virtual void | SetTitle (const char *title="") |
| virtual Int_t | Sizeof () const |
| void | Streamer (TBuffer &) override |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
| TObject () | |
| TObject (const TObject &object) | |
| virtual | ~TObject () |
| void | AbstractMethod (const char *method) const |
| virtual void | AppendPad (Option_t *option="") |
| virtual void | Browse (TBrowser *b) |
| ULong_t | CheckedHash () |
| virtual const char * | ClassName () const |
| virtual void | Delete (Option_t *option="") |
| virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
| virtual void | DrawClass () const |
| virtual TObject * | DrawClone (Option_t *option="") const |
| virtual void | Dump () const |
| virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
| virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
| virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
| virtual void | Fatal (const char *method, const char *msgfmt,...) const |
| virtual TObject * | FindObject (const char *name) const |
| virtual TObject * | FindObject (const TObject *obj) const |
| virtual Option_t * | GetDrawOption () const |
| virtual const char * | GetIconName () const |
| virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
| virtual Option_t * | GetOption () const |
| virtual UInt_t | GetUniqueID () const |
| virtual Bool_t | HandleTimer (TTimer *timer) |
| Bool_t | HasInconsistentHash () const |
| virtual void | Info (const char *method, const char *msgfmt,...) const |
| virtual Bool_t | InheritsFrom (const char *classname) const |
| virtual Bool_t | InheritsFrom (const TClass *cl) const |
| virtual void | Inspect () const |
| void | InvertBit (UInt_t f) |
| Bool_t | IsDestructed () const |
| virtual Bool_t | IsEqual (const TObject *obj) const |
| virtual Bool_t | IsFolder () const |
| R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
| R__ALWAYS_INLINE Bool_t | IsZombie () const |
| void | MayNotUse (const char *method) const |
| virtual Bool_t | Notify () |
| void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, void *vp) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, void *vp) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, void *vp) |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, void *vp) |
| TObject & | operator= (const TObject &rhs) |
| virtual void | Paint (Option_t *option="") |
| virtual void | Pop () |
| virtual Int_t | Read (const char *name) |
| virtual void | RecursiveRemove (TObject *obj) |
| void | ResetBit (UInt_t f) |
| virtual void | SaveAs (const char *filename="", Option_t *option="") const |
| virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
| void | SetBit (UInt_t f) |
| void | SetBit (UInt_t f, Bool_t set) |
| virtual void | SetDrawOption (Option_t *option="") |
| virtual void | SetUniqueID (UInt_t uid) |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
| virtual void | SysError (const char *method, const char *msgfmt,...) const |
| R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
| Int_t | TestBits (UInt_t f) const |
| virtual void | UseCurrentStyle () |
| virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
| virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Private Attributes | |
| TF1 | fCentrality |
| centrality as function of impact parameter More... | |
| TH1 * | fHisto |
| ! last fitted histogram More... | |
| TF1 | fIPdist |
| impact parameter distribution More... | |
| TF1 | fSigmaR |
| total reaction cross section More... | |
Additional Inherited Members | |
Public Types inherited from KVBase | |
| enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
Public Types inherited from TObject | |
| enum | EDeprecatedStatusBits |
| enum | EStatusBits |
Static Public Member Functions inherited from KVBase | |
| static Bool_t | AreEqual (Double_t x, Double_t y, Long64_t maxdif=1) |
| Comparison between two 64-bit floating-point values. More... | |
| static void | BackupFileWithDate (const Char_t *path) |
| static void | CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE) |
| static void | Deprecated (const char *method, const char *advice) |
| static Bool_t | FindClassSourceFiles (const KVString &class_name, KVString &imp_file, KVString &dec_file, const KVString &dir_name=".") |
| static Bool_t | FindExecutable (TString &exec, const Char_t *path="$(PATH)") |
| static const Char_t * | FindFile (const Char_t *search, TString &wfil) |
| static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetDATABASEFilePath () |
| static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
| static KVString | GetDataSetEnv (const KVString &dataset, const KVString &type, const char *defval) |
| template<typename ValType > | |
| static ValType | GetDataSetEnv (const KVString &dataset, const KVString &type, const ValType &defval) |
| static const Char_t * | GetETCDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
| Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More... | |
| static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetKVBuildDate () |
| Returns KaliVeda build date. More... | |
| static const Char_t * | GetKVBuildDir () |
| Returns top-level directory used for build. More... | |
| static const Char_t * | GetKVBuildTime () |
| Returns KaliVeda build time. More... | |
| static const Char_t * | GetKVBuildType () |
| Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More... | |
| static const Char_t * | GetKVBuildUser () |
| Returns username of person who performed build. More... | |
| static int | GetKVMajorVersion () |
| static int | GetKVMinorVersion () |
| static const Char_t * | GetKVSourceDir () |
| Returns top-level directory of source tree used for build. More... | |
| static const Char_t * | GetKVVersion () |
| Returns KaliVeda version string. More... | |
| static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetListOfPlugins (const Char_t *base) |
| static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
| static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
| static void | GetTempFileName (TString &base) |
| static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | gitBranch () |
| Returns git branch of sources. More... | |
| static const Char_t * | gitCommit () |
| Returns last git commit of sources. More... | |
| static void | InitEnvironment () |
| static bool | is_gnuinstall () |
| static Bool_t | IsEnvInit () |
| static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
| static TPluginHandler * | LoadPlugin (const Char_t *base, const Char_t *uri="0") |
| static Bool_t | OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="") |
| static void | OpenTempFile (TString &base, std::ofstream &fp) |
| static void | PrintSplashScreen () |
| Prints welcome message and infos on version etc. More... | |
| static Bool_t | SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="") |
| static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
| static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
| static Bool_t | SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="") |
| static const Char_t * | WorkingDirectory () |
Static Public Member Functions inherited from TNamed | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static Longptr_t | GetDtorOnly () |
| static Bool_t | GetObjectStat () |
| static void | SetDtorOnly (void *obj) |
| static void | SetObjectStat (Bool_t stat) |
Public Attributes inherited from TObject | |
| kBitMask | |
| kCanDelete | |
| kCannotPick | |
| kHasUUID | |
| kInconsistent | |
| kInvalidObject | |
| kIsOnHeap | |
| kIsReferenced | |
| kMustCleanup | |
| kNoContextMenu | |
| kNotDeleted | |
| kObjInCanvas | |
| kOverwrite | |
| kSingleKey | |
| kWriteDelete | |
| kZombie | |
Protected Member Functions inherited from TObject | |
| virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
| void | MakeZombie () |
Protected Attributes inherited from TNamed | |
| TString | fName |
| TString | fTitle |
Protected Attributes inherited from TObject | |
| kOnlyPrepStep | |
| KVImpactParameters::impact_parameter_distribution::impact_parameter_distribution | ( | ) |
Initialize a default distribution which is triangular (sharp cut-off approximation) with \(b_0=1\) and \(\Delta b=0\).
Definition at line 95 of file impact_parameter_distribution.cpp.
| KVImpactParameters::impact_parameter_distribution::impact_parameter_distribution | ( | TH1 * | h | ) |
Fit \(P(b)\) to the distribution in the histogram
| [in] | h | histogram containing impact parameter distribution |
Definition at line 118 of file impact_parameter_distribution.cpp.
|
inlinevirtual |
Definition at line 55 of file impact_parameter_distribution.h.
| Double_t KVImpactParameters::impact_parameter_distribution::Calculate_b | ( | Double_t | centrality | ) | const |
| [in] | centrality | value of \(c_b\) |
Definition at line 214 of file impact_parameter_distribution.cpp.
Draw the impact parameter distribution (differential cross-section in [mb fm \({}^{-1}\)])
| [in] | opt | Usual drawing option, passed to TF1::Draw() |
Reimplemented from TObject.
Definition at line 95 of file impact_parameter_distribution.h.
Fit impact parameter distribution given in histogram.
| [in] | h | histogram containing impact parameter distribution |
Definition at line 139 of file impact_parameter_distribution.cpp.
|
inline |
Definition at line 60 of file impact_parameter_distribution.h.
|
inline |
Definition at line 107 of file impact_parameter_distribution.h.
| TH1 * KVImpactParameters::impact_parameter_distribution::GetCentralityFromHisto | ( | ) |
Call this method to use the (model-dependent) histogram containing the impact parameter distribution to compute the centrality
Definition at line 228 of file impact_parameter_distribution.cpp.
| Double_t KVImpactParameters::impact_parameter_distribution::GetCrossSection | ( | ) | const |
Definition at line 165 of file impact_parameter_distribution.cpp.
| Double_t KVImpactParameters::impact_parameter_distribution::GetCrossSectionPerEvent | ( | ) | const |
Definition at line 179 of file impact_parameter_distribution.cpp.
|
inline |
Definition at line 65 of file impact_parameter_distribution.h.
|
inline |
Definition at line 129 of file impact_parameter_distribution.h.
|
inline |
Call this method to evaluate P(b) directly from the (model-dependent) histogram containing the impact parameter distribution
Definition at line 151 of file impact_parameter_distribution.h.
|
inline |
Definition at line 85 of file impact_parameter_distribution.h.
|
inline |
Definition at line 122 of file impact_parameter_distribution.h.
|
inline |
Definition at line 101 of file impact_parameter_distribution.h.
|
inline |
Call this method to ensure that the distribution returned by GetIPDist() is indeed the differential cross-section in [mb fm \({}^{-1}\)].
This is normally the default if parameters like \(b_0\) or \(\Delta b\) are set by hand, but not if the parameters were deduced from a fit to a histogram: in this case the distribution has an arbitrary normalization factor in order to fit the histogram.
Definition at line 138 of file impact_parameter_distribution.h.
|
inline |
Changes impact parameter distribution from differential cross-section to probability distribution \(P(b)\)
Definition at line 115 of file impact_parameter_distribution.h.
| [in] | x | value of \(b_0\) |
Definition at line 71 of file impact_parameter_distribution.h.
| [in] | x | value of \(\Delta b\) |
Definition at line 77 of file impact_parameter_distribution.h.
| void KVImpactParameters::impact_parameter_distribution::SetDeltaB_WithConstantCrossSection | ( | Double_t | deltab, |
| Double_t | sigmaR = 0 |
||
| ) |
Changes \(\Delta b\) and \(b_0\) for a given total cross-section.
| [in] | deltab | new value of \(\Delta b\) |
| [in] | sigmaR | required total cross-section \(\sigma_R\). If sigmaR=0 (default), keep current total cross section |
Definition at line 195 of file impact_parameter_distribution.cpp.
|
private |
centrality as function of impact parameter
Definition at line 50 of file impact_parameter_distribution.h.
|
private |
! last fitted histogram
Definition at line 47 of file impact_parameter_distribution.h.
|
private |
impact parameter distribution
Definition at line 48 of file impact_parameter_distribution.h.
|
private |
total reaction cross section
Definition at line 49 of file impact_parameter_distribution.h.