KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVIsoscaling Class Reference

Detailed Description

Isoscaling class.


Kaliveda libs ROOT libs

Class used to estimate isoscaling alpha coefficient and extract Csym/T from input data files (Z fixed)

Author
Quentin Fable (quent.nosp@m.in.f.nosp@m.able@.nosp@m.l2it.nosp@m..in2p.nosp@m.3.fr)
Date
Tue Mar 3 12:41:49 2020

See Phys. Rev. Lett. 86, 5023 (2001) and also Phys. Rev. C 75, 044605 bis (2007) for more details about the isoscaling method. This class was used in Fable et al., Phys. Rev. C 106 024605 (2022).

Isoscaling corresponds to the scaling behaviour obtained from the ratio \( R_{21}(N,Z) \) of the same isotope measured with two colliding systems differing in their neutron-to-proton content, \( Y_{(1)}(N,Z) \) and \( Y_{(2)}(N,Z) \), where \( (2) \) stands for the neutron-rich system.

In a variety of HIC an exponential dependence of the ratio on \(N\) and \(Z\) is observed, such as

\[ R_{21}(N,Z) = \frac{Y_{(2)}(N,Z)}{Y_{(1)}(N,Z)} = C\,exp\left[ \alpha N + \beta Z \right] \]

where \( C \) is an overall normalization constant while \( \alpha \) and \( \beta \) are the isoscaling parameters.

For a fixed charge \( Z \), \( \alpha(Z) \) can be extracted from a linear fit to the natural logarithm of the yield ratio \( R_{21} \) as a function of the neutron number \( N \).

A Gaussian approximation of the yields in the grand-canonical approximation allows to link the \(\alpha\) parameter to the symmetry energy coefficient \( C_{sym} \) divided by the temperature \( T \):

\[ \frac{C_{sym}(Z)}{T} = \frac{\alpha(Z)}{4\Delta (Z)} \]

with

\[ \Delta (Z) = \left( \frac{Z}{\langle A_{1}(Z) \rangle} \right)^{2} - \left( \frac{Z}{\langle A_{2}(Z) \rangle} \right)^{2} \]

where \( \langle A_{1}(Z)\rangle \) and \( \langle A_{2}(Z)\rangle \) are the average masses corresponding to the isotope charge \(Z\) for systems \( (1) \) and \( (2) \), respectively.

Example of use

Initialization

First, initialize the isoscaling class:

Isoscaling class.

Then import (at least) two ASCII files (one for each studied system) containing the yields for each charge. Each system is referenced by a string set by the user at the importation.

Format of the data in an input file must be the following:

#Z A Yield Yield_err
5 10 0.4 0.02
5 11 0.3 0.015
...
10 20 0.2 0.02
10 21 0.4 0.01
...

Assuming a string (const Char_t *my_path) representing the name of the ASCII file to open, containing the yields data for a given system to be referenced by const std::string& system_name. The yields can be imported using:

kvi.ReadYieldsFile(const std::string& system_name, const Char_t *my_path);
char Char_t

After the importation, a gaussian fit will be applied the each individual isotopic yield in order to extract the average mass \( \langle A(Z)\rangle \) for each element (see BuildGaussianPlots() method for more details).

Results of the importation can be accessed from various functions:

KVNumberList KVIsoscaling::GetZNumberList(const std::string& system_name) // returns a KVNumberList of all the charges set for `system_name`
KVNumberList KVIsoscaling::GetANumberList(const std::string& system_name, Int_t zz) // returns a KVNumberList of all the masses set `system_name` and charge `zz`
KVNumberList KVIsoscaling::GetSharedZNumberList(const std::string& system_name1, const std::string& system_name2) // returns a KVNumberList of the charges shared between two imported systems
...
int Int_t
KVNumberList GetANumberList(const std::string &system_name, Int_t zz)
KVNumberList GetSharedZNumberList(const std::string &system_name1, const std::string &system_name2)
KVNumberList GetZNumberList(const std::string &system_name)
Strings used to represent a set of ranges of values.

Set tolerance threshold for the Gaussian approximation

Isoscaling is expected in a mass region where the Gaussian approximation is verified. For this reason, it can be necessary to limit the region of experimental points where the isoscaling fitting procedure is applied.

The approach we use is to limit the fit in a region around \( \langle A(Z)\rangle \pm tol \cdot rms \), where \( rms \) is the standard deviation of \( \langle A(Z)\rangle \) and \( tol \) is a threshold that can be set by the user.

By default, \( tol = 2.5 \). It can be modified by calling:

kvi.SetRMSTolerance(Double_t tol);
double Double_t

It is also possible to test "by-hand" and optimize the \( tol \) threshold. Assuming two systems referenced by const std::string& system_name1 and const std::string& system_name2, for a given charge (Int_t zz) the quality of the Gaussian approximation can be tested with the following method:

kvi.TestGaussianApprox(system_name1, system_name2, zz, tol);

This will plot a graph of the desired isotopic yield with and without the tolerance applied, superimposed to the gaussian fits.

Build the graphs

Asumming two systems referenced by const std::string& system_name1 and const std::string& system_name2, the \(ln(R_{21})\) vs \(N\) graphs are built by calling:

kvi.BuildLnR21vsNPlots(system_name1, system_name2);

Note that the tolerance threshold of the Gaussian approximation is applied here (see SetRMSTolerance() method).

Fit the graphs

To fit the graphs use:

kvi.FitLnR21vsNPlots(system_name1, system_name2);

Draw the fitted graphs

To draw the isoscaling fit results use:

kvi.DrawLnR21vsNFits(system_name1, system_name2)

Use the fit results

The following method allows to exploit the isoscaling fit results ( \(\alpha\), \(\Delta\), \(C_{sym}/T=\alpha/4\Delta\)).

void BuildIsoscalingPlots(const std::string& system_name1, const std::string& system_name2, Int_t mcolor, Int_t mstyle, Bool_t draw) // build the alpha vs Z, Delta vs Z, etc... plots
void GetAlpha(const std::string& system_name1, const std::string& system_name2, Int_t zz, Float_t& alpha, Float_t& alpha_err) // returns alpha isoscaling param
void GetDeltaZA2(const std::string& system_name1, const std::string& system_name2, Int_t zz, Float_t& denum, Float_t& denum_err) // returns asymmetry parameter (denumerator)
void GetCsymOverT(const std::string& system_name1, const std::string& system_name2, Int_t zz, Float_t& csymT, Float_t& csymT_err) // returns Csym/T
...
bool Bool_t
float Float_t
void BuildIsoscalingPlots(const std::string &system_name1, const std::string &system_name2, Int_t mcolor, Int_t mstyle, Bool_t draw=kFALSE)
Bool_t GetCsymOverT(const std::string &system_name1, const std::string &system_name2, Int_t zz, Float_t &csymT, Float_t &csymT_err, Bool_t debug)
Bool_t GetAlpha(const std::string &system_name1, const std::string &system_name2, Int_t zz, Float_t &alpha, Float_t &alpha_err)
Bool_t GetDeltaZA2(const std::string &system_name1, const std::string &system_name2, Int_t zz, Float_t &denum, Float_t &denum_err, Bool_t debug)

Export results

Results can be saved in ASCII file using:

kvi.SaveResultsASCII(ascii_file_path);

Results can be saved in ROOT file using:

kvi.SaveResultsROOT(root_file_path);

Definition at line 198 of file KVIsoscaling.h.

#include <KVIsoscaling.h>

Inheritance diagram for KVIsoscaling:

Public Member Functions

 KVIsoscaling ()
 
void BuildIsoscalingPlots (const std::string &system_name1, const std::string &system_name2, Int_t mcolor, Int_t mstyle, Bool_t draw=kFALSE)
 
void BuildLnR21vsNPlots (const std::string &system_name1, const std::string &system_name2)
 
void CreateCsymOverTMultiGraph (TMultiGraph *mgr)
 
void DrawAlphavsNFits (const std::string &system_name1, const std::string &system_name2)
 
void DrawLnR21vsNFits (const std::string &system_name1, const std::string &system_name2)
 
Int_t FindZFromAmean (const std::string &system_name, Int_t aa)
 
void FitLnR21vsNPlots (const std::string &system_name1, const std::string &system_name2, Option_t *option="MNVR", Option_t *gooption="goff")
 
Bool_t GetAlpha (const std::string &system_name1, const std::string &system_name2, Int_t zz, Float_t &alpha, Float_t &alpha_err)
 
Bool_t GetAMean (const std::string &system_name, Int_t zz, Float_t &meanA, Float_t &meanA_err)
 — Getters —
 
KVNumberList GetANumberList (const std::string &system_name, Int_t zz)
 
Bool_t GetCsymOverT (const std::string &system_name1, const std::string &system_name2, Int_t zz, Float_t &csymT, Float_t &csymT_err, Bool_t debug)
 
Bool_t GetDeltaZA2 (const std::string &system_name1, const std::string &system_name2, Int_t zz, Float_t &denum, Float_t &denum_err, Bool_t debug)
 
Double_t GetRMSTolerance ()
 
KVNumberList GetSharedANumberList (const std::string &system_name1, const std::string &system_name2, Int_t zz)
 
KVNumberList GetSharedZNumberList (const std::string &system_name1, const std::string &system_name2)
 
KVNumberList GetZNumberList (const std::string &system_name)
 
void PrintSystemsList ()
 
void PrintYieldsList ()
 — Printers —
 
void ReadYieldsFile (const std::string &system_name, const Char_t *file_path)
 
void SaveResultsASCII (const Char_t *file_name="./isoscaling_output_file.txt")
 
void SaveResultsROOT (const Char_t *file_name="./isoscaling_output_file.root")
 
void SetRMSTolerance (Double_t tol)
 
void SetVerbose (Bool_t debug)
 — inline methods —
 
void TestGaussianApprox (const std::string &system_name1, const std::string &system_name2, Int_t zz, Double_t tol)
 
- 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 Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 
virtual Int_t Compare (const TObject *obj) const
 
virtual void Copy (TObject &object) const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) 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 TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual const char * GetName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
virtual ULong_t Hash () const
 
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)
 
virtual TClassIsA () const
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") 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)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual void Print (Option_t *option="") const
 
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)
 
virtual void Streamer (TBuffer &)
 
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 void Warning (const char *method, const char *msgfmt,...) const
 
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 Member Functions

void BuildGaussianPlots (const std::string &system_name)
 

Private Attributes

Bool_t fdebug_
 verbose mode for debugging
 
std::unordered_map< std::string, Isoscaling_tfIsoscalingList_
 (hash) map by name
 
std::unordered_map< std::string, System_tfSystemList_
 (hash) map by name
 
Double_t ftol_
 tolerance for the gaussian approximation (in sigma)
 

Additional Inherited Members

- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
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 TObject
 kOnlyPrepStep
 

Constructor & Destructor Documentation

◆ KVIsoscaling()

KVIsoscaling::KVIsoscaling ( )
inline

Default constructor

Definition at line 201 of file KVIsoscaling.h.

Member Function Documentation

◆ BuildGaussianPlots()

void KVIsoscaling::BuildGaussianPlots ( const std::string &  system_name)
private

Method to build the plots used to check the gaussian approximation Also compute the average masses for each charge \(\langle A(Z)\rangle\)

Parameters
[in]systemname

Definition at line 108 of file KVIsoscaling.cpp.

◆ BuildIsoscalingPlots()

void KVIsoscaling::BuildIsoscalingPlots ( const std::string &  system_name1,
const std::string &  system_name2,
Int_t  mcolor,
Int_t  mstyle,
Bool_t  draw = kFALSE 
)

This method allows to create isoscaling results plots for a given system pair :

\(\alpha\) vs \(Z\) \(\Delta\) vs \(Z\) \(\alpha\) vs \(\Delta\) \(Csym/T\) vs \(Z\)

To compute \(C_{sym}/T\), we use the usual isoscaling formula (see for ex. Raduta & Gulminelli, PRC 75 044605 bis (2007), Eq.(16)) :

\[ C_{sym}(\langle A(Z) \rangle)/T = \alpha(Z)/\Delta(Z) \]

where

\[ \Delta = (Z/\langle A_{1}(Z) \rangle)^{2}-(Z/\langle A_{2}(Z) \rangle)^{2} \]

Parameters
[in]system_name1name of the n-deficient system
[in]system_name2name of the n-rich system
[in]mcolorcolor to use for drawing
[in]mstylestyle to use for drawing
[in]draw=kTRUE if we want to plot the result

Definition at line 570 of file KVIsoscaling.cpp.

◆ BuildLnR21vsNPlots()

void KVIsoscaling::BuildLnR21vsNPlots ( const std::string &  system_name1,
const std::string &  system_name2 
)

Method to compute the ratio \(ln(R_{21})\) of the yields \(Y_{i}(A,Z)\) of 2 asymetric reactions \((2)\) and \((1)\) (projectiles and targets of reactions \((2)\) and \((1)\) only differ in their respective number of neutrons).

We are interested in extracting the alpha isoscaling parameter, thus we want to draw \(ln(R_{21})\) as a function of \(N\) for a given \(Z\). The tolerance parameter \(tol\) is used to limit the number of points used to build the plots (see GetRMSTolerance() method).

[in] system_name1 name of the n-deficient system [in] system_name2 name of the n-rich system index

Definition at line 319 of file KVIsoscaling.cpp.

◆ CreateCsymOverTMultiGraph()

void KVIsoscaling::CreateCsymOverTMultiGraph ( TMultiGraph mgr)

This method creates a TMultiGraph containing all the \(C_{sym}/T\) isoscaling results (for all combination of systems pairs already tested).

Parameters
[in]mgrpointer to the TMultiGraph provided by the user

Definition at line 680 of file KVIsoscaling.cpp.

◆ DrawAlphavsNFits()

void KVIsoscaling::DrawAlphavsNFits ( const std::string &  system_name1,
const std::string &  system_name2 
)

◆ DrawLnR21vsNFits()

void KVIsoscaling::DrawLnR21vsNFits ( const std::string &  system_name1,
const std::string &  system_name2 
)

This method draws the results of \(ln(R_{21})\) vs \(N\) linear fits for the given system pair.

Parameters
[in]system_name1name of the n-deficient system
[in]system_name2name of the n-rich system

Definition at line 508 of file KVIsoscaling.cpp.

◆ FindZFromAmean()

Int_t KVIsoscaling::FindZFromAmean ( const std::string &  system_name,
Int_t  aa 
)

Returns the charge \(Z\) (element) associated to the provided mass \(A\) such as \(\langle A(Z) \rangle = A \).

Parameters
[in]system_namename of the system
[in]aamass

Definition at line 918 of file KVIsoscaling.cpp.

◆ FitLnR21vsNPlots()

void KVIsoscaling::FitLnR21vsNPlots ( const std::string &  system_name1,
const std::string &  system_name2,
Option_t option = "MNVR",
Option_t gooption = "goff" 
)

This method applies a linear fit to the \(ln(R_{21})\) ratios to extract \(\alpha\) isoscaling parameters (for each element shared between the two systems).

Parameters
[in]system_name1name of the n-deficient system
[in]system_name2name of the n-rich system
[in]optionfit options
[in]gooptiongraphic fit options

Definition at line 460 of file KVIsoscaling.cpp.

◆ GetAlpha()

Bool_t KVIsoscaling::GetAlpha ( const std::string &  system_name1,
const std::string &  system_name2,
Int_t  zz,
Float_t alpha,
Float_t alpha_err 
)

This method extracts the isoscaling \(\alpha\) parameter.

Parameters
[in]system_name1name of the n-deficient system
[in]system_name2name of the n-rich system
[in]zzcharge for the element the isoscaling fit was applied
[out]alphaisoscaling fit parameter \(\alpha\)
[out]alpha_errerror on the isoscaling fit parameter \(\alpha\)

Definition at line 965 of file KVIsoscaling.cpp.

◆ GetAMean()

Bool_t KVIsoscaling::GetAMean ( const std::string &  system_name,
Int_t  zz,
Float_t meanA,
Float_t meanA_err 
)

— Getters —

This method returns the average mass \( \langle A(Z) \rangle \) of the given element (charge \(Z\)) for the given system. The average mass and associated uncertainty are obtained from the result of a gaussian fit applied to the isotopic distribution.

Parameters
[in]system_namename of the system
[in]zzcharge of the element
[out]meanAaverage mass
[out]meanA_errerror on the average mass

Definition at line 883 of file KVIsoscaling.cpp.

◆ GetANumberList()

KVNumberList KVIsoscaling::GetANumberList ( const std::string &  system_name,
Int_t  zz 
)

This method returns the list of all isotopes for the given element.

Parameters
[in]system_namename of the system
[in]zzcharge of the element
Returns
KVNumberList of the masses \(A\)

Definition at line 1172 of file KVIsoscaling.cpp.

◆ GetCsymOverT()

Bool_t KVIsoscaling::GetCsymOverT ( const std::string &  system_name1,
const std::string &  system_name2,
Int_t  zz,
Float_t csymT,
Float_t csymT_err,
Bool_t  debug 
)

This method returns the value of \(C_{sym}/T\) from isoscaling method such as (see for ex. Raduta & Gulminelli, PRC 75 044605 (2007) Eq.(16))

\[ C_{sym}/T = \alpha/4\Delta \]

Parameters
[in]system_name1name of the n-deficient system
[in]system_name2name of the n-rich system
[in]zzcharge for the element the isoscaling fit was applied
[out]csymTvalue of the ratio \(C_{sym}/T = \alpha/4\Delta\)
[out]csymT_errerror on the ratio \(C_{sym}/T = \alpha/4\Delta\)

Definition at line 1060 of file KVIsoscaling.cpp.

◆ GetDeltaZA2()

Bool_t KVIsoscaling::GetDeltaZA2 ( const std::string &  system_name1,
const std::string &  system_name2,
Int_t  zz,
Float_t denum,
Float_t denum_err,
Bool_t  debug 
)

This method returns the value of the asymmetry parameter \( \Delta \) (denumerator for \( C_{sym}/T \) estimation), such as

\[ \Delta = (Z/\langle A_{1} \rangle)^{2}-(Z/ \langle A_{2} \rangle)^{2} \]

Parameters
[in]system_name1name of the n-deficient system
[in]system_name2name of the n-rich system
[in]zzcharge for the element the isoscaling fit was applied
[out]denumasymmetry parameter \(\Delta\)
[out]denum_errerror on the asymmetry parameter \(\Delta\)

Definition at line 1007 of file KVIsoscaling.cpp.

◆ GetRMSTolerance()

Double_t KVIsoscaling::GetRMSTolerance ( )
inline

Definition at line 228 of file KVIsoscaling.h.

◆ GetSharedANumberList()

KVNumberList KVIsoscaling::GetSharedANumberList ( const std::string &  system_name1,
const std::string &  system_name2,
Int_t  zz 
)

This method returns the list of all isotopes shared between the two provided systems for the given element.

Parameters
[in]system_name1name of the first system
[in]system_name2name of the second system
[in]zzcharge of the element
Returns
KVNumberList of the shared masses \(A\)

Definition at line 1203 of file KVIsoscaling.cpp.

◆ GetSharedZNumberList()

KVNumberList KVIsoscaling::GetSharedZNumberList ( const std::string &  system_name1,
const std::string &  system_name2 
)

This method returns the list of all elements shared between the two provided systems.

Parameters
[in]system_name1name of the first system
[in]system_name2name of the second system
Returns
KVNumberList of the shared charges \(Z\)

Definition at line 1139 of file KVIsoscaling.cpp.

◆ GetZNumberList()

KVNumberList KVIsoscaling::GetZNumberList ( const std::string &  system_name)

This method returns the list of elements of a given system

Parameters
[in]system_namename of the system
Returns
KVNumberList of the all the charges \(Z\)

Definition at line 1110 of file KVIsoscaling.cpp.

◆ PrintSystemsList()

void KVIsoscaling::PrintSystemsList ( )

Definition at line 1272 of file KVIsoscaling.cpp.

◆ PrintYieldsList()

void KVIsoscaling::PrintYieldsList ( )

— Printers —

Definition at line 1234 of file KVIsoscaling.cpp.

◆ ReadYieldsFile()

void KVIsoscaling::ReadYieldsFile ( const std::string &  system_name,
const Char_t file_path 
)

Read and save yields from file provided by the user and fill the corresponding structs and maps Input ASCII file format is : Z A Yield Yield_err

Parameters
[in]systemname
[in]pathfor the input ASCII file

Definition at line 36 of file KVIsoscaling.cpp.

◆ SaveResultsASCII()

void KVIsoscaling::SaveResultsASCII ( const Char_t file_name = "./isoscaling_output_file.txt")

This method allows to save results in a *.txt file.

Parameters
[in]file_nameoutput file path

Definition at line 800 of file KVIsoscaling.cpp.

◆ SaveResultsROOT()

void KVIsoscaling::SaveResultsROOT ( const Char_t file_name = "./isoscaling_output_file.root")

This method allows to save the yields and the isoscaling fits and graphs ( \(ln(R_{21})\), \(\alpha\), \(\Delta\), \(C_{sym}/T\) graphs) in a *.root file.

Parameters
[in]file_nameoutput file path

Definition at line 706 of file KVIsoscaling.cpp.

◆ SetRMSTolerance()

void KVIsoscaling::SetRMSTolerance ( Double_t  tol)
inline

Definition at line 248 of file KVIsoscaling.h.

◆ SetVerbose()

void KVIsoscaling::SetVerbose ( Bool_t  debug)
inline

— inline methods —

Definition at line 243 of file KVIsoscaling.h.

◆ TestGaussianApprox()

void KVIsoscaling::TestGaussianApprox ( const std::string &  system_name1,
const std::string &  system_name2,
Int_t  zz,
Double_t  tol 
)

Method to test the tolerance threshold of the gaussian approximation for a given charge (element) \(Z\). Assuming a tolerance \(tol\) set by the user and an average mass \(\langle A(Z)\rangle\) with a standard deviation \( rms(Z) \), the region of experimental points will be limited to \( \langle A(Z)\rangle \pm tol \cdot rms(Z) \). This method allows to test and plot the results of various tolerance thresholds.

Parameters
[in]system_name1name of the n-deficient system
[in]system_name2name of the n-rich system
[in]zzfixed charge for the isotopic yields to be tested
[in]tolthreshold to be tested

Definition at line 189 of file KVIsoscaling.cpp.

Member Data Documentation

◆ fdebug_

Bool_t KVIsoscaling::fdebug_
private

verbose mode for debugging

Definition at line 257 of file KVIsoscaling.h.

◆ fIsoscalingList_

std::unordered_map<std::string, Isoscaling_t> KVIsoscaling::fIsoscalingList_
private

(hash) map by name

Definition at line 255 of file KVIsoscaling.h.

◆ fSystemList_

std::unordered_map<std::string, System_t> KVIsoscaling::fSystemList_
private

(hash) map by name

Definition at line 254 of file KVIsoscaling.h.

◆ ftol_

Double_t KVIsoscaling::ftol_
private

tolerance for the gaussian approximation (in sigma)

Definition at line 258 of file KVIsoscaling.h.