diff --git a/BM1D.cc b/BM1D.cc index 93d0813..efca86b 100644 --- a/BM1D.cc +++ b/BM1D.cc @@ -4,6 +4,7 @@ #include "TApplication.h" #include "Analyse.hh" #include "BM1DSave.hh" +#include "Draw2D.hh" using namespace std; @@ -11,31 +12,72 @@ int main(int argc, char* argv[]) { Int_t nSteps, nRuns; Double_t p0,p1,x1,x2; - Double_t mu1, mu2, sigma1, sigma2; + Double_t mu1, mu2, sigma1, sigma2, percent; + Double_t j_mu1, j_sigma1;////////////////////// Double_t rat;////////////////////// - const char* fileName="input.root"; - char random_type='j'; + + int nGenerated, nop; + + const char* fileName="input.root"; + char random_type='u'; Int_t vis, typeOfRun; + nSteps=nRuns=vis=typeOfRun=0; + mu1=mu2=sigma1=sigma2=p0=p1=x1=x2=0.0; + if(argc==15) + { + nSteps=atoi(argv[1]); + nRuns=atoi(argv[2]); + p0=atof(argv[3]); + p1=atof(argv[4]); + x1=atof(argv[5]); + x2=atof(argv[6]); + mu1=atof(argv[7]); + mu2=atof(argv[8]); + sigma1=atof(argv[9]); + sigma2=atof(argv[10]); + fileName=argv[11]; + random_type=argv[12][0]; + vis=atoi(argv[13]); if((vis!=0)&&(vis!=1)){vis=0;} + typeOfRun=atoi(argv[14]); if((typeOfRun!=0)&&(typeOfRun!=1)&&(typeOfRun!=2)){typeOfRun=0;} + //todo fix parameters + percent = 0.99; + nGenerated = 7000; + nop = 30; + + j_mu1=-25; + j_sigma1=0.3; + rat=0.9; + } + else + { //default runs with less parameters - random_type = 'j'; - nSteps = 1000; - nRuns = 5; - p0 = 0; + random_type = 'g'; + nSteps = 2000; + nRuns = 1; + p0 = 0.5; p1 = 0; - x1 = 200000; - x2 = 200000; + x1 = 0; + x2 = 0; mu1 = 1; - mu2 = -6; - sigma1 = 0.8; - sigma2 = 0.2; + mu2 = 0; + sigma1 = 10; + sigma2 = 0; + + j_mu1=-25; + j_sigma1=0.3; + rat=0.9; + + percent = 0.99; + nGenerated = 8000; + nop = 30; + vis = 1; typeOfRun = 1; - j_mu1=-25; - j_sigma1=0.3; - rat=0.9; + } + TApplication App("tapp", &argc, argv); BM1DProcess *myBM1DProcess = new BM1DProcess(); @@ -49,17 +91,16 @@ int main(int argc, char* argv[]) case 'l': myBM1DProcess->Run(nRuns, nSteps, p0, x1, x2, mu1, sigma1, mu2, sigma2); break; - case 'j': + case 'j': myBM1DProcess->Run(nRuns, nSteps, p0, x1, x2, mu1, sigma1, mu2, sigma2, j_mu1, j_sigma1, rat); - //cout << "\nOK\n"; break; default: cout<<"ERROR! Wrong parameter for type of random generator! \n No run!"<Sumw2(); std::vector x = myBM1DProcess->GetX(); hJump->Fill(0); @@ -67,25 +108,22 @@ int main(int argc, char* argv[]) hJump->Fill(x[i]-x[i-1]); } hJump->Draw(); - - // std::cout << "Pontok szama: "<< x.size() << "\n"; + */ + + + Plotter* myPlotter = new Plotter(vis==1); + myPlotter->Plot(nRuns, nSteps, myBM1DProcess->GetT(), myBM1DProcess->GetX()); + Draw2D *myDraw2D = new Draw2D(nop, percent, nGenerated, myBM1DProcess->GetT(), myBM1DProcess->GetX()); //nop percent nruns - Plotter* myPlotter = new Plotter(vis==1); - myPlotter->Plot(nRuns, nSteps, myBM1DProcess->GetT(), myBM1DProcess->GetX()); - - - - - - // Analyse *myAnalyse = new Analyse(); - - // switch(random_type){ - // case 'g' : - // myAnalyse->AnalyseGaus(myBM1DProcess->GetT(),myBM1DProcess->GetX()); -// } -// BM1DSave *save = new BM1DSave(); -// save->SaveToTree(myPlotter->GetTmultiGraph(), p0, p1, nSteps, nRuns, x1, x2, mu1, mu2, sigma1, sigma2, myBM1DProcess->GetT(), myBM1DProcess->GetX(),fileName); + switch(random_type){ + case 'g' : + Analyse *myAnalyse = new Analyse(); + myAnalyse->AnalyseGaus(myBM1DProcess->GetT(),myBM1DProcess->GetX()); + myDraw2D -> Histo2D(); + } + BM1DSave *save = new BM1DSave(); + save->SaveToTree(myPlotter->GetTmultiGraph(), p0, p1, nSteps, nRuns, x1, x2, mu1, mu2, sigma1, sigma2, myBM1DProcess->GetT(), myBM1DProcess->GetX(),fileName); App.Run(); return 0; }