31 Double_t r1,r2,r3,r4,r5,r6,r7,r8,r9;
35 void generate_random(Int_t i) {
38 r2 = (2*dr*r->Rndm(i))-dr;
39 r3 = (2*dr*r->Rndm(i))-dr;
40 r5 = (2*dr*r->Rndm(i))-dr;
41 r6 = (2*dr*r->Rndm(i))-dr;
42 r8 = (2*dr*r->Rndm(i))-dr;
45 void parallelcoordtrans() {
46 Double_t x,y,z,u,v,w,a,b,c;
47 Double_t s1x, s1y, s1z;
48 Double_t s2x, s2y, s2z;
49 Double_t s3x, s3y, s3z;
52 TCanvas *c1 =
new TCanvas(
"c1",
"c1",0,0,900,1000);
55 TNtuple *nt =
new TNtuple(
"nt",
"Demo ntuple",
"x:y:z:u:v:w:a:b:c");
58 for (Int_t i=0; i<1500; i++) {
59 r->Sphere(s1x, s1y, s1z, 0.1);
60 r->Sphere(s2x, s2y, s2z, 0.2);
61 r->Sphere(s3x, s3y, s3z, 0.05);
64 nt->Fill(r1, r2, r3, r4, r5, r6, r7, r8, r9);
68 nt->Fill(s1x, s1y, s1z, s2x, s2y, s2z, r7, r8, r9);
72 nt->Fill(r1, r2, r3, r4, r5, r6, r7, s3y, r9);
76 nt->Fill(s2x-1, s2y-1, s2z, s1x+.5, s1y+.5, s1z+.5, r7, r8, r9);
80 nt->Fill(r1, r2, r3, r4, r5, r6, r7, r8, r9);
84 nt->Fill(s1x+1, s1y+1, s1z+1, s3x-2, s3y-2, s3z-2, r7, r8, r9);
88 nt->Fill(r1, r2, r3, r4, r5, r6, s3x, r8, s3z );
92 TParallelCoordVar* pcv;
97 nt->Draw(
"x:y:z:u:v:w:a:b:c",
"",
"para");
98 TParallelCoord* para1 = (TParallelCoord*)gPad->GetListOfPrimitives()->FindObject(
"ParaCoord");
99 para1->SetLineColor(25);
100 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"x"); pcv->SetHistogramHeight(0.);
101 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"y"); pcv->SetHistogramHeight(0.);
102 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"z"); pcv->SetHistogramHeight(0.);
103 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"a"); pcv->SetHistogramHeight(0.);
104 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"b"); pcv->SetHistogramHeight(0.);
105 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"c"); pcv->SetHistogramHeight(0.);
106 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"u"); pcv->SetHistogramHeight(0.);
107 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"v"); pcv->SetHistogramHeight(0.);
108 pcv = (TParallelCoordVar*)para1->GetVarList()->FindObject(
"w"); pcv->SetHistogramHeight(0.);
112 TColor *col26 = gROOT->GetColor(26); col26->SetAlpha(0.01);
114 nt->Draw(
"x:y:z:u:v:w:a:b:c",
"",
"para");
115 TParallelCoord* para2 = (TParallelCoord*)gPad->GetListOfPrimitives()->FindObject(
"ParaCoord");
116 para2->SetLineColor(26);
117 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"x"); pcv->SetHistogramHeight(0.);
118 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"y"); pcv->SetHistogramHeight(0.);
119 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"z"); pcv->SetHistogramHeight(0.);
120 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"a"); pcv->SetHistogramHeight(0.);
121 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"b"); pcv->SetHistogramHeight(0.);
122 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"c"); pcv->SetHistogramHeight(0.);
123 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"u"); pcv->SetHistogramHeight(0.);
124 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"v"); pcv->SetHistogramHeight(0.);
125 pcv = (TParallelCoordVar*)para2->GetVarList()->FindObject(
"w"); pcv->SetHistogramHeight(0.);
128 c1->Print(
"parallelcoordtrans.pdf");
129 c1->Print(
"parallelcoordtrans.svg");
132 c1->Print(
"parallelcoordtrans.gif");
133 c1->Print(
"parallelcoordtrans.jpg");
134 c1->Print(
"parallelcoordtrans.png");