Color option for TH2F->Draw

Jayoung Wu (jayoung@glue.umd.edu)
Mon, 10 Nov 1997 14:02:05 -0500 (EST)


{
// start program
Text_t label[40];
sprintf(label,"crystal bar energy distribution");

Float_t sum[10]={0.};
Axis_t ax,ay;
TH2F *h2;
layer1 = new TH2F("layer1",label,20,0,20,2,0,2);
layer2 = new TH2F("layer2",label,20,0,20,2,0,2);
layer3 = new TH2F("layer3",label,20,0,20,2,0,2);
layer4 = new TH2F("layer4",label,20,0,20,2,0,2);
layer5 = new TH2F("layer5",label,20,0,20,2,0,2);
layer6 = new TH2F("layer6",label,20,0,20,2,0,2);
layer7 = new TH2F("layer7",label,20,0,20,2,0,2);
layer8 = new TH2F("layer8",label,20,0,20,2,0,2);
layer9 = new TH2F("layer9",label,20,0,20,2,0,2);
layer10 = new TH2F("layer10",label,20,0,20,2,0,2);
Sum = new TH1F("Sum","Sum per layer",10,0,10);

for (int i = 0; i<40 ; i++){
ay = (int)(i/20.0);
ax = (i<20) ? i : i-20 ;

layer1 -> Fill(ax,ay,energy[0][i]);sum[0]+=energy[0][i];
layer2 -> Fill(ax,ay,energy[1][i]);sum[1]+=energy[1][i];
layer3 -> Fill(ax,ay,energy[2][i]);sum[2]+=energy[2][i];
layer4 -> Fill(ax,ay,energy[3][i]);sum[3]+=energy[3][i];
layer5 -> Fill(ax,ay,energy[4][i]);sum[4]+=energy[4][i];
layer6 -> Fill(ax,ay,energy[5][i]);sum[5]+=energy[5][i];
layer7 -> Fill(ax,ay,energy[6][i]);sum[6]+=energy[6][i];
layer8 -> Fill(ax,ay,energy[7][i]);sum[7]+=energy[7][i];
layer9 -> Fill(ax,ay,energy[8][i]);sum[8]+=energy[8][i];
layer10 -> Fill(ax,ay,energy[9][i]);sum[9]+=energy[9][i];
}

for(int i= 0; i<10; i++){
Sum ->Fill(i,sum[i]);
}
Sum->SetXTitle("layer number");
Sum->SetYTitle("Each Layer Energy Sum(GeV)");

TCanvas *mode1 = new TCanvas("mode1", "Energy distribution
Example",436,84,679,807);
mode1->Range(0,0,1,1);

// ------------>Primitives in pad: pad1
TPad *pad1 = new TPad("pad1", "Layer1",0.,0.5,0.5,1.);
pad1->Draw();
pad1->cd();
pad1->Range(-2.5,-0.25,22.5,2.25);

layer1->Draw("color");
pad1->Modified();
mode1->cd();


}//macro

*********************************************************************
Hi,
The above is part of my codes for 2D histogram with color option.
By layer1->Draw("color"), a box is drawn for each cell with color scale
(50 different color range) varying with contents. Actually I don't need
50 colors. Is there any way I can assign colors by contents?
For example, 0.0001<= content < 0.001 dark blue
0.001<= < 0.01 light blue
0.01 <= < 0.1 light green
0.1 <= < 1. dark green
1 <= < 10. yellow
10 <= < 100. red
100. <= < 1000. purple

---
Thanks,
Jayoung Wu