KaliVeda
Toolkit for HIC analysis
KVDataTransfer Class Referenceabstract

Detailed Description

Base class for transferring data between data repositories.

Created by KVClassFactory on Mon Sep 18 14:27:21 2006 Author: franklan

If the user has defined two or more repositories in her $HOME/.kvrootrc file, then it is possible to transfer files from one to the other by running one of the following commands on the local machine:

KVDataTransfer::NewTransfer("ccali", "default")->Run() // transfer from ccali to local machine
KVDataTransfer::NewTransfer("default", "ccali")->Run() // transfer from local machine to ccali
static KVDataTransfer * NewTransfer(const Char_t *source_rep, const Char_t *target_rep)
void Run() override

The same menu-driven approach as for submitting analysis tasks is used to allow the user to choose among the available datasets, systems and runs to transfer. The transferred files are copied in to the target repository, creating any missing directories which may be needed.

It is also possible to use a KVDataTransfer object interactively, in this case you should use:

KVDataTransfer* trans = KVDataTransfer::NewTransfer("ccali", "default");
trans->SetDataSet(...);
trans->SetDataType(...);
trans->SetRuns(...);
trans->TransferRuns();
void SetDataType(const Char_t *name)
void SetDataSet(KVDataSet *ds)
void SetRuns(const run_index_list &nl, Bool_t check=kTRUE)
Base class for transferring data between data repositories.
virtual void TransferRuns()

To use the BBFTP transfer facility, a bbftp client must be installed on the user's machine If the client is not located in the user's PATH, he should give the full path to the executable in the configuration, e.g. on WinXP with cygwin version of bbftp client:

ccali.DataRepository.FileTransfer.type: c:\cygwin\bin\bbftp.exe

Definition at line 51 of file KVDataTransfer.h.

#include <KVDataTransfer.h>

Inheritance diagram for KVDataTransfer:

Public Member Functions

 KVDataTransfer ()
 
void Run () override
 
virtual void TransferRuns ()
 
- Public Member Functions inherited from KVDataSetAnalyser
 KVDataSetAnalyser ()
 Default constructor. More...
 
virtual ~KVDataSetAnalyser ()
 Destructor. More...
 
void AddJobDescriptionList (TList *) override
 
void ChooseDataSet ()
 
void ChooseDataType ()
 
void ChooseRuns (KVDBSystem *system=nullptr, const Char_t *data_type="")
 
void ChooseSystem (const Char_t *data_type="")
 
void ClearRunList ()
 
TString ExpandAutoBatchName (const Char_t *format) const override
 
KVDBRun * GetAnalysedRun () const override
 
KVDBRunFile * GetAnalysedRunFile () const override
 
KVDBSystem * GetAnalysedSystem () const override
 
TString GetAnalyserClassNameForBatchJob () override
 
const KVDataSet * GetDataSet () const
 
const run_index_list & GetFullRunList () const
 
const KV2Body * GetKinematics () const override
 
Int_t GetNumberOfFilesToAnalyse () const override
 
const Char_t * GetRecognisedAutoBatchNameKeywords () const override
 
KVString GetRootDirectoryOfDataToAnalyse () const override
 Returns path to data to be analysed. More...
 
const run_index_list & GetRunList () const
 
const KVDBSystem * GetSystem () const
 
Bool_t IsChooseDataSet () const
 
Bool_t IsChooseRuns () const
 
Bool_t IsChooseSystem () const
 
Bool_t IsChooseTask () const
 
Bool_t ReadBatchEnvFile (const TString &filename) override
 
void Reset () override
 
void SetChooseDataSet (Bool_t yes=kTRUE)
 
void SetChooseRuns (Bool_t yes=kTRUE)
 
void SetChooseSystem (Bool_t yes=kTRUE)
 
void SetChooseTask (Bool_t yes=kTRUE)
 
void SetDataSet (const Char_t *name)
 
void SetDataSet (KVDataSet *ds)
 
void SetFullRunList (const run_index_list &nl)
 
void SetRuns (const run_index_list &nl, Bool_t check=kTRUE)
 
void SetSystem (KVDBSystem *syst)
 Set the System used in the analysis. More...
 
TString SystemBatchName () const
 
void WriteBatchEnvFile (const TString &jobname, Bool_t save=kTRUE) override
 
- Public Member Functions inherited from KVDataAnalyser
 KVDataAnalyser ()
 Default constructor. More...
 
virtual ~KVDataAnalyser ()
 Default destructor. More...
 
Bool_t BatchMode () const
 
virtual Bool_t CheckStatusUpdateInterval (Long64_t nevents) const
 
virtual Bool_t CheckTaskVariables ()
 
void ChooseNbEventToRead ()
 Ask user to set number of events to read. More...
 
void ChooseRunningMode ()
 
void ChooseUserClass ()
 Choose the user's analysis class. More...
 
void DeleteBatchStatusFile () const
 Delete batch status file (and backup - '.bak') for batch job. More...
 
void DoStatusUpdate (Long64_t nevents) const
 Print infos on events treated, disk usage, memory usage. More...
 
Bool_t DoUserClassFilesExist ()
 
virtual TTree * GetAnalysedTree () const
 
KVDataAnalysisTask * GetAnalysisTask () const
 
const Char_t * GetBatchName ()
 
const Char_t * GetBatchStatusFileName () const
 Returns full path to file used to store status of running batch jobs. More...
 
virtual const KVBatchSystem * GetBatchSystem ()
 
const KVString & GetDataType () const
 
const Char_t * GetLaunchDirectory () const
 
Long64_t GetNbEventToRead (void) const
 
KVDataAnalyser * GetParent () const
 
TString GetPathToFileInLaunchDirectory (const TString &) const
 
EProofMode GetProofMode () const
 
Double_t GetStatusUpdateInterval () const
 
virtual Long64_t GetTotalEntriesToRead () const
 
const UserClass & GetUserClass () const
 
KVString GetUserClassName ()
 
const KVString & GetUserClassOptions () const
 
const KVString & GetUserIncludes () const
 
const KVString & GetUserLibraries () const
 
Bool_t IsMenus () const
 
Bool_t IsQuit () const
 
Bool_t IsSubmit () const
 
Bool_t IsUserClassValid () const
 
virtual void postAnalysis ()
 
virtual void postEndAnalysis ()
 
virtual void postEndRun ()
 
virtual void postInitAnalysis ()
 
virtual void postInitRun ()
 
virtual void preAnalysis ()
 
virtual void preEndAnalysis ()
 
virtual void preEndRun ()
 
virtual void preInitAnalysis ()
 
virtual void preInitRun ()
 
virtual void RegisterUserClass (TObject *)
 
virtual void RunMenus ()
 Run data analyser in menu-driven mode. More...
 
Bool_t RunningInLaunchDirectory ()
 
virtual void SetAnalysedTree (TTree *)
 
void SetAnalysisTask (KVDataAnalysisTask *at)
 
virtual void SetAuxFileList (const KVUnownedList &)
 
void SetBatchMode (Bool_t on=kTRUE)
 
void SetBatchName (const Char_t *batchname)
 
void SetBatchSystem (KVBatchSystem *bs)
 
void SetDataType (const Char_t *name)
 
virtual void SetFileList (const KVUnownedList &)
 
void SetMenus (Bool_t on=kTRUE)
 
void SetNbEventToRead (Long64_t nb=0)
 
void SetParent (KVDataAnalyser *da)
 
void SetProofMode (EProofMode e)
 
void SetQuit (Bool_t yes=kTRUE)
 
void SetStatusUpdateInterval (double t)
 
void SetSubmit (Bool_t yes=kTRUE)
 
virtual void SetTriggerConditionsForRun (int)
 
void SetUserClass (const UserClass &kvs, Bool_t check=kTRUE)
 
void SetUserClassOptions (const Char_t *o="")
 
void SetUserIncludes (const Char_t *incDirs=0)
 
void SetUserLibraries (const Char_t *libs=0)
 
void UpdateBatchStatusFile (Int_t totev, Int_t evread, TString disk) const
 Update infos in batch status file. More...
 
void UseBaseClassSubmitTask ()
 
void WriteBatchInfo (TTree *)
 

Static Public Member Functions

static KVDataTransfer * NewTransfer (const Char_t *source_rep, const Char_t *target_rep)
 
- Static Public Member Functions inherited from KVDataAnalyser
static Bool_t AbortProcessingLoop ()
 
static KVDataAnalyser * GetAnalyser (const Char_t *plugin)
 
static Bool_t IsRunningBatchAnalysis ()
 
static void RunAnalyser (const Char_t *plugin="")
 
static void SetAbortProcessingLoop (Bool_t now=kTRUE)
 

Additional Inherited Members

- Public Types inherited from KVDataAnalyser
enum  EProofMode { None , Lite , Proof }
 

Constructor & Destructor Documentation

◆ KVDataTransfer()

KVDataTransfer::KVDataTransfer ( )

Default constructor. Use KVDataTransfer::NewTransfer to create a new data transfer object with the correct properties to transfer files between two repositories.

Definition at line 27 of file KVDataTransfer.cpp.

Member Function Documentation

◆ NewTransfer()

KVDataTransfer * KVDataTransfer::NewTransfer ( const Char_t *  source_rep,
const Char_t *  target_rep 
)
static

Creates a new data transfer object to transfer files between the two named data repositories.

The type of the created object depends on the values of the environment variables (defined in .kvrootrc file):

source_rep.DataRepository.FileTransfer.type
target_rep.DataRepository.FileTransfer.type

If either of these = bbftp, we create a KVDataTransferBBFTP object.

If source_rep.DataRepository.FileTransfer.type = xrd, we create a KVDataTransferXRD object.

By default (no type given), we use a KVDataTransferSFTP object. In fact, the type of object created is defined in .kvrootrc by the following plugins:

Plugins for data transfer between repositories

Used by KVDataTransfer::NewTransfer

Plugin.KVDataTransfer: sftp KVDataTransferSFTP KVMultiDet "KVDataTransferSFTP()" +Plugin.KVDataTransfer: bbftp KVDataTransferBBFTP KVMultiDet "KVDataTransferBBFTP()" +Plugin.KVDataTransfer: xrd KVDataTransferXRD KVMultiDet "KVDataTransferXRD()"

Definition at line 61 of file KVDataTransfer.cpp.

◆ Run()

void KVDataTransfer::Run ( )
overridevirtual

Perform file transfer The user selects runs which are available in the source repository in the same way as when performing data analysis Note that this will make the 'source' repository the current active repository (i.e. gDataRepository and gDataSetManager will correspond to source repository after execution of this command).

Reimplemented from KVDataAnalyser.

Definition at line 150 of file KVDataTransfer.cpp.

◆ TransferRuns()

void KVDataTransfer::TransferRuns ( )
virtual

Based on information gathered from user (see Run()), perform the transfer of files. Any missing directories in the target repository are created beforehand. After transfer, the available runlist for the target repository is updated

Definition at line 206 of file KVDataTransfer.cpp.