Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-19 23:20:32

0001 //  .
0002 // ..: P. Chang, philip@physics.ucsd.edu
0003 
0004 #ifndef stringutil_h
0005 #define stringutil_h
0006 
0007 // Adopted to RooUtil by P. Chang (UCSD)
0008 
0009 // Originally written by
0010 // T. M. Hong, tmhong@hep.upenn.edu
0011 // P. Chang, pcchang2@illinois.edu
0012 // B. Cerio, bcc11@phy.duke.edu
0013 // https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/HiggsPhys/HSG3/WWDileptonAnalysisCode/HWWMVAShared/trunk/mvashared/src/MvaStringUtils.cxx
0014 
0015 // std
0016 #include <string>
0017 #include <sstream>
0018 #include <vector>
0019 #include <algorithm>
0020 #include <iostream>
0021 #include <stack>
0022 #include <set>
0023 #include <map>
0024 #include <tuple>
0025 
0026 // ROOT
0027 #include "TString.h"
0028 #include "TObjString.h"
0029 #include "TObjArray.h"
0030 
0031 namespace RooUtil {
0032   namespace StringUtil {
0033     typedef std::vector<TString> vecTString;
0034     typedef std::vector<vecTString> vecVecTString;
0035     // --------------------------------------------------------------------------
0036     // MvaStringUtils.cxx : python-like string manipulations
0037     vecTString filter(vecTString &vec, TString keyword);
0038 
0039     // -- Python-like functions
0040     void rstrip(TString &in, TString separator = "#");
0041     vecTString split(TString in, TString separator = " ");
0042     vecTString rsplit(TString in, TString separator = "=");
0043     TString join(vecTString in, TString joiner = ",", Int_t rm_blanks = 1);
0044     TString sjoin(TString in, TString separator = " ", TString joiner = ":", Int_t rm_blanks = 1);
0045     vecVecTString chunk(vecTString in, Int_t nchunk);
0046     TString formexpr(vecTString in);
0047     std::string parser(std::string input, int);
0048     void remove_parantheses(std::string &S);
0049     TString cleanparantheses(TString expr);
0050     TString format(TString tmp, std::vector<TString>);
0051   }  // namespace StringUtil
0052 }  // namespace RooUtil
0053 
0054 #endif