diff --git a/hepdata_converter/writers/root_writer.py b/hepdata_converter/writers/root_writer.py index 2b6a1ec..ce06f9b 100644 --- a/hepdata_converter/writers/root_writer.py +++ b/hepdata_converter/writers/root_writer.py @@ -40,11 +40,15 @@ def match(cls, independent_variables_map, dependent_variable): def _create_empty_hist(self, dependent_var_title, index, yval): + is_number_list = self.is_number_var(self.dependent_variable) + xval = [] for i in xrange(self.dim): xval.append([]) i_var = self.independent_variables[i]['values'] - for x in i_var: + for ix, x in enumerate(i_var): + if not is_number_list[ix] and 'labels' not in self.independent_variables[i]: + continue # skip defining bins for non-numeric y values unless alphanumeric bin labels are present if x['low'] not in xval[i]: xval[i].append(x['low']) if x['high'] not in xval[i]: @@ -235,7 +239,9 @@ def create_objects(self): for i in xrange(self.dim): xval.append([]) i_var = self.independent_variables[i]['values'] - for x in i_var: + for ix, x in enumerate(i_var): + if not is_number_list[ix] and 'labels' not in self.independent_variables[i]: + continue # skip defining bins for non-numeric y values unless alphanumeric bin labels are present if x['low'] not in xval[i]: xval[i].append(x['low']) if x['high'] not in xval[i]: