ROOTPWA
plotBWAmp.cc
Go to the documentation of this file.
1 
2 #include <iostream>
3 #include <string>
4 #include <complex>
5 
6 
8 
9 #include "TGraph.h"
10 #include "TCanvas.h"
11 #include "TApplication.h"
12 #include "TSystem.h"
13 #include "TROOT.h"
14 
15 #include <cstdlib>
16 
17 
18 using namespace std;
19 using namespace rpwa;
20 
21 int main(int argc, char** argv){
22 
23  breitWignerProductionAmp bw(atof(argv[1]),atof(argv[2]));
24  breitWignerProductionAmp bw2(atof(argv[3]),atof(argv[4]),std::complex<double>(-0.85,-0.1));
25 
26  TApplication app("", 0, 0);
27  gROOT->SetStyle("Plain");
28 
29  unsigned int n = 1000;
30  TGraph* intens = new TGraph(n);
31  TGraph* argand = new TGraph(n);
32 
33  double mstart = 0.1;
34  double mend = 2.5;
35  double mstep = (mend - mstart) / (double)n;
36 
37  for(unsigned int i=0; i<n; ++i) {
38 
39  double mass = mstart + i*mstep;
40 
41  complex<double> amp = bw.amp(mass) + bw2.amp(mass);
42  //cout << amp << endl;
43  intens->SetPoint(i, mass, norm(amp));
44  double rho = 1.;
45 
46  argand->SetPoint(i, rho*amp.real(), rho*amp.imag());
47 
48  }
49 
50  TCanvas* c = new TCanvas("c","Mass Dep",10,10,1200,600);
51  c->Divide(2,1);
52  c->cd(1);
53  intens->SetTitle("Intensity");
54  intens->Draw("APC");
55  c->cd(2);
56  argand->SetTitle("Argand plot");
57  argand->Draw("APC");
58  c->ForceUpdate();
59  c->Flush();
60 
61  gApplication->SetReturnFromRun(kFALSE);
62  gSystem->Run();
63 
64  return 0;
65 }
66