29 cout <<
"ERROR: cannot open file: " <<
fname << endl;
72 frameS->SetMarkerSize( 0.1 );
73 frameS->SetMarkerColor( 4 );
75 frameB->SetMarkerSize( 0.1 );
76 frameB->SetMarkerColor( 2 );
79 frameS->SetTitle(
var1+
" versus "+
var0+
" for signal and background" );
83 frameS->SetLabelSize( 0.04,
"X" );
84 frameS->SetLabelSize( 0.04,
"Y" );
85 frameS->SetTitleSize( 0.05,
"X" );
86 frameS->SetTitleSize( 0.05,
"Y" );
94 1 -
c->GetRightMargin(), 1 -
c->GetTopMargin() );
135 if (
size !=
v.GetSize())
136 cout <<
"<getGaussRnd> too short input vector: " <<
size <<
" " <<
v.GetSize() << endl;
159 const Int_t nvar = 4;
170 cout <<
"Creating branch var" <<
ivar+1 <<
" in signal tree" << endl;
183 Float_t xS[nvar] = { 0.2, 0.3, 0.5, 0.9 };
184 Float_t xB[nvar] = { -0.2, -0.3, -0.5, -0.6 };
185 Float_t dx[nvar] = { 1.0, 1.0, 1.0, 1.0 };
210 cout <<
"signal covariance matrix: " << endl;
212 cout <<
"background covariance matrix: " << endl;
225 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
230 for (
Int_t i=0; i<
N; i++) {
232 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
255 cout <<
"created data file: " <<
dataFile->GetName() << endl;
299 for (
Int_t i=0; i<
N; i++) {
301 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
314 cout <<
"created tree: " <<
tree->GetName() << endl;
341 for (
Int_t i=0; i<
N; i++) {
375 cout <<
"created tree: " <<
tree->GetName() << endl;
390 Float_t xS[nvar] = { 0.2, 0.3, 0.5, 0.9 };
391 Float_t xB[nvar] = { -0.2, -0.3, -0.5, -0.6 };
392 Float_t dx[nvar] = { 1.0, 1.0, 1.0, 1.0 };
405 cout <<
"created data file: " <<
dataFile->GetName() << endl;
414 const Int_t nvar = 4;
429 Float_t xS[nvar] = { 0.2, 0.3, 0.5, 0.9 };
430 Float_t xB[nvar] = { -0.2, -0.3, -0.5, -0.6 };
431 Float_t dx[nvar] = { 1.0, 1.0, 1.0, 1.0 };
455 cout <<
"signal covariance matrix: " << endl;
457 cout <<
"background covariance matrix: " << endl;
470 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
474 for (
Int_t i=0; i<
N; i++) {
476 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
493 cout <<
"created data file: " <<
dataFile->GetName() << endl;
500 const Int_t nvar = 4;
516 treeS->Branch(
"eta", &eta,
"eta/F" );
517 treeB->Branch(
"eta", &eta,
"eta/F" );
520 Float_t xS[nvar] = { 0.2, 0.3, 0.5, 0.9 };
521 Float_t xB[nvar] = { -0.2, -0.3, -0.5, -0.6 };
522 Float_t dx[nvar] = { 1.0, 1.0, 1.0, 1.0 };
554 cout <<
"signal covariance matrix: " << endl;
556 cout <<
"background covariance matrix: " << endl;
569 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
573 for (
Int_t i=0; i<
N; i++) {
575 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
578 eta = 2.5*2*(
R.Rndm() - 0.5);
596 cout <<
"created data file: " <<
dataFile->GetName() << endl;
603 const Int_t nvar = 4;
608 cout << endl << endl << endl;
609 cout <<
"please use .L createData.C++ if you want to run this MC generation" <<endl;
610 cout <<
"otherwise you will wait for ages!!! " << endl;
611 cout << endl << endl << endl;
617 else fileName =
Form(
"linCorGauss%d_weighted.root",seed);
632 Float_t xS[nvar] = { 0.2, 0.3, 0.4, 0.8 };
633 Float_t xB[nvar] = { -0.2, -0.3, -0.4, -0.5 };
634 Float_t dx[nvar] = { 1.0, 1.0, 1.0, 1.0 };
658 cout <<
"signal covariance matrix: " << endl;
660 cout <<
"background covariance matrix: " << endl;
673 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
686 weight = 0.8 / (
TMath::Gaus( ((*
v)[nvar-1]), 0, 1.09) );
701 if (i%10 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
715 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
738 for (
Int_t i=0;i<4;i++){
741 h[i]=
new TH1F(buffer,
"",100,-5,5);
743 hw[i] =
new TH1F(buffer,
"",100,-5,5);
744 hw[i]->SetLineColor(3);
749 for (
Int_t i=0;i<4;i++){
751 hw[i]->Fill(
xvar[i],weight);
758 for (
Int_t i=0;i<4;i++){
766 cout <<
"created data file: " <<
dataFile->GetName() << endl;
774 const Int_t nvar = 4;
775 std::vector<float>*
xvar[nvar];
784 xvar[
ivar] =
new std::vector<float>();
790 Float_t xS[nvar] = { 0.2, 0.3, 0.5, 0.9 };
791 Float_t xB[nvar] = { -0.2, -0.3, -0.5, -0.6 };
792 Float_t dx[nvar] = { 1.0, 1.0, 1.0, 1.0 };
816 cout <<
"signal covariance matrix: " << endl;
818 cout <<
"background covariance matrix: " << endl;
831 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
835 for (
Int_t i=0; i<
N; i++) {
837 if (i%100 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
862 cout <<
"created data file: " <<
dataFile->GetName() << endl;
873 const Int_t nvar = 4;
897 Double_t xB[nvar] = { -0.2, -0.3, -0.5, -0.6 };
922 cout <<
"signal covariance matrix: " << endl;
924 cout <<
"background covariance matrix: " << endl;
937 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
941 for (
Int_t i=0; i<
N; i++) {
943 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
964 cout <<
"created data file: " <<
dataFile->GetName() << endl;
973 const Int_t nvar = 4;
1005 for (
int i=0; i<20; i++) rho[i] = 0;
1021 cout <<
"signal covariance matrix: " << endl;
1023 cout <<
"background covariance matrix: " << endl;
1036 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
1040 for (
Int_t i=0; i<
N; i++) {
1042 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
1062 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1071 const Int_t nvar = 20;
1124 for (
Int_t i=0; i<
N; i++) {
1126 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
1145 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1152 const Int_t nvar = 20;
1167 Float_t xS[nvar] = { 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 };
1168 Float_t xB[nvar] = { -0.5, -0.5, -0.0, -0.0, -0.0, -0.0 };
1169 Float_t dx[nvar] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 };
1172 for (
Int_t i=0; i<50; i++) rho[i] = 0;
1194 cout <<
"signal covariance matrix: " << endl;
1196 cout <<
"background covariance matrix: " << endl;
1209 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
1213 for (
Int_t i=0; i<
N; i++) {
1215 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
1232 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1240 const Int_t nvar = 2;
1254 treeS->Branch(
"weight", &weight,
"weight/F" );
1255 treeB->Branch(
"weight", &weight,
"weight/F" );
1279 cout <<
"signal covariance matrix: " << endl;
1281 cout <<
"background covariance matrix: " << endl;
1294 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
1298 for (
Int_t i=0; i<
N; i++) {
1300 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
1305 if (
itype == 0) weight = 1.0;
1320 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1341 treeS->Branch(
"weight", &weight,
"weight/F");
1342 treeB->Branch(
"weight", &weight,
"weight/F");
1348 if (
nsig<10) cout <<
"xout = " <<
xout<<endl;
1370 const Int_t nvar = 2;
1406 for (
Int_t i=0; i<
N; i++) {
1441 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1449 const Int_t nvar = 2;
1472 while (
iev < nEvents){
1500 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1508 const Int_t nvar = 5;
1531 while (
iev < nEvents){
1543 for (
Int_t i=0;i<nvar;i++){
1570 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1579 const Int_t nvar = 4;
1602 while (
iev < nEvents){
1612 for (
Int_t i=0;i<nvar;i++){
1637 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1646 const Int_t nvar = 3;
1669 while (
iev < nEvents){
1677 for (
Int_t i=0;i<nvar;i++){
1700 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1709 const Int_t nvar = 2;
1732 while (
iev < nEvents){
1738 for (
Int_t i=0;i<nvar;i++){
1759 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1773 const Int_t nvar = 2;
1793 Double_t Centers[nvar][6] = {{-1,0,0,0,1,1},{0,0,0,0,0,0}};
1796 while (
iev < nEvents){
1797 for (
int idx=0; idx<6; idx++){
1798 if (idx==1 || idx==2 || idx==3)
type = 0;
1817 cout <<
"created data file: " <<
dataFile->GetName() << endl;
1841 if (
nsig<100) cout <<
"xout = " <<
xout<<endl;
1868 { 0. , 0.3, 0.5, 0.9 },
1869 { -0.2 , -0.3, 0.5, 0.4 },
1870 { 0.2 , 0.1, -0.1, 0.7 }} ;
1883 treeR->Branch(
"weight", &weight,
"weight/F");
1895 if (
ndat<30) cout <<
"cls=" <<
cls <<
" xvar = " <<
xvar[0]<<
" " <<
xvar[1]<<
" " <<
xvar[2]<<
" " <<
xvar[3]<<endl;
1914 const Int_t nvar = 4;
1925 treeS->Branch(
"arr",
xvar,
"arr[arrSize]/F" );
1927 treeB->Branch(
"arr",
xvar,
"arr[arrSize]/F" );
1930 Float_t xS[nvar] = { 0.2, 0.3, 0.5, 0.9 };
1931 Float_t xB[nvar] = { -0.2, -0.3, -0.5, -0.6 };
1932 Float_t dx[nvar] = { 1.0, 1.0, 1.0, 1.0 };
1956 cout <<
"signal covariance matrix: " << endl;
1958 cout <<
"background covariance matrix: " << endl;
1971 else {
x =
xB;
m =
sqrtMatB; cout <<
"- produce background" << endl; }
1975 for (
Int_t i=0; i<
N; i++) {
1977 if (i%1000 == 0) cout <<
"... event: " << i <<
" (" <<
N <<
")" << endl;
1997 cout <<
"created data file: " <<
dataFile->GetName() << endl;
2011 Float_t xS[nvar] = { 0.2, 0.3, 0.5, 0.9 };
2012 Float_t xB0[nvar] = { -0.2, -0.3, -0.5, -0.6 };
2013 Float_t xB1[nvar] = { -0.2, 0.3, 0.5, -0.6 };
2015 Float_t dx1[nvar] = { -1.0, -1.0, -1.0, -1.0 };
2034 cout <<
"created data file: " <<
dataFile->GetName() << endl;
#define R(a, b, c, d, e, f, g, h, i)
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
winID h TVirtualViewer3D TVirtualGLPainter char TVirtualGLPainter plot
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
TMatrixT< Double_t > TMatrixD
R__EXTERN TRandom * gRandom
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Array of doubles (64 bits per element).
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
1-D histogram with a float per channel (see TH1 documentation)
2-D histogram with a float per channel (see TH1 documentation)
This class displays a legend box (TPaveText) containing several legend entries.
This is the base class for the ROOT Random number generators.
Double_t Rndm() override
Machine independent random number generator.
const char * Data() const
TStyle objects may be created to define special styles.
A TTree represents a columnar dataset.
RVec< PromoteType< T > > acos(const RVec< T > &v)
Double_t Gaus(Double_t x, Double_t mean=0, Double_t sigma=1, Bool_t norm=kFALSE)
Calculates a gaussian function with mean and sigma.
Int_t Nint(T x)
Round to nearest integer. Rounds half integers to the nearest even integer.
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Double_t Log(Double_t x)
Returns the natural logarithm of x.
constexpr Double_t DegToRad()
Conversion from degree to radian: .
Double_t Sqrt(Double_t x)
Returns the square root of x.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
static uint64_t sum(uint64_t i)