KaliVeda
Toolkit for HIC analysis
KVSimReader_ELIE Class Reference

Detailed Description

Read ascii files containing events generated by Elie.

Created by KVClassFactory on Sun Jan 20 13:31:10 2013 Author: John Frankland,,,

This class is for reading primary events before secondary decay, i.e. output files with names like: elie_58_197_32_1000_primary.output

The events will be stored in a ROOT file with a name like:

ELIE_[PROJ]_[TARG]_[EBEAM]AMeV_PRIM.root

This file will contain a TTree called "ELIE" with a branch "Simulated_evts"

All the informations in the header of the ELIE output file are stored in a KVNameValueList in the TTree:

ELIE->GetUserInfo()->FindObject("ELIE Parameters")->ls()
KVNameValueList::ELIE Parameters : (0x55b2067172f0)
<ievt=50>
<projectile=Ni>
<target=Au>
<a_proj=58>
<z_proj=28>
<a_targ=197>
<z_targ=79>
<ebeam=32>
<ilevel=0>
<medium_effect=0>
<g_al=1>
<fraction_ex=0.5>
<tempe_limite=5.5>
<decay_in_flight=1>
<lab_frame=0>
<bminimum=0>
<bmaximum=1>
<choix_ex=0>
<fermi=1>
<version=1000>
<periph_trick=0>
<b_limite=0.75>
<freeze_out=3>
<proba_free_nucleon=0.001>
<tole_pourcent=0.01>
<discrete=1>
<minimisation=0>
<geometry=0>
<free_nucleon=0>
<lambda_ex=1.3>

If parameter lab_frame=1, we transform the events to the CM frame. In this way, for further analysis/filtering, ELIE events are always in the CM frame.

Definition at line 65 of file KVSimReader_ELIE.h.

#include <KVSimReader_ELIE.h>

Inheritance diagram for KVSimReader_ELIE:

Public Member Functions

 KVSimReader_ELIE ()
 Default constructor. More...
 
 KVSimReader_ELIE (KVString filename)
 Read file. More...
 
void ConvertEventsInFile (KVString filename)
 
Bool_t ReadEvent ()
 
void ReadFile ()
 
Bool_t ReadHeader ()
 
Bool_t ReadNucleus ()
 
- Public Member Functions inherited from KVSimReader
 KVSimReader ()
 Default constructor. More...
 
virtual ~KVSimReader ()
 Destructor. More...
 
void AddInfo (const Char_t *name, const Char_t *val)
 
void AddInfo (TNamed *named)
 
void AddObject (TObject *obj)
 
void CleanAll ()
 
virtual void ConvertAndSaveEventsInFile (KVString filename)
 Read events, convert and save in ROOT file. More...
 
void CreateInfoList ()
 
void CreateObjectList ()
 
void DeclareTree (Option_t *option)
 
virtual void FillTree ()
 
virtual KVString GetDate ()
 
KVListGetLinkedObjects ()
 
Int_t GetNumberOfEvents ()
 
const char * GetROOTFileName ()
 
KVListGetSimuInfo ()
 
TTree * GetTree ()
 
virtual Bool_t HasToFill ()
 
void Run (Option_t *option="recreate")
 
virtual void SaveTree ()
 
void SetBranchName (const Char_t *n)
 
void SetFileIndex (Int_t i)
 
void SetFillingMode (Bool_t mode=kTRUE)
 
void SetMultiFiles (Bool_t on=kTRUE)
 
void SetOutputDirectory (const TString &where)
 
void SetROOTFileName (const Char_t *n)
 
void SetTreeName (const Char_t *n)
 
void SetTreeTitle (const Char_t *n)
 
void WriteInfo ()
 
void WriteObjects ()
 
- Public Member Functions inherited from KVFileReader
 KVFileReader (const KVString &comments="")
 
void Clear (Option_t *="")
 
void CloseFile ()
 
KVString GetCurrentLine ()
 
Double_t GetDoubleReadPar (Int_t pos) const
 
KVString GetFileName ()
 
Int_t GetIntReadPar (Int_t pos) const
 
Int_t GetNlineRead () const
 
Int_t GetNparRead () const
 
KVString GetReadPar (Int_t pos) const
 
KVString GetReadStatus (ReadStatus s)
 
Bool_t IsOK ()
 
Bool_t OpenFileToRead (const KVString &filename)
 
Bool_t PreparForReadingAgain ()
 
ReadStatus ReadLine (const KVString &pattern="")
 
ReadStatus ReadLineAndAdd (const KVString &pattern="")
 
ReadStatus ReadLineAndCheck (Int_t nexpect, const KVString &pattern)
 
ReadStatus ReuseLineAndCheck (Int_t nexpect, const KVString &pattern)
 
- 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 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
 
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 ()
 
KVBaseoperator= (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)
 

Private Member Functions

virtual void define_output_filename ()
 
void init ()
 
void read_elie_params (KVFileReader &input_file_reader)
 
void transform_to_cm ()
 transform all particle kinematics to CM frame from lab More...
 

Private Attributes

Double_t ebeam
 
KVNameValueListelie_params
 
KVNucleus proj
 
int run_number = -1
 
KVNucleus targ
 

Additional Inherited Members

- Public Types inherited from KVFileReader
enum class  ReadStatus {
  EmptyLine , OK , ParamMismatch , CommentLine ,
  EndOfFile
}
 status returned by each method used to read a line in the file More...
 
- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- Static Public Member Functions inherited from KVSimReader
static KVSimReaderMakeSimReader (const char *model_uri)
 
- 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 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 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, 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 ()
 
- Public Attributes inherited from KVFileReader
std::ifstream f_in
 

Constructor & Destructor Documentation

◆ KVSimReader_ELIE() [1/2]

KVSimReader_ELIE::KVSimReader_ELIE ( )

Default constructor.

Definition at line 66 of file KVSimReader_ELIE.cpp.

◆ KVSimReader_ELIE() [2/2]

KVSimReader_ELIE::KVSimReader_ELIE ( KVString  filename)

Read file.

Definition at line 78 of file KVSimReader_ELIE.cpp.

Member Function Documentation

◆ ConvertEventsInFile()

void KVSimReader_ELIE::ConvertEventsInFile ( KVString  filename)
virtual

Reimplemented from KVSimReader.

Definition at line 89 of file KVSimReader_ELIE.cpp.

◆ define_output_filename()

void KVSimReader_ELIE::define_output_filename ( )
privatevirtual

ROOT file called either

ELIE_[PROJ]_[TARG]_[EBEAM]AMeV_PRIM.root

or

ELIE_[PROJ]_[TARG]_[EBEAM]AMeV_Run[xx...]_PRIM.root

if run_number is defined

Call after reading file header

Reimplemented in KVSimReader_ELIE_asym, and KVSimReader_ELIE2023_asym.

Definition at line 24 of file KVSimReader_ELIE.cpp.

◆ init()

void KVSimReader_ELIE::init ( void  )
inlineprivate

Definition at line 67 of file KVSimReader_ELIE.h.

◆ read_elie_params()

void KVSimReader_ELIE::read_elie_params ( KVFileReader input_file_reader)
private

Definition at line 195 of file KVSimReader_ELIE.cpp.

◆ ReadEvent()

Bool_t KVSimReader_ELIE::ReadEvent ( )
virtual

Event structure: (primary events) -> OLD WAY, see bellow for recent ELIE calculations nevt multiplicite b reduit 0 2 0.998654688551 particules dans l'evt indice_particule charge_particule masse_particule teta_particule(degres) phi_particule(degres) indice_particule energie d'excitation totale (MeV) 0 27 57 3.27897003986 230.52425244 1109.37002505 0 0.00499304975261 1 80 198 176.726338776 129.481056376 319.364098122 1 0.017344278088 nevt multiplicite b reduit 1 11 0.665404278608 indice_particule charge_particule masse_particule teta_particule(degres) phi_particule(degres) E(MeV) E*(MeV) L(hbar) 0 21 45 2.49354294869 78.2453656442 2180.55536792 91.0936851491 1.0 1 20 46 5.25547324063 79.8035650615 7.5872385507 93.1179892635 1.0

Reimplemented from KVSimReader.

Reimplemented in KVSimReader_ELIE2023.

Definition at line 227 of file KVSimReader_ELIE.cpp.

◆ ReadFile()

void KVSimReader_ELIE::ReadFile ( )
virtual

Reimplemented from KVSimReader.

Definition at line 103 of file KVSimReader_ELIE.cpp.

◆ ReadHeader()

Bool_t KVSimReader_ELIE::ReadHeader ( )
virtual

File header contains info on simulation

54 129 50 119 32 20000 ievt=50 projectile=Ni target=Au a_proj=58 z_proj=28 a_targ=197 z_targ=79 [...] geometry=0 free_nucleon=0 lambda_ex=1.3

The simulation parameters are stored in a KVNameValueList

Reimplemented from KVSimReader.

Reimplemented in KVSimReader_ELIE2023.

Definition at line 135 of file KVSimReader_ELIE.cpp.

◆ ReadNucleus()

Bool_t KVSimReader_ELIE::ReadNucleus ( )
virtual

Event structure: (primary events) -> OLD WAY, see bellow for recent ELIE calculations nevt multiplicite b reduit 0 2 0.998654688551 particules dans l'evt indice_particule charge_particule masse_particule teta_particule(degres) phi_particule(degres) indice_particule energie d'excitation totale (MeV) 0 27 57 3.27897003986 230.52425244 1109.37002505 0 0.00499304975261 1 80 198 176.726338776 129.481056376 319.364098122 1 0.017344278088 nevt multiplicite b reduit 1 11 0.665404278608 indice_particule charge_particule masse_particule teta_particule(degres) phi_particule(degres) E(MeV) E*(MeV) L(hbar) 0 21 45 2.49354294869 78.2453656442 2180.55536792 91.0936851491 1.0 1 20 46 5.25547324063 79.8035650615 7.5872385507 93.1179892635 1.0

Reimplemented from KVSimReader.

Reimplemented in KVSimReader_ELIE_asym, and KVSimReader_ELIE2023.

Definition at line 292 of file KVSimReader_ELIE.cpp.

◆ transform_to_cm()

void KVSimReader_ELIE::transform_to_cm ( )
private

transform all particle kinematics to CM frame from lab

Definition at line 53 of file KVSimReader_ELIE.cpp.

Member Data Documentation

◆ ebeam

Double_t KVSimReader_ELIE::ebeam
private

Definition at line 75 of file KVSimReader_ELIE.h.

◆ elie_params

KVNameValueList* KVSimReader_ELIE::elie_params
private

Definition at line 76 of file KVSimReader_ELIE.h.

◆ proj

KVNucleus KVSimReader_ELIE::proj
private

Definition at line 74 of file KVSimReader_ELIE.h.

◆ run_number

int KVSimReader_ELIE::run_number = -1
private

Definition at line 77 of file KVSimReader_ELIE.h.

◆ targ

KVNucleus KVSimReader_ELIE::targ
private

Definition at line 74 of file KVSimReader_ELIE.h.