KaliVeda
Toolkit for HIC analysis
KVXtermBatch Class Reference

Detailed Description

Run analysis in multiple xterm windows.

This "batch" system will run jobs as separate processes in xterm windows with logging of the output from each job in separate files. The aim is to optimize use of multicore PCs when analysing data which is not in a ROOT file/TTree, i.e. for which PROOFLite cannot be used.

When N runs are to be analysed on an M-core machine, this batch system will run M jobs concurrently with the N runs shared as evenly as possible among the jobs.

Author
eindra
Date
Fri Apr 30 11:05:39 2021

Definition at line 24 of file KVXtermBatch.h.

#include <KVXtermBatch.h>

Inheritance diagram for KVXtermBatch:

Public Member Functions

 KVXtermBatch (const Char_t *name)
 
void GetBatchSystemParameterList (KVNameValueList &nl) override
 
Bool_t MultiJobsMode () const override
 
void Run () override
 
void SetBatchSystemParameters (const KVNameValueList &nl) override
 
- Public Member Functions inherited from KVBatchSystem
 KVBatchSystem (const Char_t *name)
 
virtual ~KVBatchSystem ()
 Destructor. More...
 
virtual void AlterJobs (TGWindow *, TList *)
 
void cd ()
 Make this the default batch system. More...
 
virtual Bool_t CheckJobParameters ()
 Checks the job and ask for the job name if needed. More...
 
void Clear (Option_t *opt="") override
 
virtual const Char_t * GetDefaultJobOptions () const
 
virtual const Char_t * GetJobName () const
 
virtual const Char_t * GetJobSubCmd () const
 
virtual const Char_t * GetJobSubCmdLine ()
 
virtual KVList * GetListOfJobs ()
 
KVNameValueList & GetParameters ()
 
void Print (Option_t *="") const override
 
virtual void PrintJobs (Option_t *="")
 
virtual void ReadBatchEnvFile (TEnv *)
 
virtual void SanitizeJobName () const
 
void SetAnalyser (KVDataAnalyser *da)
 
virtual void SetDefaultJobOptions (const Char_t *opt)
 
virtual void SetJobName (const Char_t *name)
 
virtual void SetJobScript (const Char_t *path)
 
virtual void SubmitJob ()
 
virtual void SubmitTask (KVDataAnalyser *da)
 
virtual void WriteBatchEnvFile (TEnv *)
 
- 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...
 
const Char_t * GetLabel () const
 
UInt_t GetNumber () const
 
virtual TObject * GetObject () const
 
virtual const Char_t * GetType () const
 
Bool_t HasLabel () const
 
Bool_t IsCalled (const Char_t *name, bool case_insensitive=false) const
 
Bool_t IsLabelled (const Char_t *l, bool case_insensitive=false) const
 
Bool_t IsType (const Char_t *typ, bool case_insensitive=false) const
 
virtual void List ()
 
KVBase & operator= (const KVBase &)
 copy assignment operator More...
 
void Print (Option_t *option="") const override
 
void SetLabel (const Char_t *lab)
 
virtual void SetNumber (UInt_t num)
 
virtual void SetType (const Char_t *str)
 

Additional Inherited Members

- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
enum class  GetX_status {
  ok , above_maximum , below_minimum , at_maximum ,
  at_minimum
}
 
- Static Public Member Functions inherited from KVBatchSystem
static KVBatchSystem * GetBatchSystem (const Char_t *plugin)
 
- Static Public Member Functions inherited from KVBase
static std::optional< TString > AbsoluteUnixPath (const TString &)
 
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="")
 
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 int GetKVPatchVersion ()
 
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 Double_t ProtectedGetX (const TF1 &func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={})
 
static Double_t ProtectedGetX (const TF1 *func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={})
 
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 ()
 

Constructor & Destructor Documentation

◆ KVXtermBatch()

KVXtermBatch::KVXtermBatch ( const Char_t *  name)
inline

Definition at line 29 of file KVXtermBatch.h.

Member Function Documentation

◆ GetBatchSystemParameterList()

void KVXtermBatch::GetBatchSystemParameterList ( KVNameValueList &  nl)
overridevirtual

Add to batch parameters the number of CPUs to use

By default, it is the number of CPUs on the machine

Reimplemented from KVBatchSystem.

Definition at line 73 of file KVXtermBatch.cpp.

◆ MultiJobsMode()

Bool_t KVXtermBatch::MultiJobsMode ( ) const
inlineoverridevirtual

Reimplemented from KVBatchSystem.

Definition at line 33 of file KVXtermBatch.h.

◆ Run()

void KVXtermBatch::Run ( )
overridevirtual

Processes the job requests for the batch system. In multijobs mode, this submits one job for each run in the runlist associated to fAnalyser

Reimplemented from KVBatchSystem.

Definition at line 10 of file KVXtermBatch.cpp.

◆ SetBatchSystemParameters()

void KVXtermBatch::SetBatchSystemParameters ( const KVNameValueList &  nl)
overridevirtual

Add to batch parameters the number of CPUs to use

By default, it is the number of CPUs on the machine

Reimplemented from KVBatchSystem.

Definition at line 90 of file KVXtermBatch.cpp.