KaliVeda
1.12/06
Heavy-Ion Analysis Toolkit
|
Impact parameter analysis tools.
Created by KVClassFactory on Fri Jan 15 18:14:06 2010 Author: John Frankland,,,
Use a histogram containing the distribution of some observable strongly-correlated with the impact parameter in order to transform distributions of said observable into impact parameter distributions (using the method of C. Cavata et al., Phys. Rev. C42, 1760 (1990)), and to calculate the evolution of other quantities as a function of the impact parameter.
To use, start with a pointer to a 1-D histogram of the observable, TH1* data:
KVImpactParameter ip(data); ip.MakeScale(npoints, bmax);
The MakeScale method calculates the relationship between the observable and the impact parameter, using END_HTML BEGIN_LATEX \hat{b}^{2} = \frac{\int^{\infty}_{x=X} Y(x) dx}{\int_{0}^{\infty} Y(x) dx} END_LATEX BEGIN_HTML To obtain the impact parameter distribution for some selection of events, you need the distribution of the observable for the selection, TH1* obs_sel, and then use:
TH1* ip_dist_sel = ip.GetIPDistribution(obs_sel);
To obtain the impact-parameter evolution of some quantity, take a TH2* obscor, containing the bidimensional plot of the quantity as a function of the observable, and then use
TGraph* ip_evol = ip.GetIPEvolution(obscor, "GetMean");
e.g. to have the mean value of the quantity as a function of impact parameter.
Definition at line 49 of file KVImpactParameter.h.
Public Member Functions | |
KVImpactParameter (TH1 *, Option_t *evol="D") | |
virtual | ~KVImpactParameter () |
Destructor. More... | |
Double_t | BTransform (Double_t *, Double_t *) |
Double_t | GetCrossSection (Double_t obs) |
Double_t | GetImpactParameter (Double_t obs) |
TH1 * | GetIPDistribution (TH1 *obs, Int_t nbinx=100, Option_t *norm="") |
TGraph * | GetIPEvolution (TH2 *obscor, TString moment, TString axis="Y") |
Double_t | GetObservable (Double_t b) |
Double_t | GetObservableXSec (Double_t sigma) |
TGraph * | GetScale () const |
TF1 * | GetTransFunc () const |
TH1 * | GetXSecDistribution (TH1 *obs, Int_t nbinx=100, Option_t *norm="") |
TGraph * | GetXSecEvolution (TH2 *obscor, TString moment, TString axis="Y") |
TGraph * | GetXSecScale () const |
TF1 * | GetXSecTransFunc () const |
void | MakeAbsoluteScale (Int_t npoints=100, Double_t bmax=1.0) |
void | MakeScale (Int_t npoints=100, Double_t bmax=1.0) |
std::vector< Double_t > | SliceXSec (Int_t nslices, Double_t totXsec) |
Double_t | XTransform (Double_t *, Double_t *) |
![]() | |
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... | |
virtual | ~ KVBase () |
virtual void | Clear (Option_t *opt="") |
Clear object properties : name, type/title, number, label. More... | |
virtual void | Copy (TObject &) const |
Make a copy of this object. More... | |
const Char_t * | GetLabel () const |
UInt_t | GetNumber () const |
UInt_t | GetNumberOfObjects () const |
virtual TObject * | GetObject () const |
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... | |
virtual void | Print (Option_t *option="") const |
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) |
![]() | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
virtual TObject * | Clone (const char *newname="") const |
virtual Int_t | Compare (const TObject *obj) const |
virtual void | FillBuffer (char *&buffer) |
virtual const char * | GetName () const |
virtual const char * | GetTitle () const |
virtual ULong_t | Hash () const |
virtual Bool_t | IsSortable () const |
virtual void | ls (Option_t *option="") const |
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 |
![]() | |
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 | Draw (Option_t *option="") |
virtual void | DrawClass () const |
virtual TObject * | DrawClone (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=0) |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
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) |
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 * | 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) |
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=0, Int_t option=0, Int_t bufsize=0) |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Static Public Member Functions | |
static Double_t | GetIPFromXSec (Double_t xsec) |
static Double_t | GetXSecFromIP (Double_t bmax) |
![]() | |
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 Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *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 Bool_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval) |
static const Char_t * | GetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval) |
static Double_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t 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 date. 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 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 | 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, 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 Longptr_t | GetDtorOnly () |
static Bool_t | GetObjectStat () |
static void | SetDtorOnly (void *obj) |
static void | SetObjectStat (Bool_t stat) |
Private Member Functions | |
void | make_scale (Int_t npoints) |
Private Attributes | |
Double_t | Bmax |
maximum of ip scale More... | |
TH1 * | fData |
histogram containing distribution of ip-related observable More... | |
TString | fEvol |
how the observable evolves with b More... | |
TGraph * | fIPScale |
derived relation between observable and impact-parameter More... | |
TF1 * | fObsTransform |
function for transforming observable into impact parameter More... | |
TF1 * | fObsTransformXSec |
function for transforming observable into cross-section More... | |
TGraph * | fXSecScale |
derived relation between observable and cross-section More... | |
KVHistoManipulator | HM |
Double_t | Smax |
maximum of cross-section scale More... | |
Additional Inherited Members | |
![]() | |
enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
![]() | |
enum | EDeprecatedStatusBits |
enum | EStatusBits |
![]() | |
kBitMask | |
kCanDelete | |
kCannotPick | |
kHasUUID | |
kInconsistent | |
kInvalidObject | |
kIsOnHeap | |
kIsReferenced | |
kMustCleanup | |
kNoContextMenu | |
kNotDeleted | |
kObjInCanvas | |
kOverwrite | |
kSingleKey | |
kWriteDelete | |
kZombie | |
![]() | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
void | MakeZombie () |
![]() | |
TString | fLabel |
label for the object More... | |
![]() | |
TString | fName |
TString | fTitle |
![]() | |
kOnlyPrepStep | |
#include <KVImpactParameter.h>
Default constructor
Argument 'data' is pointer to data histogram containing distribution of the observable which is used to calculate the impact parameter. Usually, this will be an observable which is supposed to increase or decrease monotonically as a function of b.
By default, evol = "D" which means observable increases as b decreases. Call with evol = "C" if the observable increases as b increases.
Definition at line 21 of file KVImpactParameter.cpp.
|
virtual |
Destructor.
Definition at line 43 of file KVImpactParameter.cpp.
Function using the TGraph calculated with MakeScale/MakeAbsoluteScale in order to transform distributions of the observable histogrammed in fData into distributions of the impact parameter.
This function is used to generate the TF1 fObsTransform
Definition at line 193 of file KVImpactParameter.cpp.
Calculate value of cross section for given value of the observable.
Definition at line 99 of file KVImpactParameter.h.
Calculate value of impact parameter for given value of the observable.
Definition at line 94 of file KVImpactParameter.h.
Transform the distribution of the observable contained in the histogram 'obs' into a distribution of the impact parameter. User's responsibility to delete histo.
Definition at line 236 of file KVImpactParameter.cpp.
obscor = pointer to histogram containing bidim correlating some observable Y with the observable used to calculate the impact parameter.
Return pointer to TGraph giving evolution of any given moment of Y as a function of the impact parameter, with moment = "GetMean", "GetRMS", "GetKurtosis", etc. (methods of TH1)
If the impact parameter observable is on the Y-axis of obscor, use axis="X" (by default axis="Y", i.e. we assume that the I.P. observable is on the x axis).
Definition at line 267 of file KVImpactParameter.cpp.
static utility function returns impact parameter in [fm] corresponding to cross-section in [mb]
Definition at line 125 of file KVImpactParameter.h.
Calculate value of observable corresponding to given value of impact parameter.
Definition at line 104 of file KVImpactParameter.h.
Calculate value of observable corresponding to given value of cross section.
Definition at line 109 of file KVImpactParameter.h.
|
inline |
Return pointer to TGraph showing relationship between the observable histogrammed in fData and the impact parameter. Call after MakeScale.
Definition at line 68 of file KVImpactParameter.h.
|
inline |
return pointer to function giving b for any value of observable
Definition at line 84 of file KVImpactParameter.h.
Transform the distribution of the observable contained in the histogram 'obs' into a distribution of cross-section User's responsibility to delete histo.
Definition at line 302 of file KVImpactParameter.cpp.
obscor = pointer to histogram containing bidim correlating some observable Y with the observable used to calculate the impact parameter.
Return pointer to TGraph giving evolution of any given moment of Y as a function of cross section, with moment = "GetMean", "GetRMS", "GetKurtosis", etc. (methods of TH1)
If the impact parameter observable is on the Y-axis of obscor, use axis="X" (by default axis="Y", i.e. we assume that the I.P. observable is on the x axis).
Definition at line 333 of file KVImpactParameter.cpp.
static utility function returns cross-section in [mb] corresponding to impact parameter in [fm]
Definition at line 119 of file KVImpactParameter.h.
|
inline |
Return pointer to TGraph showing relationship between the observable histogrammed in fData and the cross section. Call after MakeScale.
Definition at line 75 of file KVImpactParameter.h.
|
inline |
return pointer to function giving cross section for any value of observable
Definition at line 89 of file KVImpactParameter.h.
Definition at line 109 of file KVImpactParameter.cpp.
Calculate the relationship between the impact parameter and the observable whose distribution is contained in the histogram fData.
For a given value X of the observable x, the reduced impact parameter b_hat is calculated from the distribution of x, Y(x), using the following formula:
\[ \hat{b}^{2} = \frac{\int^{\infty}_{x=X} Y(x) dx}{\int_{0}^{\infty} Y(x) dx} \]
npoints = number of points for which to calculate the impact parameter.
The greater the number of points, the more accurate the results. Default value is 100. Maximum value is number of bins in histogram of observable, fData.
bmax is the maximum absolute impact parameter for the data in [fm].
To obtain values of reduced impact parameter/cross-section, use MakeScale.
Definition at line 158 of file KVImpactParameter.cpp.
Calculate the relationship between the impact parameter and the observable whose distribution is contained in the histogram fData.
For a given value X of the observable x, the reduced impact parameter b_hat is calculated from the distribution of x, Y(x), using the following formula:
\[ \hat{b}^{2} = \frac{\int^{\infty}_{x=X} Y(x) dx}{\int_{0}^{\infty} Y(x) dx} \]
npoints = number of points for which to calculate the impact parameter.
The greater the number of points, the more accurate the results. Default value is 100. Maximum value is number of bins in histogram of observable, fData.
bmax is the maximum reduced impact parameter for the data.
To obtain absolute values of impact parameter/cross-section, use MakeAbsoluteScale.
Definition at line 73 of file KVImpactParameter.cpp.
Generate vector of observable values which can be used to select nslices of constant cross-section. Each slice will correspond to a cross-section totXsec/nslices. Note that the vector will contain (nslices-1) values
Definition at line 381 of file KVImpactParameter.cpp.
Function using the TGraph calculated with MakeScale/MakeAbsoluteScale in order to transform distributions of the observable histogrammed in fData into distributions of cross-section.
This function is used to generate the TF1 fObsTransformXsec
Definition at line 213 of file KVImpactParameter.cpp.
|
private |
maximum of ip scale
Definition at line 57 of file KVImpactParameter.h.
|
private |
histogram containing distribution of ip-related observable
Definition at line 50 of file KVImpactParameter.h.
|
private |
how the observable evolves with b
Definition at line 51 of file KVImpactParameter.h.
|
private |
derived relation between observable and impact-parameter
Definition at line 52 of file KVImpactParameter.h.
|
private |
function for transforming observable into impact parameter
Definition at line 54 of file KVImpactParameter.h.
|
private |
function for transforming observable into cross-section
Definition at line 55 of file KVImpactParameter.h.
|
private |
derived relation between observable and cross-section
Definition at line 53 of file KVImpactParameter.h.
|
private |
Definition at line 56 of file KVImpactParameter.h.
|
private |
maximum of cross-section scale
Definition at line 58 of file KVImpactParameter.h.