Dynamic casting from RooWorkspace to ModelConfig

Hi.

I am trying to modify a standalone program that is compiled with CMake. I just wanted to find out why the dynamic casting from RooWorkspace to Modelconfig in line 1764 of WorkSpaceCalculator.cxx returns a null pointer when I add ModelConfig in the list of target_link_libraries in my CMakeLists.txt file but doesn’t when I dont add it?

The link to the project is in the following link:
https://cernbox.cern.ch/index.php/s/6c2126zTsPysV1A

Use the following command to run the project:

./StandardHypoTestInv …/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root -w ‘combined’ -d ‘obsData’

Hi,

@StephanH should help you, but he will he’s back only at the end of this month…

Hi,

You cannot dynamic cast a RooWorkspace in a ModelConfig, these are two completly different objects.

Lorenzo

Hi @moneta maybe I did not phrase my question correctly but If you read through my question carefully you will realize that the problem with the problem only comes in when I include ModelConfig in target_link_libraries in my CMakeLists.txt. If i don’t include ModelConfig in my CMakeLists.txt file then this is possible. If you look at the code below, modelSBName is an object of type RooWorkspace. I made an if statement to check if ws->genobj(modelSBName) returned a null pointer and it did not. So I concluded that there must be a problem with the dynamic casting. But again, if I dont include ModelConfig in my CMakeList.txt file then there is no problem.

sbModel = dynamic_cast<RooStats::ModelConfig*>(ws->genobj(modelSBName));

   if (!sbModel) {
      Error("SetupWorkspace","ModelConfig '%s' does not exist",modelSBName.Data());
      return 0;
   }

Xola

Hi,

I think modelSBName has to be a string or a char * , specifying the name of the ModelConfig object.
The RooWorkspace object is ws. Maybe try doing before ws->Print() and also print modelSBName, by doing cout << modelSBName << ends

Lorenzo

Hi @moneta.

So when I do ws->Print() for the case where I include ModelConfig in my CMakeLists.txt file, I get the following:

RooWorkspace(combined) combined contents

variables
---------
(Lumi,binWidth_obs_x_ATLAS_2016_HZdZd_4mu_0,binWidth_obs_x_ATLAS_2016_HZdZd_4mu_1,channelCat,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_0,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_1,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_2,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_3,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_4,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_5,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_6,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_7,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_8,gamma_stat_ATLAS_2016_HZdZd_4mu_bin_9,mu,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62,nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63,nominalLumi,obs_x_ATLAS_2016_HZdZd_4mu,weightVar)

p.d.f.s
-------
RooRealSumPdf::ATLAS_2016_HZdZd_4mu_model[ binWidth_obs_x_ATLAS_2016_HZdZd_4mu_0 * L_x_Signal_ATLAS_2016_HZdZd_4mu_overallSyst_x_Exp + binWidth_obs_x_ATLAS_2016_HZdZd_4mu_1 * L_x_tot-bkg_ATLAS_2016_HZdZd_4mu_overallSyst_x_StatUncert ] = 0.0095336
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10_poisMean ] = 0.304937
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11_poisMean ] = 0.184571
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12_poisMean ] = 0.174377
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13_poisMean ] = 0.162185
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14_poisMean ] = 0.154607
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15_poisMean ] = 0.14427
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16_poisMean ] = 0.140506
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17_poisMean ] = 0.230931
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18_poisMean ] = 0.217579
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19_poisMean ] = 0.17655
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20_poisMean ] = 0.187292
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21_poisMean ] = 0.175827
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22_poisMean ] = 0.132106
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23_poisMean ] = 0.163183
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24_poisMean ] = 0.184539
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25_poisMean ] = 0.156968
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26_poisMean ] = 0.126348
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27_poisMean ] = 0.113492
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28_poisMean ] = 0.106986
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29_poisMean ] = 0.0981197
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30_poisMean ] = 0.097648
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31_poisMean ] = 0.0973597
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32_poisMean ] = 0.0854024
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33_poisMean ] = 0.0948378
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34_poisMean ] = 0.0885417
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35_poisMean ] = 0.0894027
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36_poisMean ] = 0.0844039
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37_poisMean ] = 0.0807386
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38_poisMean ] = 0.0875313
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39_poisMean ] = 0.0867643
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40_poisMean ] = 0.0930639
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41_poisMean ] = 0.0952797
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42_poisMean ] = 0.0906741
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43_poisMean ] = 0.0896608
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44_poisMean ] = 0.0823928
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45_poisMean ] = 0.0751082
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46_poisMean ] = 0.0835241
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47_poisMean ] = 0.0778284
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48_poisMean ] = 0.06661
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49_poisMean ] = 0.0676389
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50_poisMean ] = 0.0663219
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51_poisMean ] = 0.0928983
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52_poisMean ] = 0.0870533
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53_poisMean ] = 0.0939916
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54_poisMean ] = 0.082361
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55_poisMean ] = 0.0824773
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56_poisMean ] = 0.051676
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57_poisMean ] = 0.0522804
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58_poisMean ] = 0.0553587
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59_poisMean ] = 0.0632637
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60_poisMean ] = 0.071767
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61_poisMean ] = 0.0752353
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62_poisMean ] = 0.106959
RooPoisson::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63_constraint[ x=nom_gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63 mean=gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63_poisMean ] = 0.102748
RooGaussian::lumiConstraint[ x=Lumi mean=nominalLumi sigma=0.043 ] = 1
RooProdPdf::model_ATLAS_2016_HZdZd_4mu[ lumiConstraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62_constraint * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63_constraint * ATLAS_2016_HZdZd_4mu_model(obs_x_ATLAS_2016_HZdZd_4mu) ] = 1.03488e-55
RooSimultaneous::simPdf[ indexCat=channelCat ATLAS_2016_HZdZd_4mu=model_ATLAS_2016_HZdZd_4mu ] = 1.03488e-55

functions
--------
RooProduct::L_x_Signal_ATLAS_2016_HZdZd_4mu_overallSyst_x_Exp[ 1 * Signal_ATLAS_2016_HZdZd_4mu_overallSyst_x_Exp ] = 0
RooProduct::L_x_tot-bkg_ATLAS_2016_HZdZd_4mu_overallSyst_x_StatUncert[ 1 * tot-bkg_ATLAS_2016_HZdZd_4mu_overallSyst_x_StatUncert ] = 0.0095336
RooHistFunc::Signal_ATLAS_2016_HZdZd_4mu_nominal[ depList=(obs_x_ATLAS_2016_HZdZd_4mu) depList=(obs_x_ATLAS_2016_HZdZd_4mu) ] = 0
RooProduct::Signal_ATLAS_2016_HZdZd_4mu_overallNorm_x_sigma_epsilon[ mu * Signal_ATLAS_2016_HZdZd_4mu_epsilon ] = 1
RooProduct::Signal_ATLAS_2016_HZdZd_4mu_overallSyst_x_Exp[ Signal_ATLAS_2016_HZdZd_4mu_nominal * Signal_ATLAS_2016_HZdZd_4mu_overallNorm_x_sigma_epsilon ] = 0
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_10_tau ] = 1.53792
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_11_tau ] = 4.50241
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_12_tau ] = 5.06488
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_13_tau ] = 5.8817
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_14_tau ] = 6.48957
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_15_tau ] = 7.47816
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_16_tau ] = 7.89342
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_17_tau ] = 2.8134
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_18_tau ] = 3.19137
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_19_tau ] = 4.93677
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_20_tau ] = 4.36753
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_21_tau ] = 4.97886
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_22_tau ] = 8.95137
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_23_tau ] = 5.8079
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_24_tau ] = 4.504
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_25_tau ] = 6.29076
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_26_tau ] = 9.80169
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_27_tau ] = 12.1885
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_28_tau ] = 13.7371
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_29_tau ] = 16.3638
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_30_tau ] = 16.5239
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_31_tau ] = 16.623
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_32_tau ] = 21.654
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_33_tau ] = 17.5278
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_34_tau ] = 20.134
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_35_tau ] = 19.7448
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_36_tau ] = 22.1733
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_37_tau ] = 24.2478
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_38_tau ] = 20.6054
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_39_tau ] = 20.9743
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_40_tau ] = 18.2089
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_41_tau ] = 17.3641
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_42_tau ] = 19.1903
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_43_tau ] = 19.6304
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_44_tau ] = 23.2773
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_45_tau ] = 28.0456
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_46_tau ] = 22.6465
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_47_tau ] = 26.1079
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_48_tau ] = 35.7038
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_49_tau ] = 34.6208
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_50_tau ] = 36.0161
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_51_tau ] = 18.2744
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_52_tau ] = 20.8341
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_53_tau ] = 17.8479
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_54_tau ] = 23.2954
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_55_tau ] = 23.2292
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_56_tau ] = 59.4325
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_57_tau ] = 58.0625
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_58_tau ] = 51.7666
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_59_tau ] = 39.599
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_60_tau ] = 30.7338
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_61_tau ] = 27.9503
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_62_tau ] = 13.7442
RooProduct::gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63_poisMean[ gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63 * gamma_stat_ATLAS_2016_HZdZd_4mu_bin_63_tau ] = 14.9081
ParamHistFunc::mc_stat_ATLAS_2016_HZdZd_4mu[ ] = 1
RooHistFunc::tot-bkg_ATLAS_2016_HZdZd_4mu_nominal[ depList=(obs_x_ATLAS_2016_HZdZd_4mu) depList=(obs_x_ATLAS_2016_HZdZd_4mu) ] = 0.0095336
RooProduct::tot-bkg_ATLAS_2016_HZdZd_4mu_overallSyst_x_Exp[ tot-bkg_ATLAS_2016_HZdZd_4mu_nominal * tot-bkg_ATLAS_2016_HZdZd_4mu_epsilon ] = 0.0095336
RooProduct::tot-bkg_ATLAS_2016_HZdZd_4mu_overallSyst_x_StatUncert[ mc_stat_ATLAS_2016_HZdZd_4mu * tot-bkg_ATLAS_2016_HZdZd_4mu_overallSyst_x_Exp ] = 0.0095336



named sets

I get the same when I dont include ModelConfig in target_link_libraries.

Also, when I do

 cout << modelSBName << end;

I get “ModelConfig” for both instances. I think ws is actually initialized in both instances. I think the problem has to do with the dynamic casting.

     if (ws) {
cout << "got it" << endl;
       kept.Add (file);
       wsfile= fileName[0];
       SetDefaults();
       Info("Run","Use workspace '%s' in %s",wsName.Data(),fileName[0].c_str());
       int ok= RunOverWorkspace();
       if (!saved.FindObject(ws)) kept.Add(ws);
       if (!ok) {
         cerr << "Error running the calculator - Exit" << endl;
         return 3;
       }

Hi,

the problem is not in the dynamic casting. The problem is most likely that there is no ModelConfig saved with the workspace.
If you don’t dynamic_cast, but checked the result of ws->genobj("ModelConfig") e.g. at the root prompt, I bet it would return a nullptr (please check).
Check the printout of the workspace, it doesn’t contain a ModelConfig. If nobody wrote a ModelConfig into the workspace, you cannot retrieve one. So either the saving of the ModelConfig is missing when the workspace is generated or you have to work without a ModelConfig.

Hi @StephanH

Thank you for the reply. So I tried your suggestion and found that, at the root prompt, the ROOT file does have a ModelConfig


generic objects
---------------
RooStats::ModelConfig::ModelConfig

I also did combined->genObj(“ModelConfig”) at the ROOT prompt and it did not return a nullptr

root [9] combined->genobj("ModelConfig")
(TObject *) 0x7fcecf9446c0

When I run the stand alone program without include ModelConfig in target_link_libraries in my CMakeLists.txt file the the program runs properly. As soon as I do include it then that is where the problem starts.

Also, when I include a copy of ModelConfig.h that’s located in my local directory instead of including the one in RooStats it gives me the same problems. This might actually be the root cause of the problem

That very much looks like a conflict between different versions of the library. Maybe there are two root versions installed, and it picks up the wrong one?
Also, you shouldn’t use ModelConfig in target_link_libraries. ModelConfig is in RooStats, so you should link against that, I guess.

Can you please explain what you mean by linking against ModelConfig?

But then I also included a copy of ModelConfig header file that’s in my source directory in my source code and it does the same thing. What could be the problem there?

You seem to be configuring a CMake project using target_link_libraries. That instructs CMake to link against whatever you pass there. Linking is e.g. explained here:
https://www.quora.com/What-does-it-mean-to-link-against-a-library

The problem may be that you get a ModelConfig from somewhere that’s inconsistent with the rest of your root distribution. So when you use target_link_libraries, you should use libRooStats.so to load the “proper” ModelConfig from your root distribution. Mixing in a “manual” version by compiling it yourself will likely lead to clashes. I suspect that this is what’s happening.

That’s a clear sign that you are pulling in a ModelConfig which is incompatible. Why are you putting it in the CMakeLists.txt if it’s working fine without?

So the real problem is that I am trying to run my project exclusively from my source directory using a subset of the ROOT libraries. I put together all the functions that the project extracts from root. The code runs from within my source directory until it reaches the point where it calls the RooSimultaneous::autoGenContext. So I have done a bit of digging and found that the reason the code stack jumps to the ROOT library might be because of the pdf that is inside the root file that I am running the code over. So ModelConfig is used to extract a pdf of type RooSimultaneous from my root file and assigns an address to that pdf of type RooSimultaneous from outside my project file. I think that if I can get ModelConfig to extract the pdf from my project instead of the ROOT libraries then the project could run from my project exclusively.

If you look at WorkspaceCalculator.cxx sbModel is of type RooStats::ModelConfig. nullModel in line 2333 is made to be equal to sbModel. nullModel->GetPdf() is then used as an argument in the function SetConstrained() which is called in line 2446. The function GetPdf() is of type ModelConfig. The type of the pdf that is extracted is of RooSimultaneous which is called from the ROOT libraries. The same address is used at runtime until the program is done.

I also noticed the following errors when I tried including ModelConfig in my CMakeLists.txt file

Error in <TBufferFile::CheckByteCount>: object of class string read too few bytes: 2 instead of 743400051
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 321344:
	743400051 for a possible maximum of 1093
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class string read too many bytes: 185 instead of -1093501184
Warning in <TBufferFile::CheckByteCount>: string::Streamer() not in sync with data on file /Users/cashcrusaders/Documents/UJ_LimitSetting_d/Input/test_24GeV/HZdZd4l_mZd24_GeV_combined_allsys_model.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: Byte count probably corrupted around buffer position 322443:
	-1093501184 for a possible maximum of -189
Error in <TBufferFile::CheckByteCount>: object of class RooStats::ModelConfig read too many bytes: 1387 instead of 241

Hello @Xola,

taking single classes out of ROOT is not supported by ROOT. I don’t know how to do this, so you need to try on your own.

Just one warning:
You will need a lot of classes, so don’t be surprised if you get lots of errors and crashes.

Yeah Im getting quite a bit of that :weary:. Thank you, I will consult with you when I zero in a bit more on the problem.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.