ndmspc 0.20250304.0
Loading...
Searching...
No Matches
Ndmspc::PointRun Class Reference

PointRun object. More...

#include <PointRun.h>

Inheritance diagram for Ndmspc::PointRun:

Public Member Functions

 PointRun (std::string macro="NdmspcPointRun.C")
 
virtual ~PointRun ()
 
bool Run (std::string filename, std::string userConfig="", std::string environment="", std::string userConfigRaw="", std::string binnings="", bool show=false, std::string outfilename="")
 
bool GenerateJobs (std::string jobs, std::string filename, std::string userConfig="", std::string environment="", std::string userConfigRaw="", std::string jobDir="/tmp/ndmspc-jobs", std::string binnings="")
 
json & Cfg ()
 Returns global config object.
 
json * CfgPtr ()
 Returns global config pointer to object.
 
TFile * GetInputFile () const
 Returns input file.
 
TList * GetInputList () const
 Returns list of input objects.
 
THnSparse * GetResultObject () const
 Returns retults hnsparse object.
 
Int_t * GetCurrentPoint ()
 Returns current point coordinates.
 
std::vector< std::string > GetCurrentPointLabels ()
 Returns current point labels.
 
json GetCurrentPointValue ()
 Return current point value in json.
 
TList * GetOutputList () const
 Returns output list.
 
void SetOutputList (TList *outList)
 Sets output list.
 
void SetSkipCurrentBin (bool scb=true)
 Sets flag for skupping bin.
 
void SetProcessExit (bool pe=true)
 Sets flag for ending process.
 

Static Public Member Functions

static void SetEnvironment (std::string env)
 Sets environment.
 
static bool Generate (std::string name="myAnalysis", std::string inFile="myFile.root", std::string inObjectName="myNDHistogram")
 
static bool Merge (int from=0, int to=1, std::string name="myAnalysis.json", std::string userConfig="", std::string environment="", std::string userConfigRaw="", std::string binning="", std::string cacheDir="${PWD}/.ndmspc_merge_cache", std::string fileOpt="?remote=1")
 Merge.
 

Private Member Functions

bool LoadConfig (std::string config, std::string userConfig="", std::string environment="", std::string userConfigRaw="", std::string binning="", bool show=false, std::string outfilename="")
 
bool Init (std::string extraPath="")
 
bool Finish ()
 
TList * OpenInputs ()
 
THnSparse * CreateResult ()
 
bool ApplyCuts ()
 
int ProcessSingleFile ()
 
bool ProcessSinglePoint ()
 
bool ProcessRecursive (int i)
 
bool ProcessRecursiveInner (Int_t i, std::vector< std::string > &n)
 
void OutputFileOpen ()
 
void OutputFileClose ()
 
int ProcessHistogramRun ()
 
bool GenerateRecursiveConfig (Int_t dim, std::vector< std::vector< int > > &ranges, json &cfg, std::string &outfilename, int &count)
 

Private Attributes

TMacro * fMacro {nullptr}
 Macro.
 
int fVerbose {0}
 Verbose level.
 
int fBinCount {0}
 Bin Count (TODO! rename to axis level maybe)
 
TFile * fInputFile {nullptr}
 Input file.
 
TList * fInputList {nullptr}
 Input list.
 
THnSparse * fResultObject {nullptr}
 Result object.
 
TFile * fCurrentOutputFile {nullptr}
 Current output file.
 
std::string fCurrentOutputFileName {}
 Current output filename.
 
TDirectory * fCurrentOutputRootDirectory {nullptr}
 Current output root directory.
 
Int_t fCurrentPoint [32]
 Current point.
 
std::vector< std::string > fCurrentPointLabels {}
 Current labels.
 
json fCurrentPointValue {}
 Current point value.
 
THnSparse * fCurrentProccessHistogram {nullptr}
 Current processed histogram.
 
TH1S * fMapAxesType {nullptr}
 Map axis type histogram.
 
std::vector< TAxis * > fCurrentProcessHistogramAxes {}
 Current process histogram axes.
 
std::vector< int > fCurrentProcessHistogramPoint {}
 Current process histoghram point.
 
bool fIsSkipBin {false}
 Flag to skip bin.
 
bool fIsProcessOk {false}
 Flag that process is ok.
 
bool fIsProcessExit {false}
 Flag to exit process.
 
TList * fOutputList {nullptr}
 Output list.
 

Static Private Attributes

static std::string fgEnvironment = ""
 Environment.
 

Detailed Description

PointRun object.

Author
Martin Vala mvala.nosp@m.@cer.nosp@m.n.ch

Definition at line 24 of file PointRun.h.

Constructor & Destructor Documentation

◆ PointRun()

Ndmspc::PointRun::PointRun ( std::string macro = "NdmspcPointRun.C")

Default constructor

Definition at line 29 of file PointRun.cxx.

References fMacro, and Ndmspc::Utils::OpenMacro().

◆ ~PointRun()

Ndmspc::PointRun::~PointRun ( )
virtual

Descructor

Definition at line 40 of file PointRun.cxx.

Member Function Documentation

◆ ApplyCuts()

bool Ndmspc::PointRun::ApplyCuts ( )
private

Apply cuts

TODO! port it to std::string

Definition at line 467 of file PointRun.cxx.

References fCurrentPoint, fCurrentProcessHistogramPoint, fInputList, fVerbose, and Ndmspc::Utils::GetBinFromBase().

Referenced by ProcessSinglePoint().

◆ Cfg()

json & Ndmspc::PointRun::Cfg ( )
inline

Returns global config object.

Definition at line 35 of file PointRun.h.

◆ CfgPtr()

json * Ndmspc::PointRun::CfgPtr ( )
inline

Returns global config pointer to object.

Definition at line 37 of file PointRun.h.

◆ CreateResult()

THnSparse * Ndmspc::PointRun::CreateResult ( )
private

◆ Finish()

bool Ndmspc::PointRun::Finish ( )
private

Finish

Definition at line 912 of file PointRun.cxx.

References fInputFile, fInputList, and fVerbose.

Referenced by ProcessSingleFile().

◆ Generate()

bool Ndmspc::PointRun::Generate ( std::string name = "myAnalysis",
std::string inFile = "myFile.root",
std::string inObjectName = "myNDHistogram" )
static

Generate point macro and config

Definition at line 1221 of file PointRun.cxx.

References Ndmspc::Utils::OpenFile().

◆ GenerateJobs()

bool Ndmspc::PointRun::GenerateJobs ( std::string jobs,
std::string filename,
std::string userConfig = "",
std::string environment = "",
std::string userConfigRaw = "",
std::string jobDir = "/tmp/ndmspc-jobs",
std::string binnings = "" )

Generates jobs

Definition at line 1090 of file PointRun.cxx.

References fMacro, fVerbose, GenerateRecursiveConfig(), LoadConfig(), and Ndmspc::Utils::Tokenize().

◆ GenerateRecursiveConfig()

bool Ndmspc::PointRun::GenerateRecursiveConfig ( Int_t dim,
std::vector< std::vector< int > > & ranges,
json & cfg,
std::string & outfilename,
int & count )
private

Generate config recursively

Definition at line 1194 of file PointRun.cxx.

References GenerateRecursiveConfig(), and Ndmspc::Core::SaveConfig().

Referenced by GenerateJobs(), and GenerateRecursiveConfig().

◆ GetCurrentPoint()

Int_t * Ndmspc::PointRun::GetCurrentPoint ( )
inline

Returns current point coordinates.

Definition at line 45 of file PointRun.h.

References fCurrentPoint.

◆ GetCurrentPointLabels()

std::vector< std::string > Ndmspc::PointRun::GetCurrentPointLabels ( )
inline

Returns current point labels.

Definition at line 47 of file PointRun.h.

References fCurrentPointLabels.

◆ GetCurrentPointValue()

json Ndmspc::PointRun::GetCurrentPointValue ( )
inline

Return current point value in json.

Definition at line 49 of file PointRun.h.

References fCurrentPointValue.

◆ GetInputFile()

TFile * Ndmspc::PointRun::GetInputFile ( ) const
inline

Returns input file.

Definition at line 39 of file PointRun.h.

References fInputFile.

◆ GetInputList()

TList * Ndmspc::PointRun::GetInputList ( ) const
inline

Returns list of input objects.

Definition at line 41 of file PointRun.h.

References fInputList.

◆ GetOutputList()

TList * Ndmspc::PointRun::GetOutputList ( ) const
inline

Returns output list.

Definition at line 51 of file PointRun.h.

References fOutputList.

◆ GetResultObject()

THnSparse * Ndmspc::PointRun::GetResultObject ( ) const
inline

Returns retults hnsparse object.

Definition at line 43 of file PointRun.h.

References fResultObject.

◆ Init()

bool Ndmspc::PointRun::Init ( std::string extraPath = "")
private

Init

Definition at line 78 of file PointRun.cxx.

References fVerbose, Ndmspc::Utils::GetCutsPath(), and Ndmspc::Utils::OpenFile().

Referenced by ProcessHistogramRun().

◆ LoadConfig()

bool Ndmspc::PointRun::LoadConfig ( std::string config,
std::string userConfig = "",
std::string environment = "",
std::string userConfigRaw = "",
std::string binning = "",
bool show = false,
std::string outfilename = "" )
private

Load config and set default PointRun parameters

Definition at line 47 of file PointRun.cxx.

References fVerbose, and Ndmspc::Core::LoadConfig().

Referenced by GenerateJobs(), and Run().

◆ OpenInputs()

TList * Ndmspc::PointRun::OpenInputs ( )
private

Open Input objects

Definition at line 159 of file PointRun.cxx.

References fInputFile, fInputList, fVerbose, and Ndmspc::Utils::OpenFile().

Referenced by ProcessSingleFile().

◆ OutputFileClose()

void Ndmspc::PointRun::OutputFileClose ( )
private

Closing output file

Definition at line 887 of file PointRun.cxx.

References fCurrentOutputFile, fCurrentOutputFileName, fCurrentOutputRootDirectory, fMapAxesType, fResultObject, and fVerbose.

Referenced by ProcessSinglePoint().

◆ OutputFileOpen()

void Ndmspc::PointRun::OutputFileOpen ( )
private

◆ ProcessHistogramRun()

int Ndmspc::PointRun::ProcessHistogramRun ( )
private

◆ ProcessRecursive()

bool Ndmspc::PointRun::ProcessRecursive ( int i)
private

Process run in recursion

Definition at line 594 of file PointRun.cxx.

References fInputList, fVerbose, ProcessRecursive(), and ProcessSinglePoint().

Referenced by ProcessRecursive(), and ProcessSingleFile().

◆ ProcessRecursiveInner()

bool Ndmspc::PointRun::ProcessRecursiveInner ( Int_t i,
std::vector< std::string > & n )
private

◆ ProcessSingleFile()

int Ndmspc::PointRun::ProcessSingleFile ( )
private

Process singe file

Definition at line 934 of file PointRun.cxx.

References Finish(), OpenInputs(), ProcessRecursive(), and ProcessSinglePoint().

Referenced by ProcessHistogramRun(), and Run().

◆ ProcessSinglePoint()

bool Ndmspc::PointRun::ProcessSinglePoint ( )
private

◆ Run()

bool Ndmspc::PointRun::Run ( std::string filename,
std::string userConfig = "",
std::string environment = "",
std::string userConfigRaw = "",
std::string binnings = "",
bool show = false,
std::string outfilename = "" )

Main run

Definition at line 1064 of file PointRun.cxx.

References fMacro, fVerbose, LoadConfig(), ProcessHistogramRun(), and ProcessSingleFile().

◆ SetEnvironment()

static void Ndmspc::PointRun::SetEnvironment ( std::string env)
inlinestatic

Sets environment.

Definition at line 59 of file PointRun.h.

References fgEnvironment.

◆ SetOutputList()

void Ndmspc::PointRun::SetOutputList ( TList * outList)
inline

Sets output list.

Definition at line 53 of file PointRun.h.

References fOutputList.

Referenced by ProcessRecursiveInner().

◆ SetProcessExit()

void Ndmspc::PointRun::SetProcessExit ( bool pe = true)
inline

Sets flag for ending process.

Definition at line 57 of file PointRun.h.

References fIsProcessExit.

◆ SetSkipCurrentBin()

void Ndmspc::PointRun::SetSkipCurrentBin ( bool scb = true)
inline

Sets flag for skupping bin.

Definition at line 55 of file PointRun.h.

References fIsSkipBin.

Member Data Documentation

◆ fBinCount

int Ndmspc::PointRun::fBinCount {0}
private

Bin Count (TODO! rename to axis level maybe)

Definition at line 71 of file PointRun.h.

Referenced by ProcessRecursiveInner(), and ProcessSinglePoint().

◆ fCurrentOutputFile

TFile* Ndmspc::PointRun::fCurrentOutputFile {nullptr}
private

Current output file.

Definition at line 75 of file PointRun.h.

Referenced by OutputFileClose(), OutputFileOpen(), and ProcessRecursiveInner().

◆ fCurrentOutputFileName

std::string Ndmspc::PointRun::fCurrentOutputFileName {}
private

Current output filename.

Definition at line 76 of file PointRun.h.

Referenced by OutputFileClose(), and OutputFileOpen().

◆ fCurrentOutputRootDirectory

TDirectory* Ndmspc::PointRun::fCurrentOutputRootDirectory {nullptr}
private

Current output root directory.

Definition at line 77 of file PointRun.h.

Referenced by OutputFileClose(), OutputFileOpen(), and ProcessRecursiveInner().

◆ fCurrentPoint

Int_t Ndmspc::PointRun::fCurrentPoint[32]
private

Current point.

Definition at line 78 of file PointRun.h.

Referenced by ApplyCuts(), CreateResult(), GetCurrentPoint(), and ProcessRecursiveInner().

◆ fCurrentPointLabels

std::vector<std::string> Ndmspc::PointRun::fCurrentPointLabels {}
private

Current labels.

Definition at line 79 of file PointRun.h.

Referenced by CreateResult(), GetCurrentPointLabels(), and ProcessRecursiveInner().

◆ fCurrentPointValue

json Ndmspc::PointRun::fCurrentPointValue {}
private

Current point value.

Definition at line 80 of file PointRun.h.

Referenced by GetCurrentPointValue(), and ProcessRecursiveInner().

◆ fCurrentProccessHistogram

THnSparse* Ndmspc::PointRun::fCurrentProccessHistogram {nullptr}
private

Current processed histogram.

Definition at line 81 of file PointRun.h.

Referenced by CreateResult(), and ProcessHistogramRun().

◆ fCurrentProcessHistogramAxes

std::vector<TAxis *> Ndmspc::PointRun::fCurrentProcessHistogramAxes {}
private

Current process histogram axes.

Definition at line 83 of file PointRun.h.

Referenced by CreateResult(), and ProcessHistogramRun().

◆ fCurrentProcessHistogramPoint

std::vector<int> Ndmspc::PointRun::fCurrentProcessHistogramPoint {}
private

Current process histoghram point.

Definition at line 84 of file PointRun.h.

Referenced by ApplyCuts(), CreateResult(), and ProcessHistogramRun().

◆ fgEnvironment

std::string Ndmspc::PointRun::fgEnvironment = ""
staticprivate

Environment.

Definition at line 89 of file PointRun.h.

Referenced by SetEnvironment().

◆ fInputFile

TFile* Ndmspc::PointRun::fInputFile {nullptr}
private

Input file.

Definition at line 72 of file PointRun.h.

Referenced by Finish(), GetInputFile(), and OpenInputs().

◆ fInputList

TList* Ndmspc::PointRun::fInputList {nullptr}
private

Input list.

Definition at line 73 of file PointRun.h.

Referenced by ApplyCuts(), CreateResult(), Finish(), GetInputList(), OpenInputs(), and ProcessRecursive().

◆ fIsProcessExit

bool Ndmspc::PointRun::fIsProcessExit {false}
private

Flag to exit process.

Definition at line 87 of file PointRun.h.

Referenced by ProcessRecursiveInner(), and SetProcessExit().

◆ fIsProcessOk

bool Ndmspc::PointRun::fIsProcessOk {false}
private

Flag that process is ok.

Definition at line 86 of file PointRun.h.

Referenced by ProcessRecursiveInner(), and ProcessSinglePoint().

◆ fIsSkipBin

bool Ndmspc::PointRun::fIsSkipBin {false}
private

Flag to skip bin.

Definition at line 85 of file PointRun.h.

Referenced by ProcessRecursiveInner(), ProcessSinglePoint(), and SetSkipCurrentBin().

◆ fMacro

TMacro* Ndmspc::PointRun::fMacro {nullptr}
private

Macro.

Definition at line 69 of file PointRun.h.

Referenced by GenerateJobs(), PointRun(), ProcessRecursiveInner(), and Run().

◆ fMapAxesType

TH1S* Ndmspc::PointRun::fMapAxesType {nullptr}
private

Map axis type histogram.

Definition at line 82 of file PointRun.h.

Referenced by CreateResult(), and OutputFileClose().

◆ fOutputList

TList* Ndmspc::PointRun::fOutputList {nullptr}
private

Output list.

Definition at line 88 of file PointRun.h.

Referenced by GetOutputList(), and SetOutputList().

◆ fResultObject

THnSparse* Ndmspc::PointRun::fResultObject {nullptr}
private

Result object.

Definition at line 74 of file PointRun.h.

Referenced by CreateResult(), GetResultObject(), OutputFileClose(), ProcessRecursiveInner(), and ProcessSinglePoint().

◆ fVerbose


The documentation for this class was generated from the following files: