77 TFile *binningSchemes=
new TFile(
"testUnfold5_binning.root",
"recreate");
81#define NBIN_ETA_FINE 10
85#define NBIN_PT_COARSE 3
86#define NBIN_ETA_COARSE 3
90 {3.5,4.0,4.5,5.0,6.0,7.0,8.0,10.0,13.0};
91 Double_t ptBinsCoarse[NBIN_PT_COARSE+1]=
92 { 4.0, 5.0, 7.0, 10.0};
94 Double_t etaBinsFine[NBIN_ETA_FINE+1]=
95 {-3.,-2.5,-2.0,-1.,-0.5,0.0,0.5,1.,2.,2.5,3.};
96 Double_t etaBinsCoarse[NBIN_ETA_COARSE+1]=
97 { -2.0, -0.5, 0.5, 2. };
100 Double_t discrBins[NBIN_DISCR+1]={0.,0.15,0.5,0.85,1.0};
108 detectorBinning->
AddBinning(
"detectordistribution");
109 detectorDistribution->
AddAxis(
"pt",NBIN_PT_FINE,ptBinsFine,
113 detectorDistribution->
AddAxis(
"eta",NBIN_ETA_FINE,etaBinsFine,
117 detectorDistribution->
AddAxis(
"discriminator",NBIN_DISCR,discrBins,
133 signalBinning->
AddAxis(
"ptgen",NBIN_PT_COARSE,ptBinsCoarse,
137 signalBinning->
AddAxis(
"etagen",NBIN_ETA_COARSE,etaBinsCoarse,
144 TF2 *userFunc=
new TF2(
"userfunc",
"1./x+0.2*y^2",ptBinsCoarse[0],
145 ptBinsCoarse[NBIN_PT_COARSE],
146 etaBinsCoarse[0],etaBinsCoarse[NBIN_ETA_COARSE]);
162 bgrBinning->
AddAxis(
"ptrec",NBIN_PT_FINE,ptBinsFine,
166 bgrBinning->
AddAxis(
"etarec",NBIN_ETA_FINE,etaBinsFine,
172 detectorBinning->
Write();
173 generatorBinning->
Write();
175 ofstream xmlOut(
"testUnfold5binning.xml");
181 delete binningSchemes;
A 2-Dim function with parameters.
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
static Int_t ExportXML(const TUnfoldBinning &binning, std::ostream &out, Bool_t writeHeader, Bool_t writeFooter, Int_t indent=0)
export a binning scheme to a stream in XML format
static void WriteDTD(const char *fileName="tunfoldbinning.dtd")
write dtd file
Binning schemes for use with the unfolding algorithm TUnfoldDensity.
void PrintStream(std::ostream &out, Int_t indent=0, int debug=0) const
print some information about this binning tree
void SetBinFactorFunction(Double_t normalisation, TF1 *userFunc=nullptr)
set normalisation factor and function which are used in calls to GetBinFactor()
TUnfoldBinning * AddBinning(TUnfoldBinning *binning)
add a TUnfoldBinning as the last child of this node
Bool_t AddAxis(const char *name, Int_t nBins, const Double_t *binBorders, Bool_t hasUnderflow, Bool_t hasOverflow)
add an axis with the specified bin borders