Changeset 8455
- Timestamp:
- 04/27/07 14:01:08 (18 years ago)
- Location:
- trunk/MagicSoft/Mars/mjobs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
r8452 r8455 238 238 fDisplay->AddTab(name); 239 239 obj->DrawClone(opt); 240 } 241 242 void MJCalibration::DrawBadPixel(TPaveText &pave, const MHCamera &h, Int_t n, Float_t f, const char *str) const 243 { 244 Int_t cnt = 0; 245 for (UInt_t pix=0; pix<h.GetNumPixels(); pix++) 246 if (TMath::Nint(h.GetPixContent(pix)) == n) 247 cnt++; 248 249 const TString txt = Form(n<10?" %d) %s%3i pixels":"%d) %s%3i pixels", n, str, cnt); 250 251 TText *p = pave.AddText(txt); 252 p->SetTextColor(gStyle->GetColorPalette(TMath::FloorNint((n-1)*f))); 253 p->SetTextAlign(12); 240 254 } 241 255 … … 804 818 TCanvas &c4 = fDisplay->AddTab("Defect"); 805 819 c4.Divide(2,2, 0.005, 0.005); 806 820 807 821 c4.cd(1); 808 822 gPad->SetBorderMode(0); 809 823 gPad->SetTicks(); 824 810 825 MHCamera *obj8=(MHCamera*)disp24.DrawCopy("hist"); 811 // 812 // for the datacheck, fix the ranges!! 813 // 826 827 gStyle->SetPalette(1); 828 const Int_t numcol = gStyle->GetNumberOfColors(); 829 830 const Double_t min = 1; 814 831 const Double_t max = 12.; 815 obj8->SetMinimum(0.); 832 const Double_t f = (numcol-1)/(max-min); 833 834 obj8->SetStats(kFALSE); 835 obj8->SetMinimum(min); 816 836 obj8->SetMaximum(max); 837 817 838 // 818 839 // Set the datacheck sizes: 819 840 // 820 841 FixDataCheckHist((TH1D*)obj8); 821 obj8->SetStats(kFALSE); 822 823 gStyle->SetPalette(1); 824 const Int_t numcol = gStyle->GetNumberOfColors()-3; 825 842 826 843 TPaveText *pave = new TPaveText(0.05,0.02,0.975,0.999); 827 844 pave->SetBit(kCanDelete); … … 829 846 pave->SetTextSize(0.045); 830 847 pave->AddText(" "); 831 TText *t1 = pave->AddText(Form("Signal smaller 4.5 Pedestal RMS: %3i pixels", 832 CountBadPixels(&disp24,1))); 833 t1->SetTextColor(gStyle->GetColorPalette(Int_t(1./max*numcol))); 834 t1->SetTextAlign(12); 835 TText *t4 = pave->AddText(Form("Low Gain Saturation: %3i pixels", 836 CountBadPixels(&disp24,2))); 837 t4->SetTextColor(gStyle->GetColorPalette(Int_t(2./max*numcol))); 838 t4->SetTextAlign(12); 839 TText *t5 = pave->AddText(Form("Mean Arr. Time In First Extraction Bin: %3i pixels", 840 CountBadPixels(&disp24,3))); 841 t5->SetTextColor(gStyle->GetColorPalette(Int_t(3./max*numcol))); 842 t5->SetTextAlign(12); 843 TText *t6 = pave->AddText(Form("Mean Arr. Time In Last 2 Extraction Bins: %3i pixels", 844 CountBadPixels(&disp24,4))); 845 t6->SetTextColor(gStyle->GetColorPalette(Int_t(4./max*numcol))); 846 t6->SetTextAlign(12); 847 TText *t10= pave->AddText(Form("High-Gain Histogram Overflow: %3i pixels", 848 CountBadPixels(&disp24,5 ))); 849 t10->SetTextColor(gStyle->GetColorPalette(Int_t(5./max*numcol))); 850 t10->SetTextAlign(12); 851 TText *t11= pave->AddText(Form("Low-Gain Histogram Overflow: %3i pixels", 852 CountBadPixels(&disp24,6 ))); 853 t11->SetTextColor(gStyle->GetColorPalette(Int_t(6./max*numcol))); 854 t11->SetTextAlign(12); 855 TText *t12= pave->AddText(Form("Presumably dead from Ped. Rms: %3i pixels", 856 CountBadPixels(&disp24,7 ))); 857 t12->SetTextColor(gStyle->GetColorPalette(Int_t(7./max*numcol))); 858 t12->SetTextAlign(12); 859 TText *t13= pave->AddText(Form("Fluctuating Pulse Arrival Times: %3i pixels", 860 CountBadPixels(&disp24,8 ))); 861 t13->SetTextColor(gStyle->GetColorPalette(Int_t(8./max*numcol))); 862 t13->SetTextAlign(12); 863 TText *t17 = pave->AddText(Form("Deviating Number of Photo-electrons: %3i pixels", 864 CountBadPixels(&disp24,9 ))); 865 t17->SetTextColor(gStyle->GetColorPalette(Int_t(9./max*numcol))); 866 t17->SetTextAlign(12); 867 TText *t18 = pave->AddText(Form("Deviating Rel. Arrival Time RMS: %3i pixels", 868 CountBadPixels(&disp24,10 ))); 869 t18->SetTextColor(gStyle->GetColorPalette(Int_t(10./max*numcol))); 870 t18->SetTextAlign(12); 871 TText *t15= pave->AddText(Form("Too many Low-Gain Blackout Events: %3i pixels", 872 CountBadPixels(&disp24,11 ))); 873 t15->SetTextColor(gStyle->GetColorPalette(Int_t(11./max*numcol))); 874 t15->SetTextAlign(12); 875 TText *t14= pave->AddText(Form("Previously Excluded: %3i pixels", 876 CountBadPixels(&disp24,12))); 877 t14->SetTextColor(gStyle->GetColorPalette(Int_t(12./max*numcol))); 878 t14->SetTextAlign(12); 848 DrawBadPixel(*pave, disp24, 1, f, "Signal smaller 4.5 Pedestal RMS: "); 849 DrawBadPixel(*pave, disp24, 2, f, "Low Gain Saturation: "); 850 DrawBadPixel(*pave, disp24, 3, f, "Mean Arr. Time In First Extraction Bin: "); 851 DrawBadPixel(*pave, disp24, 4, f, "Mean Arr. Time In Last 2 Extraction Bins: "); 852 DrawBadPixel(*pave, disp24, 5, f, "High-Gain Histogram Overflow: "); 853 DrawBadPixel(*pave, disp24, 6, f, "Low-Gain Histogram Overflow: "); 854 DrawBadPixel(*pave, disp24, 7, f, "Presumably dead from Ped. Rms: "); 855 DrawBadPixel(*pave, disp24, 8, f, "Fluctuating Pulse Arrival Times: "); 856 DrawBadPixel(*pave, disp24, 9, f, "Deviating Number of Photo-electrons: "); 857 DrawBadPixel(*pave, disp24, 10, f, "Deviating Rel. Arrival Time RMS: "); 858 DrawBadPixel(*pave, disp24, 11, f, "Too many Low-Gain Blackout Events: "); 859 DrawBadPixel(*pave, disp24, 12, f, "Previously Excluded: "); 879 860 pave->Draw(); 880 861 881 862 c4.cd(3); 882 863 gPad->SetBorderMode(0); 864 obj8->SetPrettyPalette(); 883 865 obj8->Draw(); 884 obj8->SetPrettyPalette();885 866 886 867 // 887 868 // UNRELIABLE PIXELS 888 869 // 889 890 870 c4.cd(2); 891 871 gPad->SetBorderMode(0); 892 872 gPad->SetTicks(); 893 873 MHCamera *obj9=(MHCamera*)disp25.DrawCopy("hist"); 894 // 895 // for the datacheck, fix the ranges!!896 //897 const Double_t max2 = 9.;898 obj9->SetMinimum( 0.);874 875 const Double_t min2 = 1; 876 const Double_t max2 = 8; 877 const Double_t f2 = (numcol-1)/(max2-min2); 878 obj9->SetMinimum(min2); 899 879 obj9->SetMaximum(max2); 900 // 901 // Set the datacheck sizes: 902 // 880 obj9->SetStats(kFALSE); 881 903 882 FixDataCheckHist((TH1D*)obj9); 904 obj9->SetStats(kFALSE);905 883 906 884 gStyle->SetPalette(1); 907 885 908 886 TPaveText *pave2 = new TPaveText(0.025,0.02,0.95,0.999); 909 887 pave2->SetBit(kCanDelete); … … 911 889 pave2->SetTextSize(0.05); 912 890 pave2->AddText(" "); 913 TText *t3 = pave2->AddText(Form("Signal Sigma smaller Pedestal RMS: %3i pixels", 914 CountBadPixels(&disp25,1))); 915 t3->SetTextColor(gStyle->GetColorPalette(Int_t(1./max2*numcol))); 916 t3->SetTextAlign(12); 917 TText *tt1 = pave2->AddText(Form("High Gain Signals could not be fitted: %3i pixels", 918 CountBadPixels(&disp25,3))); 919 tt1->SetTextColor(gStyle->GetColorPalette(Int_t(3./max2*numcol))); 920 tt1->SetTextAlign(12); 921 TText *tt2 = pave2->AddText(Form("Low Gain Signals could not be fitted: %3i pixels", 922 CountBadPixels(&disp25,4))); 923 tt2->SetTextColor(gStyle->GetColorPalette(Int_t(4./max2*numcol))); 924 tt2->SetTextAlign(12); 925 TText *tt3 = pave2->AddText(Form("Relative Arr. Times could not be fitted: %3i pixels", 926 CountBadPixels(&disp25,5))); 927 tt3->SetTextColor(gStyle->GetColorPalette(Int_t(5./max2*numcol))); 928 tt3->SetTextAlign(12); 929 TText *tt4 = pave2->AddText(Form("High Gain Signals Oscillation: %3i pixels", 930 CountBadPixels(&disp25,6))); 931 tt4->SetTextColor(gStyle->GetColorPalette(Int_t(6./max2*numcol))); 932 tt4->SetTextAlign(12); 933 TText *tt5 = pave2->AddText(Form("Low Gain Signals Oscillation: %3i pixels", 934 CountBadPixels(&disp25,7))); 935 tt5->SetTextColor(gStyle->GetColorPalette(Int_t(7./max2*numcol))); 936 tt5->SetTextAlign(12); 937 TText *tt6 = pave2->AddText(Form("Relative Arr. Times Oscillation: %3i pixels", 938 CountBadPixels(&disp25,8))); 939 tt6->SetTextColor(gStyle->GetColorPalette(Int_t(8./max2*numcol))); 940 tt6->SetTextAlign(12); 941 TText *tt8 = pave2->AddText(Form("Deviating global F-Factor: %3i pixels", 942 CountBadPixels(&disp25,9))); 943 tt8->SetTextColor(gStyle->GetColorPalette(Int_t(9./max2*numcol))); 944 tt8->SetTextAlign(12); 891 DrawBadPixel(*pave2, disp25, 1, f2, "Signal Sigma smaller Pedestal RMS: "); 892 DrawBadPixel(*pave2, disp25, 2, f2, "High Gain Signals could not be fitted: "); 893 DrawBadPixel(*pave2, disp25, 3, f2, "Low Gain Signals could not be fitted: "); 894 DrawBadPixel(*pave2, disp25, 4, f2, "Relative Arr. Times could not be fitted: "); 895 DrawBadPixel(*pave2, disp25, 5, f2, "High Gain Signals Oscillation: "); 896 DrawBadPixel(*pave2, disp25, 6, f2, "Low Gain Signals Oscillation: "); 897 DrawBadPixel(*pave2, disp25, 7, f2, "Relative Arr. Times Oscillation: "); 898 DrawBadPixel(*pave2, disp25, 8, f2, "Deviating global F-Factor: "); 945 899 pave2->Draw(); 946 900 … … 1341 1295 } 1342 1296 1343 const Int_t MJCalibration::CountBadPixels(MHCamera *cam, const Int_t what) const1344 {1345 Int_t cnt = 0;1346 1347 for (UInt_t pix=0; pix<cam->GetNumPixels(); pix++)1348 if (TMath::Nint(cam->GetPixContent(pix)) == what)1349 cnt++;1350 1351 return cnt;1352 }1353 1354 1297 // -------------------------------------------------------------------------- 1355 1298 // -
trunk/MagicSoft/Mars/mjobs/MJCalibration.h
r8428 r8455 28 28 29 29 class TH1D; 30 class TPaveText; 30 31 31 32 class MTask; … … 76 77 Float_t fRefArrivalTimeRmsInner; //! Reference value for the arrival time - inner 77 78 Float_t fRefArrivalTimeRmsOuter; //! Reference value for the arrival time - outer 78 Float_t fRefTimeOffsetInner; //! Reference value for the time offset - inner79 79 Float_t fRefTimeOffsetOuter; //! Reference value for the time offset - outer 80 80 Float_t fRefTimeResolutionInner; //! Reference value for the time resolution - inner … … 116 116 Bool_t IsDebug () const { return TESTBIT(fFlags,kDebug); } 117 117 118 void DrawTab(MParList &plist, const char *cont, const char *name, Option_t *opt); 118 void DrawBadPixel(TPaveText &pave, const MHCamera &h, Int_t n, Float_t f, const char *str) const; 119 void DrawTab(MParList &plist, const char *cont, const char *name, Option_t *opt); 119 120 120 121 void DisplayResult ( MParList &plist ); … … 122 123 void DisplayOutliers ( TH1D *hist, const char* whatsmall, const char* whatbig ) const; 123 124 void DisplayDoubleProject ( MHCamera *cam , const char* whatsmall, const char* whatbig ) const; 124 const Int_t CountBadPixels ( MHCamera *cam , const Int_t what ) const;125 125 void FixDataCheckHist ( TH1D *hist ) const; 126 126
Note:
See TracChangeset
for help on using the changeset viewer.