//////////////////////////////////// // KRATTA analysis assistant // for the Asy-Eos experiment // TKratAnalysisAssistant DECLARATION // Sep 2013 // revison 09/2013 // E.d.F ver 1.0 // sebastian.kupny@uj.edu.pl // Description: // This class allows you to get list of LMD files and create runlists // for runs which you want. // Only one thing has to be set: the path to dir with LMD files. // LMD filenames are read from config file set by hard. // For details study the code:) // Changes: // TODO: // - add an mechanism for defining excluded LMD files // (after loading the list). // - check existance of files - if not print Warnings. //////////////////////////////////// #ifndef KRATTA_ANALYSIS_ASSISTANT_H #define KRATTA_ANALYSIS_ASSISTANT_H //#include #include #include #include //#include #include #include #include #include #include #include #include #include #include #include "TClonesArray.h" #include "TSystem.h" #include "FairRootManager.h" enum System{ Unknown = 0, AuAu = 1, ZrZr = 2, RuRu = 3, Other = 4}; ////////////////////////////////////////////////////////////////////////// // // // TKratLmdFileInfo // // // // The TKratLmdFileInfo class is a container for storing basic // // information about the LMD files. // // // ////////////////////////////////////////////////////////////////////////// class TKratLmdFileInfo { private: TString fName; System fSystem; Int_t fRunNumber; TString fCreationDate; public: TString GetName() const{ return fName; }; void SetName( TString name){ fName = name; }; Int_t GetRunNumber() const{ return fRunNumber; }; void SetRunNumber( Int_t runNumber){ fRunNumber = runNumber; }; static bool Compare(TKratLmdFileInfo i,TKratLmdFileInfo j){ return (i.GetRunNumber() fListOfFiles; Int_t GetRunNumberFromFileName( TString A_string ); std::vector SplitString( std::string lineToSplit); Int_t LoadLmdFilesV1(); TString GetFullPathToFile( TString lmdFileName); TString CreateDefaultRunlistFileName ( Int_t firstRun, Int_t lastRun); public: TKratAnalysisAssistant(); TKratAnalysisAssistant( TString pathToLmdFile ); // Config - loads LMD filenames and merge them with given pathToLmdFile. // Note: Existiance of those files is not checked. void Config( TString pathToLmdFile ); void SetDebugLevel( const Int_t debugLevel){ fDebugLevel = debugLevel; }; Int_t GetDebugLevel( void ) const { return fDebugLevel; }; Int_t GetNoOfFilesInLastRunlist( void ) const { return fNoOfFilesInLastRunlist; }; void PrintLoadedLmdFiles(); void PrintLoadedLmdFilesSorted(); std::vector GetLmdFilesForRuns( Int_t first, Int_t last ); TString CreateRunlistForRuns ( Int_t first, Int_t last, TString runlistName = "" ); TString GetFileNameWithRunlist( void ){ return fNameOfLastRunlist; } Int_t RemoveLastRunlist() const; ClassDef(TKratAnalysisAssistant,1); }; #endif ///KRATTA_ANALYSIS_ASSISTANT_H