Changeset 8136 for trunk/MagicSoft/Mars/mhflux
- Timestamp:
- 10/19/06 21:39:08 (18 years ago)
- Location:
- trunk/MagicSoft/Mars/mhflux
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/mhflux/MHAlpha.cc
r8016 r8136 885 885 } 886 886 887 void MHAlpha::DrawNicePlot(Bool_t newc, const char *title) 888 { 889 if (!newc && !fDisplay) 890 return; 891 892 if (!fOffData) 893 return; 894 895 // Open and setup canvas/pad 896 TCanvas &c = newc ? *new TCanvas : fDisplay->AddTab("ThetsSq"); 897 898 c.SetBorderMode(0); 899 c.SetFrameBorderMode(0); 900 c.SetFillColor(kWhite); 901 902 c.SetLeftMargin(0.12); 903 c.SetRightMargin(0.01); 904 c.SetBottomMargin(0.16); 905 c.SetTopMargin(0.18); 906 907 c.SetGridy(); 908 909 gStyle->SetOptStat(0); 910 911 // Get on-data 912 TH1D *hon = (TH1D*)fHist.ProjectionZ("Proj", -1, 9999, -1, 9999, "E"); 913 hon->SetDirectory(NULL); 914 hon->SetBit(kCanDelete); 915 hon->SetMarkerSize(0); 916 hon->SetLineWidth(2); 917 hon->SetLineColor(kBlack); 918 hon->SetMarkerColor(kBlack); 919 920 // Get off-data 921 TH1D *hoff = 0; 922 if (fOffData) 923 { 924 hoff = (TH1D*)fOffData->ProjectionZ("ProjOff", -1, 9999, -1, 9999, "E"); 925 hoff->SetDirectory(NULL); 926 hoff->SetBit(kCanDelete); 927 hoff->SetFillColor(17); 928 hoff->SetMarkerSize(0); 929 hoff->SetLineColor(kBlack); 930 hoff->SetMarkerColor(kBlack); 931 } 932 933 // Setup plot which is drawn first 934 TH1D *h = hoff ? hoff : hon; 935 h->GetXaxis()->SetLabelSize(0.06); 936 h->GetXaxis()->SetTitleSize(0.06); 937 h->GetXaxis()->SetTitleOffset(0.95); 938 h->GetYaxis()->SetLabelSize(0.06); 939 h->GetYaxis()->SetTitleSize(0.06); 940 h->GetYaxis()->CenterTitle(); 941 h->SetYTitle("Counts"); 942 h->SetTitleSize(0.07); 943 h->SetTitle(""); 944 945 const Double_t imax = fFit.GetSignalIntegralMax(); 946 if (imax<1) 947 h->GetXaxis()->SetRangeUser(0, 0.6*0.6); 948 949 // scale off-data 950 fFit.Scale(*hoff, *hon); 951 952 hon->SetMinimum(0); 953 hoff->SetMinimum(0); 954 955 // draw data 956 if (hoff) 957 { 958 hoff->SetMaximum(TMath::Max(hon->GetMaximum(),hoff->GetMaximum())*1.1); 959 hoff->Draw("bar"); 960 hon->Draw("same"); 961 } 962 else 963 { 964 hon->SetMaximum(); 965 hon->Draw(); 966 } 967 968 // draw a preliminary tag 969 TLatex text; 970 text.SetTextColor(kWhite); 971 text.SetBit(TLatex::kTextNDC); 972 text.SetTextSize(0.07); 973 text.SetTextAngle(2.5); 974 text.DrawLatex(0.45, 0.2, "preliminary"); 975 //enum { kTextNDC = BIT(14) }; 976 977 // draw line showing cut 978 TLine line; 979 line.SetLineColor(14); 980 line.SetLineStyle(7); 981 line.DrawLine(imax, 0, imax, h->GetMaximum()); 982 983 // Add a title above the plot 984 TPaveText *pave=new TPaveText(0.12, 0.83, 0.99, 0.975, "blNDC"); 985 pave->SetBorderSize(1); 986 pave->SetLabel(title); 987 988 char txt[1000]; 989 TText *ptxt; 990 sprintf(txt, " "); 991 ptxt = pave->AddText(txt); 992 ptxt->SetTextAlign(23); 993 994 sprintf(txt, "Significance %.1f\\sigma, off-scale %.2f (\\omega=%.2f\\circ)", 995 fFit.GetSignificance(), fFit.GetScaleFactor(), fFit.GetGausSigma()); 996 ptxt = pave->AddText(txt); 997 ptxt->SetTextAlign(23); 998 999 sprintf(txt, "%.1f excess events, %.1f background events", 1000 fFit.GetEventsExcess(), fFit.GetEventsBackground()); 1001 ptxt = pave->AddText(txt); 1002 ptxt->SetTextAlign(23); 1003 pave->SetBit(kCanDelete); 1004 pave->Draw(); 1005 } 887 1006 888 1007 Bool_t MHAlpha::Finalize() -
trunk/MagicSoft/Mars/mhflux/MHAlpha.h
r7778 r8136 132 132 void ForceUsingSize(Bool_t b=kTRUE) { fForceUsingSize=b; } 133 133 134 void DrawNicePlot(const char *title="MAGIC Telescope observation") { DrawNicePlot(kTRUE, title); } //*MENU* 135 void DrawNicePlot(Bool_t newc, const char *title=0); 134 136 void DrawAll() { DrawAll(kTRUE); } //*MENU* 135 137 void DrawAll(Bool_t newc);
Note:
See TracChangeset
for help on using the changeset viewer.