I am plotting projections of 2d histograms that pass a TCutG. I then THStack them together and plot them. The projections are TH1D* and they are 70% transparent, however only the first histogram in the THStack is actually plotted as 70% transparent.
Why is this? How can I make them all 70% transparent?
OR
How can I plot the grid lines on top of the THStack plots?
The code snippet that produces these plots is below
Thanks,
Jeremy
[code]/////////////////////////////// noMask create colorcoded ADC projection stack ///////////////////////////////////
printf("////////////////////// noMask create colorcoded ADC projection stack ///////////////////////////////////\n");
TLegend* noMask_pidCuts_stack_legend = new TLegend(stack_leg_x_start,0.6,stack_leg_x_stop,0.89);
noMask_pidCuts_stack_legend->SetTextFont(42);
noMask_pidCuts_stack_legend->SetTextSize(0.03);
noMask_pidCuts_stack_legend->AddEntry(noMaskAlphasEn,noMaskAlphasEn_percent_char,“f”);
noMask_pidCuts_stack_legend->AddEntry(noMaskFragsEn,noMaskFragsEn_percent_char,“f”);
noMask_pidCuts_stack_legend->AddEntry(noMaskFragsUnlikelyEn,noMaskFragsUnlikelyEn_percent_char,“f”);
noMask_pidCuts_stack_legend->AddEntry(noMaskAlphasEn_alphaCut_short_low,noMaskAlphasEn_alphaCut_short_low_percent_char,“f”);
noMask_pidCuts_stack_legend->AddEntry(noMaskAlphasEn_short_higher,noMaskAlphasEn_short_higher_percent_char,“f”);
noMask_pidCuts_stack_legend->AddEntry(noMaskAlphasEn_long,noMaskAlphasEn_long_percent_char,“f”);
noMask_pidCuts_stack_legend->AddEntry(noMaskAlphasEn_long_low,noMaskAlphasEn_long_low_percent_char,“f”);
noMask_pidCuts_stack_legend->AddEntry(noMaskAlphasEn_long_high,noMaskAlphasEn_long_high_percent_char,“f”);
THStack* noMask_pidCuts_En_Stack = new THStack(“noMask_pidCuts_En_Stack”,"");
noMask_pidCuts_En_Stack->Add(noMaskFragsEn);
noMask_pidCuts_En_Stack->Add(noMaskFragsUnlikelyEn);
noMask_pidCuts_En_Stack->Add(noMaskAlphasEn);
noMask_pidCuts_En_Stack->Add(noMaskAlphasEn_long);
noMask_pidCuts_En_Stack->Add(noMaskAlphasEn_long_low);
noMask_pidCuts_En_Stack->Add(noMaskAlphasEn_long_high);
noMask_pidCuts_En_Stack->Add(noMaskAlphasEn_short_higher);
noMask_pidCuts_En_Stack->Add(noMaskAlphasEn_alphaCut_short_low);
noMask_pidCuts_En_Stack->SetMinimum(0.5);
noMask_pidCuts_En_Stack->SetMaximum(maxY_energy);
noMask_pidCuts_En_Stack->Draw();
c1->SetLogx(0);c1->SetLogy(1);
noMask_pidCuts_En_Stack->GetXaxis()->SetTitle(“Track Energy [MeV]”);
noMask_pidCuts_En_Stack->GetXaxis()->CenterTitle();
noMask_pidCuts_En_Stack->GetXaxis()->SetRangeUser(0.4,15);
noMask_pidCuts_En_Stack->SetTitle(“noMask_pidCuts_En_Stack_logy”);
noMask_pidCuts_stack_legend->Draw();
c1->SaveAs(“noMask_pidCuts_En_Stack_logy_lowEn.png”);
c1->SetLogx(1);
noMask_pidCuts_En_Stack->SetTitle(“noMask_pidCuts_En_Stack_logxy”);
noMask_pidCuts_En_Stack->Draw();
noMask_pidCuts_En_Stack->GetXaxis()->SetRangeUser(0.4,160);
noMask_pidCuts_stack_legend->Draw();
c1->Update();
c1->SaveAs(“noMask_pidCuts_En_Stack_logxy_fullEn.png”);
/////////////////////////////// cft create colorcoded ADC projection stack ///////////////////////////////////
printf("////////////////////// cft create colorcoded ADC projection stack ///////////////////////////////////\n");
TLegend* cft_pidCuts_stack_legend = new TLegend(stack_leg_x_start,0.6,stack_leg_x_stop,0.89);
cft_pidCuts_stack_legend->SetTextFont(42);
cft_pidCuts_stack_legend->SetTextSize(0.03);
cft_pidCuts_stack_legend->AddEntry(cftAlphasEn,cftAlphasEn_percent_char,“f”);
cft_pidCuts_stack_legend->AddEntry(cftFragsEn,cftFragsEn_percent_char,“f”);
cft_pidCuts_stack_legend->AddEntry(cftFragsUnlikelyEn,cftFragsUnlikelyEn_percent_char,“f”);
cft_pidCuts_stack_legend->AddEntry(cftAlphasEn_alphaCut_short_low,cftAlphasEn_alphaCut_short_low_percent_char,“f”);
cft_pidCuts_stack_legend->AddEntry(cftAlphasEn_short_higher,cftAlphasEn_short_higher_percent_char,“f”);
cft_pidCuts_stack_legend->AddEntry(cftAlphasEn_long,cftAlphasEn_long_percent_char,“f”);
cft_pidCuts_stack_legend->AddEntry(cftAlphasEn_long_low,cftAlphasEn_long_low_percent_char,“f”);
cft_pidCuts_stack_legend->AddEntry(cftAlphasEn_long_high,cftAlphasEn_long_high_percent_char,“f”);
THStack* cft_pidCuts_En_Stack = new THStack(“cft_pidCuts_En_Stack”,"");
cft_pidCuts_En_Stack->Add(cftFragsEn);
cft_pidCuts_En_Stack->Add(cftFragsUnlikelyEn);
cft_pidCuts_En_Stack->Add(cftAlphasEn);
cft_pidCuts_En_Stack->Add(cftAlphasEn_long);
cft_pidCuts_En_Stack->Add(cftAlphasEn_long_low);
cft_pidCuts_En_Stack->Add(cftAlphasEn_long_high);
cft_pidCuts_En_Stack->Add(cftAlphasEn_short_higher);
cft_pidCuts_En_Stack->Add(cftAlphasEn_alphaCut_short_low);
cft_pidCuts_En_Stack->SetMaximum(maxY_energy);
cft_pidCuts_En_Stack->SetMinimum(0.5);
cft_pidCuts_En_Stack->Draw();
c1->SetLogx(0);c1->SetLogy(1);
cft_pidCuts_En_Stack->GetXaxis()->SetTitle(“Track Energy [MeV]”);
cft_pidCuts_En_Stack->GetXaxis()->CenterTitle();
cft_pidCuts_En_Stack->GetXaxis()->SetRangeUser(0.4,15);
cft_pidCuts_En_Stack->SetTitle(“cft_pidCuts_En_Stack_logy”);
cft_pidCuts_stack_legend->Draw();
c1->SaveAs(“cft_pidCuts_En_Stack_logy_lowEn.png”);
c1->SetLogx(1);
cft_pidCuts_En_Stack->SetTitle(“cft_pidCuts_En_Stack_logxy”);
cft_pidCuts_En_Stack->Draw();
cft_pidCuts_En_Stack->GetXaxis()->SetRangeUser(0.4,160);
cft_pidCuts_stack_legend->Draw();
c1->Update();
c1->SaveAs(“cft_pidCuts_En_Stack_logxy_fullEn.png”);
//////////////////// alpha/frag stacks comparison /////////////
printf("\n//////////////////// noMask stacks comparison /////////////\n\n");
TLegend* noMaskEnStack_legend = new TLegend(0.5,0.75,0.85,0.89);
noMaskEnStack_legend->SetTextFont(42);
noMaskEnStack_legend->SetTextSize(0.03);
noMaskEnStack_legend->AddEntry((TObject*)0,noMaskFragChar,"");
noMaskEnStack_legend->AddEntry((TObject*)0,noMaskAlphaChar,"");
THStack* noMaskEnStack = new THStack(“noMaskEnStack”,"");
noMaskFragsEn->SetFillColorAlpha(kViolet,0.3);
noMaskFragsEn->SetLineWidth((Width_t)1);
noMaskFragsEn->SetLineColor(kViolet);
noMaskAlphasEn->SetFillColorAlpha(kSpring,0.3);
noMaskAlphasEn->SetLineWidth((Width_t)1);
noMaskAlphasEn->SetLineColor(kSpring);
noMaskEnStack->Add(noMaskFragsEn);
noMaskEnStack->Add(noMaskAlphasEn);
noMaskEnStack->SetMinimum(0.5);
noMaskEnStack->SetMaximum(maxY_energy);
noMaskEnStack->Draw();
noMaskEnStack->GetXaxis()->SetRangeUser(0.4,15);
c1->SetLogx(0);c1->SetLogy(1);
noMaskEnStack->SetTitle(“noMaskLvEn_stack energy projection”);
noMaskEnStack->GetXaxis()->SetTitle(“Track Energy [MeV]”);
noMaskEnStack->GetXaxis()->CenterTitle();
c1->Update();
sprintf(c1PlotName,"%s.preamp%d.noMaskEn.lowEn.logy.png",actinide,preamp);
c1->SaveAs(c1PlotName,“recreate”);
noMaskEnStack->GetXaxis()->SetRangeUser(0.4,160);
c1->SetLogx(1);c1->SetLogy(1);
c1->Update();
sprintf(c1PlotName,"%s.preamp%d.noMaskEn.fullEn.logxy.png",actinide,preamp);
c1->SaveAs(c1PlotName,“recreate”);
printf("\n//////////////////// cft stacks comparison /////////////\n\n");
TLegend* cftEnStack_legend = new TLegend(0.5,0.75,0.85,0.89);
cftEnStack_legend->SetTextFont(42);
cftEnStack_legend->SetTextSize(0.03);
cftEnStack_legend->AddEntry((TObject*)0,cftFragChar,"");
cftEnStack_legend->AddEntry((TObject*)0,cftAlphaChar,"");
THStack* cftEnStack = new THStack(“cftEnStack”,"");
cftFragsEn->SetFillColorAlpha(kViolet,0.3);
cftFragsEn->SetLineWidth((Width_t)1);
cftFragsEn->SetLineColor(kViolet);
cftAlphasEn->SetFillColorAlpha(kSpring,0.3);
cftAlphasEn->SetLineWidth((Width_t)1);
cftAlphasEn->SetLineColor(kSpring);
cftEnStack->Add(cftFragsEn);
cftEnStack->Add(cftAlphasEn);
cftEnStack->SetMinimum(0.5);
cftEnStack->SetMaximum(maxY_energy);
cftEnStack->Draw();
c1->SetLogx(0);c1->SetLogy(1);
cftEnStack->GetXaxis()->SetRangeUser(0.4,15);
cftEnStack->SetTitle(“cftLvEn_stack energy projection”);
cftEnStack->GetXaxis()->SetTitle(“Track Energy [MeV]”);
cftEnStack->GetXaxis()->CenterTitle();
c1->Update();
sprintf(c1PlotName,"%s.preamp%d.cftEn.lowEn.logy.png",actinide,preamp);
c1->SaveAs(c1PlotName,“recreate”);
cftEnStack->GetXaxis()->SetRangeUser(0.4,160);
c1->SetLogx(1);c1->SetLogy(1);
c1->Update();
sprintf(c1PlotName,"%s.preamp%d.cftEn.fullEn.logxy.png",actinide,preamp);
c1->SaveAs(c1PlotName,“recreate”);[/code]