2 #ifndef Analysis_Tools_utilLib_h_ 3 #define Analysis_Tools_utilLib_h_ 17 #include "RooWorkspace.h" 21 #include <boost/filesystem.hpp> 23 template <
typename T1,
typename T2>
25 typedef std::pair<T1, T2>
type;
27 return a.second < b.second;
31 template <
typename T1,
typename T2>
33 typedef std::pair<T1, T2>
type;
35 return a.second > b.second;
42 std::ostringstream out;
43 out << std::setprecision(n) << a_value;
56 RooWorkspace*
GetRooWorkspace(
const std::string& path_to_file,
const std::string& workspace_name =
"workspace");
65 return (stat (name.c_str(), &buffer) == 0);
69 template <
typename T>
T*
GetFromTFile(TFile& file,
const std::string& obj_name){
70 auto *obj =
static_cast<T*
>(file.Get(obj_name.c_str()));
71 if(!obj)
throw std::invalid_argument(
"Invalid TObject name: " + obj_name);
74 template <
typename T>
T*
GetFromTFile(
const std::string& file_name,
const std::string& obj_name){
75 TFile
f(file_name.c_str(),
"READ");
77 auto *obj = GetFromTFile<T>(
f,obj_name);
T * GetFromTFile(TFile &file, const std::string &obj_name)
int returnMassPoint(const std::string &name)
bool file_exists(const std::string &name)
std::string to_string_with_precision(const T a_value, const int n=6)
void CheckZombieObjectInTFile(const TFile &file, const std::string &name)
bool operator()(type const &a, type const &b) const
bool findStrings(const std::string &input, const std::string &needful)
void CheckOutputDir(const std::string &oDir)
RooWorkspace * GetRooWorkspace(const std::string &path_to_file, const std::string &workspace_name="workspace")
void CheckZombie(const TFile &name)