8 TFile *
f =
new TFile(fname);
10 TH2D *cdc_cov = (TH2D*)gROOT->FindObject(
"cdc_cov");
19 mout<<
"// The following was auto-generated from the gen_covariance_code.C"<<endl;
20 mout<<
"// macro using a ROOT file generated with the cdc_covariance_tree"<<endl;
21 mout<<
"// plugin."<<endl;
24 mout<<
"double GetCDCCovariance(int layer1, int layer2);"<<endl;
27 mout<<
"//-------------------------"<<endl;
28 mout<<
"// GetCDCCovariance"<<endl;
29 mout<<
"//-------------------------"<<endl;
30 mout<<
"double GetCDCCovariance(int layer1, int layer2)"<<endl;
32 mout<<
" if(layer1<1 || layer2>27 || layer2<1 || layer2>27)return 0.0;"<<endl;
33 mout<<
" if(layer2<layer1){"<<endl;
34 mout<<
" int tmp = layer1;"<<endl;
35 mout<<
" layer1 = layer2;"<<endl;
36 mout<<
" layer2 = tmp;"<<endl;
39 mout<<
" switch(layer1){"<<endl;
40 for(
int layer1=1; layer1<=24; layer1++){
41 mout<<
" case "<<layer1<<
":"<<endl;
42 for(
int layer2=layer1; layer2<=24; layer2++){
43 mout<<
" if(layer2=="<<layer2<<
")return "<<cdc_cov->GetBinContent(layer1, layer2)<<
";"<<endl;
45 mout<<
" break; // layer "<<layer1<<endl;
47 mout<<
" } // switch for layer1 "<<layer1<<endl;
49 mout<<
" return 0.0;"<<endl;
void gen_covariance_code(const char *fname="hd_root.root")