ra4_stats  0341147a0dc35f80f4e12c6003afb76a38e2ed6e
utilities.hpp
Go to the documentation of this file.
1 #ifndef H_UTILITIES
2 #define H_UTILITIES
3 
4 #include <string>
5 #include <vector>
6 #include <stdexcept>
7 #include <iostream>
8 
9 #include "TTree.h"
10 
11 #include "RooWorkspace.h"
12 
13 #include "cut.hpp"
14 
15 #define ERROR(x) do{throw std::runtime_error(string("Error in file ")+__FILE__+" at line "+to_string(__LINE__)+" (in "+__func__+"): "+x);}while(false)
16 #define DBG(x) do{std::cerr << "In " << __FILE__ << " at line " << __LINE__ << " (in function " << __func__ << "): " << x << std::endl;}while(false)
17 
18 bool Contains(const std::string &str, const std::string &pat);
19 bool StartsWith(const std::string &str, const std::string &pat);
20 
21 void ReplaceAll(std::string &str, const std::string &orig, const std::string &rep);
22 
23 void RmCutOn(std::string &cut, const std::string &orig, const std::string &rep="1");
24 
25 size_t MaxIndex(const std::vector<double> &v);
26 
27 void DefineSet(RooWorkspace &w,
28  const std::string &set_name,
29  const std::vector<std::string> &var_names);
30 
31 void GetCountAndUncertainty(TTree &tree,
32  const Cut &cut,
33  double &count,
34  double &uncertainty);
35 
36 std::string execute(const std::string &cmd);
37 
38 std::vector<std::string> Tokenize(const std::string& input,
39  const std::string& tokens=" ");
40 
41 std::string ChangeExtension(std::string path, const std::string &new_ext);
42 
43 std::string MakeDir(std::string prefix);
44 
45 void parseMasses(const std::string &str, int &mglu, int &mlsp);
46 
47 template<typename T>
48 void Append(T &collection, const typename T::value_type &value){
49  collection.insert(collection.end(), value);
50 }
51 
52 #endif
void Append(T &collection, const typename T::value_type &value)
Definition: utilities.hpp:48
void RmCutOn(std::string &cut, const std::string &orig, const std::string &rep="1")
Definition: utilities.cpp:42
bool StartsWith(const std::string &str, const std::string &pat)
Definition: utilities.cpp:30
void parseMasses(const std::string &str, int &mglu, int &mlsp)
Definition: utilities.cpp:21
Definition: cut.hpp:8
void ReplaceAll(std::string &str, const std::string &orig, const std::string &rep)
Definition: utilities.cpp:34
bool Contains(const std::string &str, const std::string &pat)
Definition: utilities.cpp:26
std::string execute(const std::string &cmd)
Definition: utilities.cpp:87
size_t MaxIndex(const std::vector< double > &v)
Definition: utilities.cpp:51
std::string ChangeExtension(std::string path, const std::string &new_ext)
Definition: utilities.cpp:115
void DefineSet(RooWorkspace &w, const std::string &set_name, const std::vector< std::string > &var_names)
Definition: utilities.cpp:62
tuple mlsp
Definition: change_r.py:18
tuple mglu
Definition: change_r.py:17
void GetCountAndUncertainty(TTree &tree, const Cut &cut, double &count, double &uncertainty)
Definition: utilities.cpp:76
std::string MakeDir(std::string prefix)
Definition: utilities.cpp:126
std::vector< std::string > Tokenize(const std::string &input, const std::string &tokens=" ")
Definition: utilities.cpp:101