Test program for the classes TUnfoldDensity and TUnfoldBinning.
A toy test of the TUnfold package
This is an example of unfolding a two-dimensional distribution also using an auxiliary measurement to constrain some background
The example comprises several macros
- testUnfold5a.C create root files with TTree objects for signal, background and data
- write files testUnfold5_signal.root testUnfold5_background.root testUnfold5_data.root
- testUnfold5b.C create a root file with the TUnfoldBinning objects
- write file testUnfold5_binning.root
- testUnfold5c.C loop over trees and fill histograms based on the TUnfoldBinning objects
- read testUnfold5_binning.root testUnfold5_signal.root testUnfold5_background.root testUnfold5_data.root
- write testUnfold5_histograms.root
- testUnfold5d.C run the unfolding
- read testUnfold5_histograms.root
- write testUnfold5_result.root testUnfold5_result.ps
TUnfoldBinning "generator" has 115 bins [1,116] nTH1x=115
TUnfoldBinning "signal" has 25 bins [1,26] nTH1x=25
distribution: 25 bins
"ptgen" nbin=3 plus underflow plus overflow
"etagen" nbin=3 plus underflow plus overflow
TUnfoldBinning "background" has 90 bins [26,116] nTH1x=90
distribution: 90 bins
"ptrec" nbin=8 plus overflow
"etarec" nbin=10
#include <iostream>
#include <fstream>
using std::ofstream;
{
#define NBIN_PT_FINE 8
#define NBIN_ETA_FINE 10
#define NBIN_DISCR 4
#define NBIN_PT_COARSE 3
#define NBIN_ETA_COARSE 3
{3.5,4.0,4.5,5.0,6.0,7.0,8.0,10.0,13.0};
{ 4.0, 5.0, 7.0, 10.0};
{-3.,-2.5,-2.0,-1.,-0.5,0.0,0.5,1.,2.,2.5,3.};
{ -2.0, -0.5, 0.5, 2. };
false,
true
);
false,
false
);
false,
false
);
true,
true
);
true,
true
);
false,
true
);
false,
false
);
ofstream
xmlOut(
"testUnfold5binning.xml");
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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...
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.
Version 17.6, in parallel to changes in TUnfold
History:
- Version 17.5, updated for writing out XML code
- Version 17.4, updated for writing out XML code
- Version 17.3, updated for writing out XML code
- Version 17.2, updated for writing out XML code
- Version 17.1, in parallel to changes in TUnfold
- Version 17.0 example for multi-dimensional unfolding
This file is part of TUnfold.
TUnfold is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
TUnfold is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with TUnfold. If not, see http://www.gnu.org/licenses/.
- Author
- Stefan Schmitt DESY, 14.10.2008
Definition in file testUnfold5b.C.