std::string blank(unsigned int offset=0){ const std:string oneOffset=" "; std::string r=oneOffset; for (unsigned int i=0;i!=offset;++i) r+=oneOffset; return r; } void printAxis(TAxis* x, const char* name, std::ostream & cff){ cff<GetNbins(); for (unsigned int i=1;i<=ix;i++){ cff<GetBinLowEdge(i)<<", "; } cff<GetBinUpEdge(ix); cff<<" }\n";//close the vdouble pset } void errorMatrix_toText(char * file="errorMatrix_Ratio_F1L2.root") { TFile * f = TFile::Open(file); TListIter kit(f->GetListOfKeys()); // TString cffName=file; // cffName+=".cff"; TString cffName="MuonErrorMatrixValues.cff"; filebuf fb; fb.open(cffName.Data(), ios::out); std::ostream cff(&fb); cff<<"block MuonErrorMatrixValues ={\n"; cff<ReadObj(); if(header){ printAxis(pf->GetXaxis(),"xAxis",cff); printAxis(pf->GetYaxis(),"yAxis",cff); printAxis(pf->GetZaxis(),"zAxis",cff); header=false;} cff<GetName()<<" = {\n"; cff<GetNbinsX(); unsigned int iY=pf->GetNbinsY(); unsigned int iZ=pf->GetNbinsZ(); for(unsigned int ix=1;ix<=iX;++ix){ for(unsigned int iy=1;iy<=iY;++iy){ for(unsigned int iz=1;iz<=iZ;++iz){ double v=pf->GetBinContent(ix,iy,iz); //saturate to one if (v<=1.)v=1.; cff<