ra4_macros  bede988c286599a3a84b77a4d788ac0a971e89f9
utilities.hpp
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 // utilities - Various functions used accross the code
3 //----------------------------------------------------------------------------
4 
5 #ifndef H_UTILITIES
6 #define H_UTILITIES
7 
8 #include <cstddef>
9 #include <cstdio>
10 #include <cmath>
11 
12 #include <string>
13 #include <vector>
14 
15 //#ifndef INT_ROOT
16 //#include "fastjet/PseudoJet.hh"
17 //#endif
18 
19 #include "TString.h"
20 #include "TTree.h"
21 #include "TGraph.h"
22 
23 typedef std::pair<int,double> int_double;
24 typedef std::pair<double,double> double_double;
25 const long double PI = acos(-1.L);
26 
27 float cross_section(const TString &file);
28 std::vector<TString> dirlist(const TString &folder,
29  const TString &inname="dir",
30  const TString &tag="");
31 bool eigen2x2(float matrix[2][2], float &eig1, float &eig2);
32 bool id_big2small(const int_double& left, const int_double& right);
33 bool dd_big2small(const double_double& left, const double_double& right);
34 bool dd_small2big(const double_double& left, const double_double& right);
35 long double DeltaPhi(long double phi1, long double phi2);
36 long double SignedDeltaPhi(long double phi1, long double phi2);
37 float dR(float eta1, float eta2, float phi1, float phi2);
38 TString RoundNumber(double num, int decimals, double denom=1.);
39 long double AddInQuadrature(long double x, long double y);
40 long double GetMass(long double e, long double px, long double py, long double pz);
41 long double GetMT(long double m1, long double pt1, long double phi1,
42  long double m2, long double pt2, long double phi2);
43 long double GetMT(long double pt1, long double phi1,
44  long double pt2, long double phi2);
45 bool Contains(const std::string& text, const std::string& pattern);
46 
47 std::vector<std::string> Tokenize(const std::string& input,
48  const std::string& tokens=" ");
49 void get_count_and_uncertainty(TTree& tree,
50  const std::string& cut,
51  double& count,
52  double& uncertainty);
53 void AddPoint(TGraph& graph, const double x, const double y);
54 
55 template<class T>
56 bool is_nan(const T &x){return x!=x;}
57 
58 template<class T>
59 short Sign(T val){
60  return (T(0) < val) - (val < T(0));
61 }
62 
63 std::string execute(const std::string &cmd);
64 std::string RemoveTrailingNewlines(std::string str);
65 
66 std::vector<double> LinearSpacing(size_t npts, double low, double high);
67 
68 //#ifndef INT_ROOT
69 //bool greater_m(const fastjet::PseudoJet &a, const fastjet::PseudoJet &b);
70 //std::vector<fastjet::PseudoJet> sorted_by_m(std::vector<fastjet::PseudoJet> pjs);
71 //#endif
72 
73 #endif
const long double PI
Definition: utilities.hpp:25
long double GetMT(long double m1, long double pt1, long double phi1, long double m2, long double pt2, long double phi2)
Definition: utilities.cpp:228
diff git a run rpv_bkg_syst py b run rpv_bkg_syst py index a run rpv_bkg_syst py b run rpv_bkg_syst py
Definition: log.txt:5
void AddPoint(TGraph &graph, const double x, const double y)
Definition: utilities.cpp:267
void get_count_and_uncertainty(TTree &tree, const std::string &cut, double &count, double &uncertainty)
Definition: utilities.cpp:257
bool dd_big2small(const double_double &left, const double_double &right)
Definition: utilities.cpp:167
bool dd_small2big(const double_double &left, const double_double &right)
Definition: utilities.cpp:163
std::string execute(const std::string &cmd)
bool eigen2x2(float matrix[2][2], float &eig1, float &eig2)
Definition: utilities.cpp:150
float cross_section(const TString &file)
Definition: utilities.cpp:32
std::vector< double > LinearSpacing(size_t npts, double low, double high)
Definition: utilities.cpp:292
TString RoundNumber(double num, int decimals, double denom=1.)
Definition: utilities.cpp:191
short Sign(T val)
Definition: utilities.hpp:59
float dR(float eta1, float eta2, float phi1, float phi2)
Definition: utilities.cpp:187
bool Contains(const std::string &text, const std::string &pattern)
bool id_big2small(const int_double &left, const int_double &right)
Definition: utilities.cpp:159
long double SignedDeltaPhi(long double phi1, long double phi2)
Definition: utilities.cpp:176
bool is_nan(const T &x)
Definition: utilities.hpp:56
tuple file
Definition: parse_card.py:238
std::string RemoveTrailingNewlines(std::string str)
Definition: utilities.cpp:285
tuple count
Definition: parse_card.py:261
std::pair< int, double > int_double
Definition: utilities.hpp:23
std::pair< double, double > double_double
Definition: utilities.hpp:24
long double DeltaPhi(long double phi1, long double phi2)
Definition: utilities.cpp:171
long double GetMass(long double e, long double px, long double py, long double pz)
Definition: utilities.cpp:223
std::vector< TString > dirlist(const TString &folder, const TString &inname="dir", const TString &tag="")
Definition: utilities.cpp:128
long double AddInQuadrature(long double x, long double y)
Definition: utilities.cpp:212
std::vector< std::string > Tokenize(const std::string &input, const std::string &tokens=" ")