11 #include "boost/filesystem.hpp" 12 #include "boost/property_tree/ptree.hpp" 13 #include "boost/property_tree/json_parser.hpp" 14 #include "boost/optional.hpp" 20 #include "Alignment/OfflineValidation/macros/trackSplitPlot.C" 26 namespace pt = boost::property_tree;
37 pt::read_json(
options.config, main_tree);
39 pt::ptree alignments = main_tree.get_child(
"alignments");
40 pt::ptree
validation = main_tree.get_child(
"validation");
41 pt::ptree global_style;
42 pt::ptree merge_style;
46 rlabel = merge_style.count(
"Rlabel") ? merge_style.get<
std::string>(
"Rlabel") : rlabel;
47 std::string cmslabel = merge_style.count(
"CMSlabel") ? merge_style.get<
std::string>(
"CMSlabel") :
"INTERNAL";
53 TString filesAndLabels;
54 for (
const auto& childTree : alignments) {
56 std::cout <<
"Node: " << childTree.first << std::endl;
57 for (
const auto& attr : childTree.second) {
58 std::cout <<
" Attribute: " << attr.first <<
" = " << attr.second.data() << std::endl;
67 Form(
"/MTSValidation_%s_%d.root=", childTree.first.c_str(), iov) +
68 childTree.second.get<
string>(
"title") +
69 Form(
"|%i|%i,", childTree.second.get<
int>(
"color"), childTree.second.get<
int>(
"style"));
70 filesAndLabels +=
toAdd;
73 std::cout <<
"filesAndLabels: " << filesAndLabels << std::endl;
85 #ifndef DOXYGEN_SHOULD_SKIP_THIS
int merge(int argc, char *argv[])
int main(int argc, char *argv[])
static void set(const PublicationStatus status, const Era era=NONE, const TString customTitle="", const TString customRightTitle="")
static TString legendheader
static TString legendoptions
static PublicationStatus toStatus(std::string _status)
void makePlots(Int_t nFiles, TString *files, TString *names, TString misalignment, Double_t *values, Double_t *phases, TString directory, Bool_t matrix[xsize][ysize])