18 #include "Riostream.h" 30 TString
VecD2TString(std::vector<Double_t> parsedVector);
45 TString infoString =
"";
46 for (std::vector<TString>::iterator it = parsedVector.begin(); it != parsedVector.end(); ++it)
47 infoString += *it +
"|";
52 TString infoString =
"";
53 for (std::vector<Double_t >::iterator it = parsedVector.begin(); it != parsedVector.end(); ++it)
54 infoString += TString::Format(
"%.2g|",*it);
59 TString infoString =
"";
60 for (std::vector<Int_t >::iterator it = parsedVector.begin(); it != parsedVector.end(); ++it)
61 infoString += TString::Format(
"%d|",*it);
66 TString infoString =
"\n";
67 for(
auto i=0;i<matrix.GetNrows();++i) {
68 for(
auto j=0;j<matrix.GetNcols();++j) {
69 infoString += TString::Format(
"%d|", (Int_t) TMatrixDRow(matrix,i)[j]);
77 TString infoString =
"";
78 for (std::map<TString, TString>::iterator it = parsedMap.begin(); it != parsedMap.end(); it++)
79 infoString += it->first +
"=" + it->second +
"|";
84 TString input =
"gaus,W,fitFunction(1,2,3),E,10,200";
86 ::Info(
"AliParserTest",
"AliParser::Split(\"%s\")- IsOK", input.Data());
88 ::Error(
"AliParserTest",
"AliParser::Split(\"%s\")- FAILED", input.Data());
92 ::Info(
"AliParserTest",
"AliParser::Split(\"%s\")- IsOK", input.Data());
94 ::Error(
"AliParserTest",
"AliParser::Split(\"%s\")- FAILED", input.Data());
96 input =
"a,b,c(1,2,3),d";
98 ::Info(
"AliParserTest",
"AliParser::Split(\"%s\")- IsOK", input.Data());
100 ::Error(
"AliParserTest",
"AliParser::Split(\"%s\")- FAILED", input.Data());
102 input =
"a,b,c[1,2,3],d";
104 ::Info(
"AliParserTest",
"AliParser::Split(\"%s\")- IsOK", input.Data());
106 ::Error(
"AliParserTest",
"AliParser::Split(\"%s\")- FAILED", input.Data());
108 input =
"(1,2,3),4,5,6";
110 ::Info(
"AliParserTest",
"AliParser::Split(\"%s\")- IsOK", input.Data());
112 ::Error(
"AliParserTest",
"AliParser::Split(\"%s\")- FAILED", input.Data());
117 TString input =
"[1][2][3][4]";
119 ::Info(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- IsOK", input.Data());
121 ::Error(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- FAILED", input.Data());
123 input =
"(1)(2)(3)(4)";
125 ::Info(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- IsOK", input.Data());
127 ::Error(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- FAILED", input.Data());
129 input =
"(a(1,2,3))(b)(c)(d(4,5,6))";
131 ::Info(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- IsOK", input.Data());
133 ::Error(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- FAILED", input.Data());
136 input =
"((1,2,3))(2)(3)(4)";
138 ::Info(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- IsOK", input.Data());
140 ::Error(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- FAILED", input.Data());
142 input =
"abc(a)(b[10,20])(c[1,2,3])(d)";
144 ::Info(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- IsOK", input.Data());
146 ::Error(
"AliParserTest",
"AliParser::ExtractSurroundingBy(\"%s\")- FAILED", input.Data());
152 TString input =
"pi*<max>+345*<min>";
154 ::Info(
"AliParserTest",
"AliParser::Split(\"%s\")- IsOK", input.Data());
156 ::Error(
"AliParserTest",
"AliParser::Split(\"%s\")- FAILED", input.Data());
158 input =
"{marker-style:25,21,22,23; marker-color:1,2,4,5; }";
160 ::Info(
"AliParserTest",
"AliParser::ExtractBetween(\"%s\", \"marker-style:\")- IsOK", input.Data());
162 ::Error(
"AliParserTest",
"AliParser::ExtractBetween(\"%s\", \"marker-style:\")- FAILED", input.Data());
165 ::Info(
"AliParserTest",
"AliParser::ExtractBetween(\"%s\", \"marker-color:\")- IsOK", input.Data());
167 ::Error(
"AliParserTest",
"AliParser::ExtractBetween(\"%s\", \"marker-color:\")- FAILED", input.Data());
169 input =
"{marker-style:25,21,22,23; marker-color:rgb(1,2,3),#f0f0f0,1; }";
171 ::Info(
"AliParserTest",
"AliParser::ExtractBetween(\"%s\")- IsOK", input.Data());
173 ::Error(
"AliParserTest",
"AliParser::ExtractBetween(\"%s\")- FAILED", input.Data());
177 TString input =
"div=0";
179 ::Info(
"AliParserTest",
"AliParser::Parse(\"%s\")- IsOK", input.Data());
181 ::Error(
"AliParserTest",
"AliParser::Parse(\"%s\")- FAILED", input.Data());
183 input =
"class=[Mass,PtAll]";
185 ::Info(
"AliParserTest",
"AliParser::Parse(\"%s\")- IsOK", input.Data());
187 ::Error(
"AliParserTest",
"AliParser::Parse(\"%s\")- FAILED", input.Data());
189 input =
"div=0, class=[Mass,PtAll], xlim=[10.123,20.435]";
191 ::Info(
"AliParserTest",
"AliParser::Parse(\"%s\")- IsOK", input.Data());
193 ::Error(
"AliParserTest",
"AliParser::Parse(\"%s\")- FAILED", input.Data());
197 ::Info(
"AliParserTest",
"AliParser::Parse(\"%s\")- IsOK", input.Data());
199 ::Error(
"AliParserTest",
"AliParser::Parse(\"%s\")- FAILED", input.Data());
201 input =
"zlim=[],xlim=[10.123,20.435],ylim=,class=Mass";
203 ::Info(
"AliParserTest",
"AliParser::Parse(\"%s\")- IsOK", input.Data());
205 ::Error(
"AliParserTest",
"AliParser::Parse(\"%s\")- FAILED", input.Data());
206 input =
"zlim=(),xlim=(10.123,20.435),ylim=,class=Mass";
208 ::Info(
"AliParserTest",
"AliParser::Parse(\"%s\")- IsOK", input.Data());
210 ::Error(
"AliParserTest",
"AliParser::Parse(\"%s\")- FAILED", input.Data());
214 TString input =
"10:40:10:10";
216 ::Info(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- IsOK", input.Data());
218 ::Error(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- FAILED", input.Data());
221 ::Info(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- IsOK", input.Data());
223 ::Error(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- FAILED", input.Data());
226 ::Info(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- IsOK", input.Data());
228 ::Error(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- FAILED", input.Data());
231 ::Info(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- IsOK", input.Data());
233 ::Error(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- FAILED", input.Data());
234 input =
"1:4:1:1:1:1:1";
236 ::Info(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- IsOK", input.Data());
238 ::Error(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- FAILED", input.Data());
241 ::Info(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- IsOK", input.Data());
243 ::Error(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- FAILED", input.Data());
246 ::Info(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- IsOK", input.Data());
248 ::Error(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- FAILED", input.Data());
251 ::Info(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- IsOK", input.Data());
253 ::Error(
"AliParserTest",
"AliParser::Slice2IArray(\"%s\")- FAILED", input.Data());
258 TString input =
"10,20,30:50:10:10,60,70";
260 ::Info(
"AliParserTest",
"AliParser::Slice2Matrix(\"%s\")- IsOK", input.Data());
262 ::Error(
"AliParserTest",
"AliParser::Slice2Matrix(\"%s\")- FAILED", input.Data());
263 input =
"10,20,30,50,60,70";
265 ::Info(
"AliParserTest",
"AliParser::Slice2Matrix(\"%s\")- IsOK", input.Data());
267 ::Error(
"AliParserTest",
"AliParser::Slice2Matrix(\"%s\")- FAILED", input.Data());
TString TMatrixD2TString(TMatrixD matrix)
TString Map2TString(std::map< TString, TString >)
void AliParserTest_Split()
test methods of AliParser Example usage
static std::vector< TString > ExtractBetween(const char *inputString, const char *startStr, const char *endStr, Int_t verbose=0)
Extracts content between specified patterns (startStr, endStr).
void AliParserTest_Parse()
void AliParserTest_ExtractBetween()
static std::vector< TString > Split(const char *inputString, const char delimiter=',', Int_t verbose=0)
Splits input string to array according to specified char delimiter.
static std::vector< TString > ExtractSurroundingBy(const char *inputString, const char begin='(', const char end= ')', Int_t verbose=0)
Extracts content from specified parentheses.
static std::map< TString, TString > Parse(const char *inputString, Int_t verbose=0, std::vector< TString > defKeys=std::vector< TString >{})
Parses string with named arguments.
TString Vec2TString(std::vector< TString >)
TString VecD2TString(std::vector< Double_t > parsedVector)
void AliParserTest_Slice2Matrix()
static TMatrixD Slice2Matrix(const char *inputString, Int_t verbose=0)
Returns TMatrixD from input string.
void AliParserTest_Slice2IArray()
TString VecI2TString(std::vector< Int_t > parsedVector)
static std::vector< Int_t > Slice2IArray(const char *inputString)
Returns array according with python-like interface.
void AliParserTest_ExtractSurroundingBy()