14 str.erase(
str.find_last_not_of(
" \n\r\t") + 1);
19 if (list->GetEntries() != 0) {
20 in = ((TObjString *)list->At(0))->GetString();
34 for (
unsigned i = 0;
i < (unsigned)list->GetEntries(); ++
i) {
35 TString
token = ((TObjString *)list->At(
i))->GetString();
38 if (
out.size() == 0) {
52 int size = left.Length();
65 for (
unsigned i = 0;
i <
in.size(); ++
i) {
67 ss <<
token << ((
i <
in.size() - 1) ? joiner :
"");
70 TString
out =
ss.str();
72 out.ReplaceAll(
" ",
"");
89 for (
unsigned i = 0;
i < vec.size(); ++
i) {
90 if (!vec[
i].Contains(keyword)) {
93 newvec.push_back(vec[
i]);
100 int bunch_size = vec.size() / nchunk + (vec.size() % nchunk > 0);
102 for (
size_t i = 0;
i < vec.size();
i += bunch_size) {
104 bunches.emplace_back(vec.begin() +
i, vec.begin() +
last);
112 in.erase(std::remove_if(
in.begin(),
in.end(), [](TString
s) {
return s.EqualTo(
"1"); }),
in.end());
131 for (
size_t i = 0;
i <
S.size();
i++) {
132 map<int, bool>::iterator
it;
133 if (
S.at(
i) ==
'(') {
135 }
else if (
S.at(
i) ==
')') {
141 S.erase(
S.begin() +
i);
142 S.erase(
S.begin() + (*it).first);
150 (*it).second =
false;
160 for (
auto &
token : tokens) {
164 tmp.ReplaceAll(Form(
"{%s}",
key.Data()),
val);
TString formexpr(vecTString in)
std::vector< vecTString > vecVecTString
vecTString split(TString in, TString separator=" ")
void rstrip(TString &in, TString separator="#")
TString cleanparantheses(TString expr)
vecVecTString chunk(vecTString in, Int_t nchunk)
vecTString rsplit(TString in, TString separator="=")
static std::string const input
vecTString filter(vecTString &vec, TString keyword)
TString format(TString tmp, std::vector< TString >)
void remove_parantheses(std::string &S)
std::vector< TString > vecTString
key
prepare the HTCondor submission files and eventually submit them
TString join(vecTString in, TString joiner=",", Int_t rm_blanks=1)
TString sjoin(TString in, TString separator=" ", TString joiner=":", Int_t rm_blanks=1)