#include #include #include "TTree.h" #include "TCanvas.h" int corr_2d(){ TCanvas *c1 = new TCanvas("c1","c1",500,350); TTree *t = new TTree("t", "2d corr tree"); Int_t fMatrix[3][3] = { {100, 101, 102}, {110, 111, 112}, {120, 121, 122} }; Int_t fResults[5][2] = { {200, 201}, {210, 211}, {220, 221}, {230, 231}, {240, 241}, }; t->Branch("fMatrix",fMatrix,"fMatrix[3][3]/I"); t->Branch("fResults",fResults,"fResults[5][2]/I"); t->Fill(); std::cout << "t->Scan(\"fMatrix[2][1]:fResults[4][1]:fMatrix[2][1]-fResults[4][1]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[2][1]:fResults[4][1]:fMatrix[2][1]-fResults[4][1]","","colsize=28"); std::cout << "t->Draw(\"fMatrix[2][1]-fResults[4][1]\");" << std::endl; t->Draw("fMatrix[2][1]-fResults[4][1]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[2][1]:fResults[4][1]>>h0\");" << std::endl; t->Draw("fMatrix[2][1]:fResults[4][1]>>h0","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[2][]:fResults[4][1]:fMatrix[2][]-fResults[4][1]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[2][]:fResults[4][1]:fMatrix[2][]-fResults[4][1]","","colsize=28"); std::cout << "t->Draw(\"fMatrix[2][]-fResults[4][1]\");" << std::endl; t->Draw("fMatrix[2][]-fResults[4][1]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[2][]:fResults[4][1]>>h1\",\"\",\"colz\");" << std::endl; t->Draw("fMatrix[2][]:fResults[4][1]>>h1","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[2][]:fResults[4][]:fMatrix[2][]-fResults[4][]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[2][]:fResults[4][]:fMatrix[2][]-fResults[4][]","","colsize=28"); t->Draw("fMatrix[2][]-fResults[4][]"); std::cout << "t->Draw(\"fMatrix[2][]-fResults[4][]\");" << std::endl; c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[2][]:fResults[4][]>>h2\",\"\",\"colz\");" << std::endl; t->Draw("fMatrix[2][]:fResults[4][]>>h2","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[][2]:fResults[][1]:fMatrix[][2]-fResults[][1]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[][2]:fResults[][1]:fMatrix[][2]-fResults[][1]","","colsize=28"); t->Draw("fMatrix[][2]-fResults[][1]"); std::cout << "t->Draw(\"fMatrix[][2]-fResults[][1]\");" << std::endl; t->Draw("fMatrix[][2]-fResults[][1]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[][2]-fResults[][1]>>h3\",\"\",\"colz\");" << std::endl; t->Draw("fMatrix[][2]:fResults[][1]>>h3","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[][2]:fResults[][]:fMatrix[][2]-fResults[][]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[][2]:fResults[][]:fMatrix[][2]-fResults[][]","","colsize=28"); std::cout << "t->Draw(\"fMatrix[][2]-fResults[][]\");" << std::endl; t->Draw("fMatrix[][2]-fResults[][]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[][2]:fResults[][]>>h4\"),\"\",\"colz\";" << std::endl; t->Draw("fMatrix[][2]:fResults[][]>>h4","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[][2]:fResults[3][]:fMatrix[][2]-fResults[3][]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[][2]:fResults[3][]:fMatrix[][2]-fResults[3][]","","colsize=28"); std::cout << "t->Draw(\"fMatrix[][2]-fResults[3][]\");" << std::endl; t->Draw("fMatrix[][2]-fResults[3][]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[][2]:fResults[3][]>>h5\",\"\",\"colz\");" << std::endl; t->Draw("fMatrix[][2]:fResults[3][]>>h5","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[][]:fResults[][]:fMatrix[][]-fResults[][]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[][]:fResults[][]:fMatrix[][]-fResults[][]","","colsize=28"); std::cout << "t->Draw(\"fMatrix[][]-fResults[][]\");" << std::endl; t->Draw("fMatrix[][]-fResults[][]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[][]:fResults[][]>>h6\",\"\",\"colz\");" << std::endl; t->Draw("fMatrix[][]:fResults[][]>>h6","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[2][]:fResults[][]:fMatrix[2][]-fResults[][]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[2][]:fResults[][]:fMatrix[2][]-fResults[][]","","colsize=28"); std::cout << "t->Draw(\"fMatrix[2][]-fResults[][]\");" << std::endl; t->Draw("fMatrix[2][]-fResults[][]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[2][]:fResults[][]>>h7\",\"\",\"colz\");" << std::endl; t->Draw("fMatrix[2][]:fResults[][]>>h7","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[1][]:fResults[][]:fMatrix[1][]-fResults[][]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[1][]:fResults[][]:fMatrix[1][]-fResults[][]","","colsize=28"); std::cout << "t->Draw(\"fMatrix[1][]-fResults[][]\");" << std::endl; t->Draw("fMatrix[1][]-fResults[][]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[1][]:fResults[][]>>h8\",\"\",\"colz\");" << std::endl; t->Draw("fMatrix[1][]:fResults[][]>>h8","","colz"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Scan(\"fMatrix[][]:fResults[][1]:fMatrix[][]-fResults[][1]\",\"\",\"colsize=28\");" << std::endl; t->Scan("fMatrix[][]:fResults[][1]:fMatrix[][]-fResults[][1]","","colsize=28"); std::cout << "t->Draw(\"fMatrix[][]-fResults[][1]\");" << std::endl; t->Draw("fMatrix[][]-fResults[][1]"); c1->Update(); c1->WaitPrimitive(); std::cout << "t->Draw(\"fMatrix[][]:fResults[][1]>>h9\",\"\",\"colz\");" << std::endl; t->Draw("fMatrix[][]:fResults[][1]>>h9","","colz"); return 0; }