8 #ifndef __KVDATAANALYSER_H
9 #define __KVDATAANALYSER_H
14 #include "KVBatchSystem.h"
16 #include "KVNumberList.h"
19 #include "KVDBSystem.h"
101 UserClass fUserClass;
104 KVString fUserClassAlternativeBaseClass;
108 std::unique_ptr<TEnv> fBatchEnv;
113 static Bool_t fCleanAbort;
114 Bool_t fUseBaseClassSubmitTask;
120 void ScanWorkingDirectory(
TList**);
121 void CopyAnalysisResultsToLaunchDirectory();
123 virtual Bool_t CheckIfUserClassIsValid(
const KVString& alternative_base_class =
"");
124 TObject* GetInstanceOfUserClass(
const KVString& alternative_base_class =
"");
126 const Char_t* GetACliCMode();
128 void OpenBatchInfoFile(
const TString& filename)
134 if (!fBatchEnv || filename != fBatchEnv->GetRcName()) {
135 fBatchEnv.reset(
new TEnv(filename));
138 TEnv* GetBatchInfoFile()
const
140 return fBatchEnv.get();
142 virtual Bool_t PreSubmitCheck()
146 virtual void PostRunReset();
147 virtual Bool_t NeedToChooseWhatToDo()
const
151 virtual Bool_t NeedToChooseWhatToAnalyse()
const
156 virtual void ChooseWhatToAnalyse()
159 virtual void ChooseWhatToDo()
162 virtual Bool_t CheckWhatToAnalyseAndHow();
164 virtual void set_up_analyser_for_task(
KVDataAnalyser* the_analyser);
200 return fUserClass.name;
208 return fUserClassIsOK;
234 fBatchName = batchname;
238 return fBatchName.
Data();
243 fChoseRunMode =
kTRUE;
244 if (bs) fBatchSystem->
cd();
264 fStatusUpdateInterval = t;
268 return fStatusUpdateInterval;
300 Info(
"SetNbEventToRead",
"called with %lld", nb);
306 return nbEventToRead;
319 virtual void Reset();
356 fUserClassOptions = o;
360 return fUserClassOptions;
401 fUseBaseClassSubmitTask =
kTRUE;
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Relativistic binary kinematics calculator.
Base class for interface to a batch job management system.
void cd()
Make this the default batch system.
Description of an experimental run in database ,,.
Database class used to store information on different colliding systems studied during an experiment....
Manager class which sets up and runs data analysis tasks.
virtual void SetTriggerConditionsForRun(int)
virtual void SetAnalysedTree(TTree *)
virtual void postEndRun()
virtual TTree * GetAnalysedTree() const
Double_t GetStatusUpdateInterval() const
virtual KVDBRun * GetAnalysedRun() const
const UserClass & GetUserClass() const
void UseBaseClassSubmitTask()
void DoStatusUpdate(Long64_t nevents) const
Print infos on events treated, disk usage, memory usage.
virtual void SetFileList(const KVUnownedList &)
virtual TString ExpandAutoBatchName(const Char_t *format) const
void SetParent(KVDataAnalyser *da)
const KVString & GetUserLibraries() const
virtual void Run()
Check all task variables, then run analyser.
virtual void AddJobDescriptionList(TList *)
virtual void WriteBatchEnvFile(const TString &, Bool_t sav=kTRUE)
void SetBatchSystem(KVBatchSystem *bs)
void ChooseNbEventToRead()
Ask user to set number of events to read.
virtual void preInitAnalysis()
void SetUserClassOptions(const Char_t *o="")
Bool_t RunningInLaunchDirectory()
virtual const KVBatchSystem * GetBatchSystem()
virtual void postAnalysis()
void SetBatchMode(Bool_t on=kTRUE)
const KVString & GetDataType() const
void SetUserLibraries(const Char_t *libs=0)
static void SetAbortProcessingLoop(Bool_t now=kTRUE)
KVDataAnalyser * GetParent() const
void SetBatchName(const Char_t *batchname)
TString GetPathToFileInLaunchDirectory(const TString &) const
KVString GetUserClassName()
void WriteBatchInfo(TTree *)
virtual const KV2Body * GetKinematics() const
virtual void RunMenus()
Run data analyser in menu-driven mode.
virtual Bool_t CheckTaskVariables()
void SetSubmit(Bool_t yes=kTRUE)
Bool_t DoUserClassFilesExist()
const Char_t * GetBatchName()
const Char_t * GetLaunchDirectory() const
virtual void SetAuxFileList(const KVUnownedList &)
virtual TString GetAnalyserClassNameForBatchJob()
void SetAnalysisTask(KVDataAnalysisTask *at)
void SetProofMode(EProofMode e)
const KVString & GetUserIncludes() const
virtual const Char_t * GetRecognisedAutoBatchNameKeywords() const
virtual Bool_t CheckStatusUpdateInterval(Long64_t nevents) const
void SetQuit(Bool_t yes=kTRUE)
virtual void SubmitTask()
void SetUserClass(const UserClass &kvs, Bool_t check=kTRUE)
const Char_t * GetBatchStatusFileName() const
Returns full path to file used to store status of running batch jobs.
virtual void preAnalysis()
virtual Long64_t GetTotalEntriesToRead() const
KVDataAnalyser()
Default constructor.
virtual Int_t GetNumberOfFilesToAnalyse() const
const KVString & GetUserClassOptions() const
static KVDataAnalyser * GetAnalyser(const Char_t *plugin)
EProofMode GetProofMode() const
static Bool_t IsRunningBatchAnalysis()
void SetDataType(const Char_t *name)
virtual KVString GetRootDirectoryOfDataToAnalyse() const
virtual ~KVDataAnalyser()
Default destructor.
virtual void postInitRun()
static void RunAnalyser(const Char_t *plugin="")
void ChooseUserClass()
Choose the user's analysis class.
static Bool_t AbortProcessingLoop()
Long64_t GetNbEventToRead(void) const
virtual void postEndAnalysis()
virtual void preEndAnalysis()
void SetMenus(Bool_t on=kTRUE)
virtual Bool_t ReadBatchEnvFile(const TString &)
void DeleteBatchStatusFile() const
Delete batch status file (and backup - '.bak') for batch job.
void SetStatusUpdateInterval(double t)
virtual void preInitRun()
virtual void RegisterUserClass(TObject *)
void SetUserIncludes(const Char_t *incDirs=0)
Bool_t IsUserClassValid() const
KVDataAnalysisTask * GetAnalysisTask() const
virtual void postInitAnalysis()
virtual KVDBSystem * GetAnalysedSystem() const
void UpdateBatchStatusFile(Int_t totev, Int_t evread, TString disk) const
Update infos in batch status file.
void SetNbEventToRead(Long64_t nb=0)
Define and manage data analysis tasks.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Extended TList class which does not own its objects by default.
void AbstractMethod(const char *method) const
virtual void Info(const char *method, const char *msgfmt,...) const
const char * Data() const
Bool_t with_files() const
KVString full_path_dec(const KVString &other_dir="") const
KVString get_full_path(const KVString &, const KVString &="") const
KVString full_path_imp(const KVString &other_dir="") const