FairRoot/PandaRoot
thailand2017/makeTMVADemoData.C
Go to the documentation of this file.
1 #include "TFile.h"
2 #include "TNtuple.h"
3 #include "TRandom.h"
4 #include <iostream>
5 
6 using std::cout;
7 using std::endl;
8 
9 void makeTMVADemoData(int S = 10000, int B = 100000, double fac=3.0)
10 {
11  TFile *f = new TFile("demodata.root","RECREATE");
12 
13  TNtuple *ntp = new TNtuple("ntp","demo data","m:ev:v1:v2:v3:v4:v5:signal");
14 
15  double m0 = 1.864, sig0 = 0.02;
16  double mmin = m0 - 0.3, mmax = m0 + 0.3;
17 
18  double sv1m = 2, sv1s = 0.2;
19  double bv1m = 3, bv1s = 0.5;
20 
21  double sv2m = 4, sv2s = 0.7;
22  double bv2m = 3, bv2s = 0.5;
23 
24  double sv3m = 4, sv3s = 1.0;
25  double bv3m = 3, bv3s = 0.8;
26 
27  double sv4m = 1, sv4s = 0.5;
28  double bv4m = 3, bv4s = 0.8;
29 
30  double sv5m = 2, sv5s = 0.6;
31  double bv5m = 2, bv5s = 0.3;
32 
33  for (int i=0;i<S;++i)
34  {
35  if (i%1000 == 0) cout <<i<<endl;
36  double m = gRandom->Gaus(m0,sig0);
37 
38  double c1 = gRandom->Exp(3); // correlation of v2 v3
39  double c2 = gRandom->Gaus(1,2); // correlation of v2 v3
40 
41  double v1 = gRandom->Gaus(sv1m,sv1s*fac);
42  double v2 = gRandom->Gaus(sv2m+c1,sv2s*fac);
43  double v3 = gRandom->Gaus(sv3m-c1,sv3s*fac);
44 
45  double v4 = gRandom->Gaus(sv4m-c2,sv4s*fac);
46  double v5 = gRandom->Gaus(sv5m*c2-2*c1,sv5s*fac);
47 
48  ntp->Fill(m, i, v1, v2, v3, v4, v5, 1.0);
49  }
50 
51  for (int i=0;i<B;++i)
52  {
53  if (i%1000 == 0) cout <<i<<endl;
54  double m = gRandom->Rndm()*(mmax-mmin) + mmin;
55  double c1 = gRandom->Gaus(0,1); // correlation of v2 v3
56  double c2 = gRandom->Gaus(3,3); // correlation of v2 v3
57 
58  double v1 = gRandom->Gaus(bv1m,bv1s*fac);
59  double v2 = gRandom->Gaus(bv2m+c1+c2,bv2s*fac);
60  double v3 = gRandom->Exp(bv3s*fac+c1);
61  double v4 = gRandom->Gaus(bv4m+(c2*c1),bv4s*fac);
62  double v5 = gRandom->Gaus(bv5m*c1-c2,bv5s*fac);
63 
64  ntp->Fill(m, i+S, v1, v2, v3, v4, v5, 0.0);
65  }
66 
67  f->Write();
68  f->Close();
69 
70 }
Int_t i
Definition: run_full.C:25
__m128 m
Definition: P4_F32vec4.h:28
void makeTMVADemoData(int S=10000, int B=100000, double fac=3.0)
c2
Definition: plot_dirc.C:39
TFile * f
Definition: bump_analys.C:12
c1
Definition: plot_dirc.C:35
TVector3 v1
Definition: bump_analys.C:40
TVector3 v2
Definition: bump_analys.C:40