flavour
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
update.cpp
Go to the documentation of this file.
1 #include "TF2.h"
2 #include "TProfile3D.h"
3 #include "THStack.h"
4 #include "TColor.h"
5 #include "TROOT.h"
6 #include "TStyle.h"
7 #include "TGraph.h"
8 #include "TLatex.h"
9 #include "TFile.h"
10 #include "TH2F.h"
11 #include "TVector.h"
12 #include <iostream>
13 #include <fstream>
14 
15 using namespace std;
16 
20 int main(int argc, char* argv[]){
21  // Check the number of parameters
22 
23  if(argc < 4){
24  std::cerr<<"Usage: "<<argv[0]<<" file1 file2 output"<<std::endl;
25  return 1;}
26 
27  TH2F *limits4,*limits_tb_MR;
28  TH2F *limits_MR_MI,*limits_MR_McH,*limits_MI_McH;
29  TH2F *limits4_,*limits_tb_MR_;
30  TH2F *limits_MR_MI_,*limits_MR_McH_,*limits_MI_McH_;
31  TVectorD *vllmax=NULL,*vllmax_=NULL;
32 
33  uint npoints=200;
34 
35  TFile *f=new TFile(argv[2],"update");
36  if(!f->IsOpen()) cout<<"NOFILE"<<endl;
37  f->GetObject("vllmax;1",vllmax_);
38  f->GetObject("limits4;1",limits4_);
39  f->GetObject("limits_tb_MR;1",limits_tb_MR_);
40  f->GetObject("limits_MR_MI;1",limits_MR_MI_);
41  f->GetObject("limits_MR_McH;1",limits_MR_McH_);
42  f->GetObject("limits_MI_McH;1",limits_MI_McH_);
43 
44  if(!vllmax_) cout<<"ERROR"<<endl;
45 
46  TFile *f2=new TFile(argv[1],"update");
47  if(!f2->IsOpen()) cout<<"NOFILE"<<endl;
48 
49  f2->GetObject("vllmax;1",vllmax);
50  f2->GetObject("limits4;1",limits4);
51  f2->GetObject("limits_tb_MR;1",limits_tb_MR);
52  f2->GetObject("limits_MR_MI;1",limits_MR_MI);
53  f2->GetObject("limits_MR_McH;1",limits_MR_McH);
54  f2->GetObject("limits_MI_McH;1",limits_MI_McH);
55 
56  double c=(*vllmax_)[0];
57  if(c>(*vllmax)[0]) (*vllmax)[0]=c;
58  for(uint i=0;i<npoints;i++)
59  for(uint j=0;j<npoints;j++) {
60  c=limits4_->GetBinContent(i+1,j+1);
61  if(c>limits4->GetBinContent(i+1,j+1)) limits4->SetBinContent(i+1,j+1,c);
62  c=limits_tb_MR_->GetBinContent(i+1,j+1);
63  if(c>limits_tb_MR->GetBinContent(i+1,j+1)) limits_tb_MR->SetBinContent(i+1,j+1,c);
64  c=limits_MR_MI_->GetBinContent(i+1,j+1);
65  if(c>limits_MR_MI->GetBinContent(i+1,j+1)) limits_MR_MI->SetBinContent(i+1,j+1,c);
66  c=limits_MR_McH_->GetBinContent(i+1,j+1);
67  if(c>limits_MR_McH->GetBinContent(i+1,j+1)) limits_MR_McH->SetBinContent(i+1,j+1,c);
68  c=limits_MI_McH_->GetBinContent(i+1,j+1);
69  if(c>limits_MI_McH->GetBinContent(i+1,j+1)) limits_MI_McH->SetBinContent(i+1,j+1,c);
70  }
71  TFile *f3=new TFile(argv[3],"recreate");
72  if(!f3->IsOpen()) cout<<"NOFILE"<<endl;
73 
74  vllmax->Write("vllmax");
75  limits4->Write();
76  limits_MR_MI->Write();
77  limits_MR_McH->Write();
78  limits_MI_McH->Write();
79  limits_tb_MR->Write();
80 
81  f3->Close();
82  f2->Close();
83  f->Close();
84 
85 
86  return 0;
87 
88 }
89 
Definition: multivector.h:4
unsigned int uint
Definition: script.cpp:4
int main(int argc, char *argv[])
the main function takes the arguments file1 file2 output, merges the resuts in ROOT file1 and file2 p...
Definition: update.cpp:20