13 #include "KVUniqueNameList.h"
14 #include "KVNumberList.h"
17 #include "KVDataAnalysisTask.h"
19 #include "run_index.h"
48 mutable std::unique_ptr<TFile>
fDBase;
99 snom.
Form(
"KVDataSet.DataType.Subdir.%s",
type);
149 void SetName(
const char* name)
override;
163 template <
typename FileType>
196 const Char_t* other_repos);
198 const Char_t* other_repos);
223 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
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.
TString GetFullPathToRunfile(const KVString &type, const run_index_t &run) const
TString GetFullPathToDB() const
Returns full path to file where database is written on disk.
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)
TDatime GetRunfileDate(const KVString &type, const run_index_t &run)
virtual void AddAvailableDataType(const Char_t *)
TObject * OpenRunfile(const KVString &type, const run_index_t &run)
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 *)
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)
virtual const Char_t * GetDataPathSubdir() const
Returns name of top-level directory in data repository used to store data files for this dataset.
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
Returns kTRUE if this dataset is available for analysis, i.e. if any associated data files are stored...
virtual void MakeAnalysisClass(const Char_t *task, const Char_t *classname)
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
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
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)
const Char_t * GetDataTypeSubdir(const Char_t *type) const
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_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.
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 ,.