KaliVeda
1.12/06
Heavy-Ion Analysis Toolkit
|
Light-energy calibration function for CsI detectors using a Fermi-function dependence on energy for delta-ray production.
Parameterization of the total light output, \(L\), as a function of deposited energy, \(E\), (in MeV) for CsI detectors, using a Fermi-function dependence on energy for the delta-ray production, instead of a sharp cut-off at \(E=a_{3}A\):
\[ L = a_{1}E\left\{1 - \frac{a_{2}AZ^{2}}{E}\left[ \ln\left( 1+\frac{E}{a_{2}AZ^{2}} \right) - \frac{a_{4}}{1+\exp\left( \frac{E_{\delta}-E}{8A} \right)}\ln\left(\frac{E+a_{2}AZ^{2}}{E_{\delta}+a_{2}AZ^{2}}\right) + \frac{a_{4}}{1+\exp (E_{\delta}/8A)\ln\left(\frac{a_{2}AZ^{2}}{E_{\delta}+a_{2}AZ^{2}}\right)} \right] \right\} \]
with \(E_{\delta}=a_{3}A\) and the parameters:
Parameter | Meaning |
---|---|
\(a_{1}\) | gain factor |
\(a_{2}\) | nuclear & recombination quenching term |
\(a_{3}\) | threshold (MeV/u) for delta-ray production |
\(a_{4}\) | fractional energy loss removed by delta rays |
See M. Parlog et al., Nuclear Instruments and Methods in Physics Research A 482 (2002) 693–706
In order to correctly reproduce the light-energy relationship for all ions, two parameterizations should be used: one for Z=1 and another for Z>1. The main difference is the gain parameter, a1, which compensates the understimation of total light output for high energy protons.
The parameter a3 normally has a fixed value (a3=6), but this is not "hard-coded" : it should be fixed when fitting data.
Definition at line 38 of file KVLightEnergyCsI.h.
Public Member Functions | |
KVLightEnergyCsI (Bool_t make_func=kTRUE) | |
virtual | ~ KVLightEnergyCsI () |
virtual Double_t | Compute (Double_t chan, const KVNameValueList &z_and_a="") const |
virtual Double_t | Invert (Double_t, const KVNameValueList &z_and_a="") const |
Bool_t | IsAvailableFor (const KVNameValueList &z_and_a) const |
Public Member Functions inherited from KVCalibrator | |
KVCalibrator () | |
KVCalibrator (const TString &formula, const TString &type) | |
virtual | ~KVCalibrator () |
KVDetector * | GetDetector () const |
TGraph * | GetGraphOfCalibration (int npts, KVValueRange< double > input_range, const KVNameValueList &par="") |
TString | GetInputSignalType () const |
Int_t | GetNumberParams () const |
TString | GetOutputSignalType () const |
Double_t | GetParameter (int i) const |
Bool_t | GetStatus () const |
Bool_t | InversionFailure () const |
Bool_t | IsUseInverseFunction () const |
Double_t | operator() (Double_t x, const KVNameValueList &par="") |
virtual void | Print (Option_t *opt="") const |
Print a description of the calibration object, including a list of its parameters. More... | |
virtual void | Reset () |
void | SetDetector (KVDetector *d) |
void | SetInputSignalType (const TString &type) |
virtual void | SetOptions (const KVNameValueList &) |
void | SetOutputSignalType (const TString &type) |
void | SetParameter (int i, Double_t par_val) const |
void | SetStatus (Bool_t ready) |
void | SetUseInverseFunction (Bool_t yes=kTRUE) |
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... | |
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... | |
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) |
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 () |
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 |
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 | 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 |
Protected Attributes | |
Double_t | A |
Double_t | Z |
Protected Attributes inherited from KVBase | |
TString | fLabel |
label for the object More... | |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from TObject | |
kOnlyPrepStep | |
Private Member Functions | |
Double_t | CalculLumiere (Double_t *, Double_t *) |
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 KVCalibrator | |
static KVCalibrator * | MakeCalibrator (const Char_t *type) |
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 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 Public Member Functions inherited from TObject | |
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 KVCalibrator | |
void | adjust_range_of_inverse_calibration () |
Double_t | do_inversion (Double_t x) const |
TF1 * | GetCalibFunction () const |
bool | in_range (double X, double Xmin, double Xmax) |
void | SetCalibFunction (TF1 *f) |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
void | MakeZombie () |
#include <KVLightEnergyCsI.h>
[in] | make_func | used by child class constructors to inhibit creation of internal calibration function |
Definition at line 58 of file KVLightEnergyCsI.cpp.
|
inlinevirtual |
Definition at line 48 of file KVLightEnergyCsI.h.
Calcul de la lumiere totale a partir de Z, A d'une particule et son energie
Definition at line 22 of file KVLightEnergyCsI.cpp.
|
virtual |
Calculate the calibrated energy (in MeV) for a given total light output.
The Z and A of the particle should be given as extra parameters:
Reimplemented from KVCalibrator.
Definition at line 79 of file KVLightEnergyCsI.cpp.
|
virtual |
Given the calibrated (or simulated) energy in MeV, calculate the corresponding total light output according to the calibration parameters (useful for filtering simulations).
The Z and A of the particle should be given as extra parameters:
Reimplemented from KVCalibrator.
Definition at line 114 of file KVLightEnergyCsI.cpp.
|
virtual |
Reimplemented from KVCalibrator.
Definition at line 141 of file KVLightEnergyCsI.cpp.
|
mutableprotected |
Definition at line 44 of file KVLightEnergyCsI.h.
|
mutableprotected |
Definition at line 43 of file KVLightEnergyCsI.h.