13#include "KVUniqueNameList.h"
14#include "KVNumberList.h"
17#include "KVDataAnalysisTask.h"
47 mutable std::unique_ptr<TFile>
fDBase;
86 virtual ~ KVDataSet() {}
103 snom.
Form(
"KVDataSet.DataType.Subdir.%s",
type);
132 _dt.
Remove(TString::kBoth,
' ');
153 void SetName(
const char* name);
166 template <
typename FileType>
197 const Char_t* other_repos);
199 const Char_t* other_repos);
201 const Char_t* other_repos);
226 return GetDataSetEnv(
"ReconstructedEventClassName",
"KVReconstructedEvent");
#define ClassDef(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.
FileType * OpenRunfile(const Char_t *type, Int_t run)
virtual void SetUserGroups(const Char_t *groups)
TString fUserGroups
list of user groups allowed to read data
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
virtual const Char_t * GetReconstructedEventClassName() const
KVNumberList GetRunList_VersionSelection(const Char_t *type, const Char_t *version, KVDBSystem *sys=0)
void CheckMultiRunfiles(const Char_t *data_type)
KVNumberList GetRunList_StageSelection(const Char_t *other_type, const Char_t *base_type, KVDBSystem *sys=0, Bool_t OnlyCol=kFALSE)
void CheckUpToDate(const Char_t *data_type, const Char_t *other_repos)
TString fDBName
name of database
virtual void SetDataPathSubdir(const Char_t *s)
void SetDBFileName(const Char_t *name)
const Char_t * GetDBName() const
KVDataRepository * GetRepository() const
Get pointer to data repository in which dataset is stored.
void CopyRunfilesToRepository(const Char_t *type, KVNumberList runs, const Char_t *destrepo)
const Char_t * GetDBFileName() const
const Char_t * GetDataSetDir() const
void DeleteRunfiles(const Char_t *type, KVNumberList lrun="", Bool_t confirm=kTRUE)
KVNumberList GetUpdatableRuns(const Char_t *data_type, const Char_t *other_repos)
Bool_t fDataBaseUpdateInProgress
virtual void ls(Option_t *opt="") const
Print dataset information.
void DeleteRunfile(const Char_t *type, Int_t run, Bool_t confirm=kTRUE)
KVAvailableRunsFile * GetAvailableRunsFile(const Char_t *type) const
virtual void AddAvailableDataType(const Char_t *)
virtual TList * GetListOfAvailableSystems(const Char_t *datatype, KVDBSystem *systol=0)
Bool_t CheckRunfileUpToDate(const Char_t *data_type, Int_t run, KVDataRepository *other_repos)
void SetName(const char *name)
KVDataAnalysisTask * GetAnalysisTask(Int_t) const
virtual const Char_t * GetBaseFileName(const Char_t *type, Int_t run) const
virtual const Char_t * GetDataPathSubdir() const
Returns name of top-level directory in data repository used to store data files for this dataset.
virtual void SaveDataBase() const
virtual KVDataAnalysisTask * GetAnalysisTaskAny(const Char_t *keywords) const
KVList fAvailableRuns
list of KVAvailableRunsFile objects used to read infos on available runs
virtual void SetAnalysisTasks(const KVSeqCollection *)
KVNumberList GetRunList_DateSelection(const Char_t *type, TDatime *min=0, TDatime *max=0)
Bool_t HasCalibIdentInfos() const
virtual void CheckAvailable()
const Char_t * GetRunfileName(const Char_t *type, Int_t run) const
TDatime GetRunfileDate(const Char_t *type, Int_t run)
const Char_t * GetDataSetEnv(const Char_t *type, const Char_t *defval="") const
virtual Bool_t HasDataType(const Char_t *data_type) const
virtual Int_t GetNtasks() const
std::unique_ptr< TFile > fDBase
file containing database
virtual const Char_t * GetAvailableDataTypes() const
KVNumberList GetRunList(const Char_t *data_type, const KVDBSystem *sys=0) const
TString GetFullPathToDataSetFile(const Char_t *filename)
TString GetFullPathToRunfile(const Char_t *type, Int_t run) const
TString fDBFileName
name of file in which database is stored on disk
void CopyRunfilesFromRepository(const Char_t *type, KVNumberList runs, const Char_t *destdir)
void UpdateAvailableRuns(const Char_t *type)
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)
TObject * OpenRunfile(const Char_t *type, Int_t run)
TObject * open_runfile(const Char_t *type, Int_t run)
void CommitRunfile(const Char_t *type, Int_t run, TFile *file)
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
const Char_t * GetDataTypeSubdir(const Char_t *type) const
const Char_t * GetFullPathToDB() const
Returns full path to file where database is written on disk.
TFile * NewRunfile(const Char_t *type, Int_t run)
virtual Bool_t CheckUserCanAccess()
Bool_t fDBBuild
has the database been built by us ?
KVDataRepository * fRepository
repository in which dataset is stored
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)
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
virtual void Print(Option_t *opt="") const
static Bool_t FindDataSetFile(const TString &dataset, const Char_t *filename)
Bool_t CheckRunfileAvailable(const Char_t *type, Int_t run)
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.
Strings used to represent a set of ranges of values.
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