13 #include "KVUniqueNameList.h"
14 #include "KVNumberList.h"
17 #include "KVDataAnalysisTask.h"
19 #include "run_index.h"
194 snom.
Form(
"KVDataSet.DataType.Subdir.%s",
type);
245 void SetName(
const char* name)
override;
251 template<
typename ValType>
281 template <
typename FileType>
338 const Char_t* other_repos);
340 const Char_t* other_repos);
370 return GetDataSetEnv(
"ReconstructedEventClassName",
"KVReconstructedEvent");
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Handles lists of available runs for different datasets and types of data.
Base class for KaliVeda framework.
void SetLabel(const Char_t *lab)
const Char_t * GetLabel() const
static ValType GetDataSetEnv(const KVString &dataset, const KVString &type, const ValType &defval)
Description of an experimental run in database ,,.
Database class used to store information on different colliding systems studied during an experiment....
Define and manage data analysis tasks.
Base class for managing repositories of experimental data.
Manage all datasets contained in a given data repository.
Manage an experimental dataset corresponding to a given experiment or campaign.
std::optional< TDatime > GetRunfileDate(const KVString &type, const run_index_t &run)
TString GetFullPathToRunfile(const KVString &type, const run_index_t &run) const
TString GetFullPathToDB() const
virtual void SetUserGroups(const Char_t *groups)
TString fUserGroups
list of user groups allowed to read data
void ls(Option_t *opt="") const override
Print dataset information.
TString GetOutputRepository(const Char_t *taskname) const
virtual void OpenDBFile(const Char_t *full_path_to_dbfile) const
Open the database from a file on disk.
KVExpDB * fDataBase
pointer to dataset's database
run_index_list GetRunList_VersionSelection(const Char_t *type, const Char_t *version, KVDBSystem *sys=0)
TString GetDBName() const
void CheckMultiRunfiles(const Char_t *data_type)
Bool_t CheckRunfileAvailable(const KVString &type, const run_index_t &run)
virtual const Char_t * GetBaseFileName(const Char_t *type, const run_index_t &run) const
void CheckUpToDate(const Char_t *data_type, const Char_t *other_repos)
TString fDBName
name of database
virtual void SetDataPathSubdir(const Char_t *s)
run_index_list GetRunList(const Char_t *data_type, const KVDBSystem *sys=0) const
virtual const Char_t * GetAvailableDataTypes() const
void CopyRunfilesFromRepository(const Char_t *type, const run_index_list &runs, const Char_t *destdir)
Copies the runfiles of given "type" into the local directory "destdir".
KVDataRepository * GetRepository() const
Get pointer to data repository in which dataset is stored.
const Char_t * GetDataSetDir() const
Bool_t fDataBaseUpdateInProgress
KVAvailableRunsFile * GetAvailableRunsFile(const Char_t *type) const
void CommitRunfile(const KVString &type, const run_index_t &run, TFile *file)
virtual void AddAvailableDataType(const Char_t *)
KVString GetDataSetEnv(const Char_t *type, Char_t *defval) const
TObject * OpenRunfile(const KVString &type, const run_index_t &run)
bool make_analysis_class(const KVDataAnalysisTask *, const Char_t *classname)
KVDataAnalysisTask * GetAnalysisTask(Int_t) const
virtual void SaveDataBase() const
virtual std::unique_ptr< TList > GetListOfAvailableSystems(const Char_t *datatype, KVDBSystem *systol=0)
virtual KVString GetReconstructedEventClassName() const
virtual KVDataAnalysisTask * GetAnalysisTaskAny(const Char_t *keywords) const
run_index_list GetRunList_DateSelection(const Char_t *type, TDatime *min=0, TDatime *max=0)
KVList fAvailableRuns
list of KVAvailableRunsFile objects used to read infos on available runs
virtual void SetAnalysisTasks(const KVSeqCollection *)
ValType GetDataSetEnv(const Char_t *type, const ValType &defval) const
TFile * NewRunfile(const KVString &type, const run_index_t &run)
Bool_t CheckRunfileUpToDate(const KVString &data_type, const run_index_t &run, KVDataRepository *other_repos)
Bool_t HasCalibIdentInfos() const
virtual void CheckAvailable()
void DeleteRunfile(const KVString &type, const run_index_t &run, Bool_t confirm=kTRUE)
KVString GetDataTypeSubdir(const Char_t *type) const
virtual const Char_t * GetDataPathSubdir() const
virtual Bool_t HasDataType(const Char_t *data_type) const
virtual Int_t GetNtasks() const
std::unique_ptr< TFile > fDBase
file containing database
KVString GetDataSetEnv(const Char_t *type, const Char_t *defval="") const
run_index_list GetRunList_StageSelection(const Char_t *other_type, const Char_t *base_type, KVDBSystem *sys=0, Bool_t OnlyCol=kFALSE)
TString GetFullPathToDataSetFile(const Char_t *filename)
virtual Bool_t IsAvailable() const
void DeleteRunfiles(const Char_t *type, const run_index_list &lrun={}, Bool_t confirm=kTRUE)
TObject * open_runfile(const KVString &type, const run_index_t &run)
void CopyRunfilesToRepository(const Char_t *type, const run_index_list &runs, const Char_t *destrepo)
KVString GetRunfileName(const KVString &type, const run_index_t &run) const
KVExpDB * GetDataBase(Option_t *opt="") const
virtual Bool_t DataBaseNeedsUpdate() const
Bool_t OpenDataSetFile(const Char_t *filename, std::ifstream &file)
void SetDataSetSpecificTaskParameters(KVDataAnalysisTask *) const
Check configuration variables to see if the task parameters have been "tweaked" for the dataset.
TString fDatatypes
list of types of data which are available for this dataset
virtual void SetAvailable(Bool_t yes=kTRUE)
virtual void WriteDBFile(const Char_t *full_path_to_dbfile) const
Write the database to disk.
void Print(Option_t *opt="") const override
void SetName(const char *name) override
virtual Bool_t CheckUserCanAccess()
Bool_t fDBBuild
has the database been built by us ?
KVDataRepository * fRepository
repository in which dataset is stored
void UpdateAvailableRuns(const KVString &type)
run_index_list GetUpdatableRuns(const Char_t *data_type, const Char_t *other_repos)
void SetRepository(KVDataRepository *)
Set pointer to data repository in which dataset is stored.
bool MakeAnalysisClass(const Char_t *task, const Char_t *classname)
Bool_t DataBaseUpdateInProgress() const
KVUniqueNameList fAllTasks
all data analysis tasks for this dataset
KVDataSet()
Default constructor.
void SetDBName(const Char_t *name)
FileType * OpenRunfile(const KVString &type, const run_index_t &run)
void CleanMultiRunfiles(const Char_t *data_type, Bool_t confirm=kTRUE)
virtual void OpenDataBase(Option_t *opt="") const
static Bool_t OpenDataSetFile(const TString &dataset, const Char_t *filename, std::ifstream &file)
TString fCalibDir
directory containing database, calibration, identification parameters etc. for dataset
static Bool_t FindDataSetFile(const TString &dataset, const Char_t *filename)
TString GetDBFileName() const
KVUniqueNameList fTasks
possible data analysis tasks for this dataset (available data only)
Base class to describe database of an experiment ,,.
Extended TList class which owns its objects by default.
KaliVeda extensions to ROOT collection classes.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Optimised list in which named objects can only be placed once.
const char * GetName() const override
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
const char * Data() const
void Form(const char *fmt,...)
TString & Remove(EStripType s, char c)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Specifies a runfile according to run number and file index ,.