Changeset 3602 for trunk/MagicSoft/Mars
- Timestamp:
- 03/29/04 18:58:22 (21 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r3601 r3602 31 31 32 32 * mcalib/MHCalibrationChargeCam.cc 33 * mbadpixels/MBadPixelsCam.cc 33 34 - adopt to new style in MBadPixelsPix.h 34 35 -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
r3559 r3602 211 211 using namespace std; 212 212 213 const Float_t MCalibrationChargeCalc::fgChargeLimit = 3.; 214 const Float_t MCalibrationChargeCalc::fgChargeErrLimit = 0.; 215 const Float_t MCalibrationChargeCalc::fgChargeRelErrLimit = 1.; 216 const Float_t MCalibrationChargeCalc::fgTimeLowerLimit = 1.; 217 const Float_t MCalibrationChargeCalc::fgTimeUpperLimit = 2.; 213 218 // -------------------------------------------------------------------------- 214 219 // … … 231 236 232 237 Clear(); 238 239 SetChargeLimit(); 240 SetChargeErrLimit(); 241 242 SetChargeRelErrLimit(); 243 SetTimeLowerLimit(); 244 SetTimeUpperLimit(); 233 245 } 234 246 … … 380 392 } 381 393 382 pix.SetAbsTimeBordersHiGain(fSignals->GetFirstUsedSliceHiGain(),383 fSignals->GetLastUsedSliceHiGain());384 pix.SetAbsTimeBordersLoGain(fSignals->GetFirstUsedSliceLoGain(),385 fSignals->GetLastUsedSliceLoGain());386 394 } 387 395 … … 451 459 if (cal.IsHiGainSaturation()) 452 460 { 453 cal.SetPedestal(avped/avnum 461 cal.SetPedestal(avped/avnum * fNumLoGainSamples, 454 462 avrms/avnum * fSqrtLoGainSamples, 455 463 avrms/avnum * fSqrtLoGainSamples/avnum); … … 458 466 else 459 467 { 460 cal.SetPedestal(avped/avnum 468 cal.SetPedestal(avped/avnum * fNumHiGainSamples, 461 469 avrms/avnum * fSqrtHiGainSamples, 462 470 avrms/avnum * fSqrtHiGainSamples/avnum); … … 475 483 { 476 484 477 cal.CheckChargeValidity (&bad); 478 cal.CheckTimeValidity (&bad); 485 // 486 // The check return kTRUE if: 487 // 488 // 1) Pixel has a fitted charge greater than fChargeLimit*PedRMS 489 // 2) Pixel has a fit error greater than fChargeVarLimit 490 // 3) Pixel has a fitted charge greater its fChargeRelVarLimit times its charge error 491 // 4) Pixel has a charge sigma bigger than its Pedestal RMS 492 // 493 if (cal.GetMeanCharge() < fChargeLimit*cal.GetPedRms()) 494 { 495 *fLog << warn << "WARNING: Fitted Charge: " << cal.GetMeanCharge() << " is smaller than " 496 << fChargeLimit << " Pedestal RMS: " << cal.GetPedRms() << " in Pixel " << cal.GetPixId() << endl; 497 bad.SetUncalibrated( MBadPixelsPix::kChargeIsPedestal); 498 bad.SetUnsuitable( MBadPixelsPix::kUnsuitableRun ); 499 } 500 501 if (cal.GetMeanChargeErr() < fChargeErrLimit) 502 { 503 *fLog << warn << "WARNING: Sigma of Fitted Charge: " << cal.GetMeanChargeErr() << " is smaller than " 504 << fChargeErrLimit << " in Pixel " << cal.GetPixId() << endl; 505 bad.SetUncalibrated( MBadPixelsPix::kChargeErrNotValid ); 506 bad.SetUnsuitable( MBadPixelsPix::kUnsuitableRun ); 507 } 508 509 if (cal.GetMeanCharge() < fChargeRelErrLimit*cal.GetMeanChargeErr()) 510 { 511 *fLog << warn << "WARNING: Fitted Charge: " << cal.GetMeanCharge() << " is smaller than " 512 << fChargeRelErrLimit << "* its error: " << cal.GetMeanChargeErr() << " in Pixel " << cal.GetPixId() << endl; 513 bad.SetUncalibrated( MBadPixelsPix::kChargeRelErrNotValid ); 514 bad.SetUnsuitable( MBadPixelsPix::kUnsuitableRun ); 515 } 516 517 if (cal.GetSigmaCharge() < cal.GetPedRms()) 518 { 519 *fLog << warn << "WARNING: Sigma of Fitted Charge: " << cal.GetSigmaCharge() 520 << " smaller than Pedestal RMS: " << cal.GetPedRms() << " in Pixel " << cal.GetPixId() << endl; 521 bad.SetUncalibrated( MBadPixelsPix::kChargeSigmaNotValid ); 522 bad.SetUnsuitable( MBadPixelsPix::kUnsuitableRun ); 523 } 524 525 // 526 // The check returns kTRUE if: 527 // 528 // The mean arrival time is at least 1.0 slices from the lower edge slices and 2 slices from the upper edge 529 // 530 const Byte_t loweredge = cal.IsHiGainSaturation() ? fSignals->GetFirstUsedSliceLoGain() 531 : fSignals->GetFirstUsedSliceHiGain(); 532 const Byte_t upperedge = cal.IsHiGainSaturation() ? fSignals->GetLastUsedSliceLoGain() 533 : fSignals->GetLastUsedSliceHiGain(); 534 535 const Float_t lowerlimit = (Float_t)loweredge + fTimeLowerLimit; 536 const Float_t upperlimit = (Float_t)upperedge + fTimeUpperLimit; 537 538 if ( cal.GetAbsTimeMean() < lowerlimit) 539 { 540 *fLog << warn << "WARNING: Mean ArrivalTime in first " << fTimeLowerLimit 541 << " extraction bin of the Pixel " << cal.GetPixId() << endl; 542 *fLog << cal.GetAbsTimeMean() << " " << lowerlimit << endl; 543 bad.SetUncalibrated( MBadPixelsPix::kMeanTimeInFirstBin ); 544 bad.SetUnsuitable( MBadPixelsPix::kUnsuitableRun ); 545 } 546 547 if ( cal.GetAbsTimeMean() > upperlimit ) 548 { 549 *fLog << warn << "WARNING: Mean ArrivalTime in last " << fTimeUpperLimit 550 << " two extraction bins of the Pixel " << cal.GetPixId() << endl; 551 *fLog << cal.GetAbsTimeMean() << " " << upperlimit << endl; 552 bad.SetUncalibrated( MBadPixelsPix::kMeanTimeInLast2Bins ); 553 bad.SetUnsuitable( MBadPixelsPix::kUnsuitableRun ); 554 } 479 555 480 556 if (bad.IsUnsuitable(MBadPixelsPix::kUnsuitableRun)) … … 633 709 fCam->SetReadyToSave(); 634 710 635 PrintInfo();636 637 return kTRUE;638 }639 640 void MCalibrationChargeCalc::PrintInfo()641 {642 643 711 *fLog << inf << endl; 644 712 *fLog << GetDescriptor() << ": Calibration statistics:" << endl; 645 713 *fLog << dec << setfill(' '); 646 714 647 715 UInt_t countinner = 0; 648 716 UInt_t countouter = 0; … … 662 730 << "Inner: " << countinner << " Outer: " << countouter << endl; 663 731 664 countinner = 0; 665 countouter = 0; 732 PrintUnsuitable(MBadPixelsPix::kUnsuitableRun, "Bad Pixels: "); 733 PrintUnsuitable(MBadPixelsPix::kUnreliableRun, "Unreliable Pixels: "); 734 735 *fLog << inf << endl; 736 *fLog << GetDescriptor() << ": Errors statistics:" << endl; 737 738 PrintUncalibrated(MBadPixelsPix::kChargeIsPedestal, 739 Form("%s%2.1f%s","Signal less than ",fChargeLimit," Pedestal RMS: ")); 740 PrintUncalibrated(MBadPixelsPix::kChargeErrNotValid, 741 Form("%s%2.1f%s","Signal Error smaller than ",fChargeErrLimit,": ")); 742 PrintUncalibrated(MBadPixelsPix::kChargeRelErrNotValid, 743 Form("%s%2.1f%s","Signal Error bigger than ",fChargeRelErrLimit," times Mean Signal: ")); 744 PrintUncalibrated(MBadPixelsPix::kChargeSigmaNotValid, 745 "Signal Sigma smaller than Pedestal RMS: "); 746 PrintUncalibrated(MBadPixelsPix::kLoGainSaturation, 747 "Pixels with Low Gain Saturation: "); 748 PrintUncalibrated(MBadPixelsPix::kMeanTimeInFirstBin, 749 Form("%s%2.1f%s","Mean Abs. Arr. Time in First ",fTimeLowerLimit," Bin(s): ")); 750 PrintUncalibrated(MBadPixelsPix::kMeanTimeInLast2Bins, 751 Form("%s%2.1f%s","Mean Abs. Arr. Time in Last ",fTimeUpperLimit," Bin(s): ")); 752 PrintUncalibrated(MBadPixelsPix::kHiGainOscillating, 753 "Pixels with changing Hi Gain signal over time: "); 754 PrintUncalibrated(MBadPixelsPix::kLoGainOscillating, 755 "Pixels with changing Lo Gain signal over time: "); 756 PrintUncalibrated(MBadPixelsPix::kDeviatingNumPhes, 757 "Pixels with deviating number of phes: "); 758 PrintUncalibrated(MBadPixelsPix::kHiGainNotFitted, 759 "Pixels with unsuccesful Gauss fit to the Hi Gain: "); 760 PrintUncalibrated(MBadPixelsPix::kLoGainNotFitted, 761 "Pixels with unsuccesful Gauss fit to the Lo Gain: "); 762 763 return kTRUE; 764 } 765 766 void MCalibrationChargeCalc::PrintUnsuitable(MBadPixelsPix::UnsuitableType_t typ, const char *text) const 767 { 768 769 UInt_t countinner = 0; 770 UInt_t countouter = 0; 666 771 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 667 772 { 668 773 MBadPixelsPix &bad = (*fBadPixels)[i]; 669 if (bad.IsUnsuitable( MBadPixelsPix::kUnsuitableRun))774 if (bad.IsUnsuitable(typ)) 670 775 { 671 776 if (fGeom->GetPixRatio(i) == 1.) … … 676 781 } 677 782 678 *fLog << " " << setw(7) << "Bad Pixels: " 679 << "Inner: " << countinner << " Outer: " << countouter << endl; 680 681 countinner = 0; 682 countouter = 0; 783 *fLog << " " << setw(7) << text 784 << Form("%s%3i%s%3i","Inner: ",countinner," Outer: ",countouter) << endl; 785 } 786 787 void MCalibrationChargeCalc::PrintUncalibrated(MBadPixelsPix::UncalibratedType_t typ, const char *text) const 788 { 789 790 UInt_t countinner = 0; 791 UInt_t countouter = 0; 683 792 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 684 793 { 685 794 MBadPixelsPix &bad = (*fBadPixels)[i]; 686 if (bad.IsUn suitable(MBadPixelsPix::kUnreliableRun))795 if (bad.IsUncalibrated(typ)) 687 796 { 688 797 if (fGeom->GetPixRatio(i) == 1.) … … 693 802 } 694 803 695 *fLog << " " << setw(7) << "Unreliable Pixels: " 696 << "Inner: " << countinner << " Outer: " << countouter << endl; 697 698 *fLog << inf << endl; 699 *fLog << GetDescriptor() << ": Errors statistics:" << endl; 700 701 countinner = 0; 702 countouter = 0; 703 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 704 { 705 MBadPixelsPix &bad = (*fBadPixels)[i]; 706 if (bad.IsChargeIsPedestal()) 707 { 708 if (fGeom->GetPixRatio(i) == 1.) 709 countinner++; 710 else 711 countouter++; 712 } 713 } 714 715 *fLog << " " << setw(7) << "Signal less than 3 Pedestal RMS: " 716 << "Inner: " << countinner << " Outer: " << countouter << endl; 717 718 countinner = 0; 719 countouter = 0; 720 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 721 { 722 MBadPixelsPix &bad = (*fBadPixels)[i]; 723 if (bad.IsChargeErrNotValid()) 724 { 725 if (fGeom->GetPixRatio(i) == 1.) 726 countinner++; 727 else 728 countouter++; 729 } 730 } 731 732 *fLog << " " << setw(7) << "Signal Error smaller than 0: " 733 << "Inner: " << countinner << " Outer: " << countouter << endl; 734 735 countinner = 0; 736 countouter = 0; 737 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 738 { 739 MBadPixelsPix &bad = (*fBadPixels)[i]; 740 if (bad.IsChargeRelErrNotValid()) 741 { 742 if (fGeom->GetPixRatio(i) == 1.) 743 countinner++; 744 else 745 countouter++; 746 } 747 } 748 749 *fLog << " " << setw(7) << "Signal Error bigger than Mean Signal: " 750 << "Inner: " << countinner << " Outer: " << countouter << endl; 751 752 countinner = 0; 753 countouter = 0; 754 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 755 { 756 MBadPixelsPix &bad = (*fBadPixels)[i]; 757 if (bad.IsChargeSigmaNotValid()) 758 { 759 if (fGeom->GetPixRatio(i) == 1.) 760 countinner++; 761 else 762 countouter++; 763 } 764 } 765 766 *fLog << " " << setw(7) << "Signal Sigma smaller than Pedestal RMS: " 767 << "Inner: " << countinner << " Outer: " << countouter << endl; 768 769 countinner = 0; 770 countouter = 0; 771 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 772 { 773 MBadPixelsPix &bad = (*fBadPixels)[i]; 774 if (bad.IsLoGainSaturation()) 775 { 776 if (fGeom->GetPixRatio(i) == 1.) 777 countinner++; 778 else 779 countouter++; 780 } 781 } 782 783 *fLog << " " << setw(7) << "Pixels with Low Gain Saturation: " 784 << "Inner: " << countinner << " Outer: " << countouter << endl; 785 786 countinner = 0; 787 countouter = 0; 788 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 789 { 790 MBadPixelsPix &bad = (*fBadPixels)[i]; 791 if (bad.IsMeanTimeInFirstBin()) 792 { 793 if (fGeom->GetPixRatio(i) == 1.) 794 countinner++; 795 else 796 countouter++; 797 } 798 } 799 800 *fLog << " " << setw(7) << "Pixels with Mean Abs. Arr. Time in First Bin: " 801 << "Inner: " << countinner << " Outer: " << countouter << endl; 802 803 countinner = 0; 804 countouter = 0; 805 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 806 { 807 MBadPixelsPix &bad = (*fBadPixels)[i]; 808 if (bad.IsMeanTimeInLastBin()) 809 { 810 if (fGeom->GetPixRatio(i) == 1.) 811 countinner++; 812 else 813 countouter++; 814 } 815 } 816 817 *fLog << " " << setw(7) << "Pixels with Mean Abs. Arr. Time in Last 2 Bins: " 818 << "Inner: " << countinner << " Outer: " << countouter << endl; 819 820 countinner = 0; 821 countouter = 0; 822 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 823 { 824 MBadPixelsPix &bad = (*fBadPixels)[i]; 825 if (bad.IsHiGainOscillating()) 826 { 827 if (fGeom->GetPixRatio(i) == 1.) 828 countinner++; 829 else 830 countouter++; 831 } 832 } 833 834 *fLog << " " << setw(7) << "Pixels with changing Hi Gain signal over time: " 835 << "Inner: " << countinner << " Outer: " << countouter << endl; 836 837 countinner = 0; 838 countouter = 0; 839 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 840 { 841 MBadPixelsPix &bad = (*fBadPixels)[i]; 842 if (bad.IsLoGainOscillating()) 843 { 844 if (fGeom->GetPixRatio(i) == 1.) 845 countinner++; 846 else 847 countouter++; 848 } 849 } 850 851 *fLog << " " << setw(7) << "Pixels with changing Lo Gain signal over time: " 852 << "Inner: " << countinner << " Outer: " << countouter << endl; 853 854 countinner = 0; 855 countouter = 0; 856 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 857 { 858 MBadPixelsPix &bad = (*fBadPixels)[i]; 859 if (!bad.IsCalibrationFitOK()) 860 { 861 if (fGeom->GetPixRatio(i) == 1.) 862 countinner++; 863 else 864 countouter++; 865 } 866 } 867 868 *fLog << " " << setw(7) << "Pixels with unsuccessful signal fit: " 869 << "Inner: " << countinner << " Outer: " << countouter << endl; 870 871 countinner = 0; 872 countouter = 0; 873 for (Int_t i=0; i<fBadPixels->GetSize(); i++) 874 { 875 MBadPixelsPix &bad = (*fBadPixels)[i]; 876 if (bad.IsDeviatingNumPhes()) 877 { 878 if (fGeom->GetPixRatio(i) == 1.) 879 countinner++; 880 else 881 countouter++; 882 } 883 } 884 885 *fLog << " " << setw(7) << "Pixels with deviating number of phes: " 886 << "Inner: " << countinner << " Outer: " << countouter << endl; 887 888 } 804 *fLog << " " << setw(7) << text 805 << Form("%s%3i%s%3i","Inner: ",countinner," Outer: ",countouter) << endl; 806 } 807 -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h
r3559 r3602 13 13 #ifndef MARS_MTask 14 14 #include "MTask.h" 15 #endif 16 17 #ifndef MARS_MBadPixelsPix 18 #include "MBadPixelsPix.h" 15 19 #endif 16 20 … … 32 36 { 33 37 private: 38 39 static const Float_t fgChargeLimit; // The default for fChargeLimit 40 static const Float_t fgChargeErrLimit; // The default for fChargeErrLimit 41 static const Float_t fgChargeRelErrLimit; // The default for fChargeRelErrLimit 42 static const Float_t fgTimeLowerLimit; // The default for fTimeLowerLimit 43 static const Float_t fgTimeUpperLimit; // The default for fTimeUpperLimit 44 45 Float_t fChargeLimit; // The limit (in units of PedRMS) for acceptance of the fitted mean charge 46 Float_t fChargeErrLimit; // The limit (in units of PedRMS) for acceptance of the fitted charge sigma square 47 Float_t fChargeRelErrLimit; // The limit (in units of Sigma of fitted charge) for acceptance of the fitted mean 48 Float_t fTimeLowerLimit; // The limit (in units of FADC slices) for distance to first signal extraction slice 49 Float_t fTimeUpperLimit; // The limit (in units of FADC slices) for distance to last signal extraction slice 34 50 35 51 MPedestalCam *fPedestals; //! Pedestals of all pixels in the camera … … 67 83 void FinalizeAvPedestals(MCalibrationChargePix &cal, Float_t avped, Float_t avrms, Int_t avnum); 68 84 Bool_t FinalizeCharges(MCalibrationChargePix &cal, MBadPixelsPix &bad); 69 void PrintInfo(); 70 85 86 void PrintUnsuitable(MBadPixelsPix::UnsuitableType_t typ, const char *text) const; 87 void PrintUncalibrated(MBadPixelsPix::UncalibratedType_t typ, const char *text) const; 88 71 89 public: 72 90 … … 75 93 void Clear(const Option_t *o=""); 76 94 95 void SetChargeLimit ( const Float_t f=fgChargeLimit ) { fChargeLimit = f; } 96 void SetChargeErrLimit ( const Float_t f=fgChargeErrLimit ) { fChargeErrLimit = f; } 97 void SetChargeRelErrLimit( const Float_t f=fgChargeRelErrLimit ) { fChargeRelErrLimit = f; } 98 99 void SetTimeLowerLimit ( const Float_t f=fgTimeLowerLimit ) { fTimeLowerLimit = f; } 100 void SetTimeUpperLimit ( const Float_t f=fgTimeUpperLimit ) { fTimeUpperLimit = f; } 101 77 102 void SkipQualityChecks(Bool_t b=kTRUE) 78 103 {b ? CLRBIT(fFlags, kUseQualityChecks) : SETBIT(fFlags, kUseQualityChecks);} -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h
r3559 r3602 19 19 static const Float_t gkFFactorErr; // The laboratory F-factor Error of the PMTs 20 20 21 static const Float_t fgChargeLimit; // The default limit (in units of PedRMS) for acceptance of the fitted mean charge22 static const Float_t fgChargeErrLimit; // The default limit (in units of PedRMS) for acceptance of the fitted charge sigma23 static const Float_t fgChargeRelErrLimit; // The default limit (in units of Error of fitted charge) for acceptance of the fitted mean24 25 static const Float_t fgTimeLimit; // The limit (in units of FADC slices) for acceptance of the fitted time26 static const Float_t fgTimeErrLimit; // The limit (in units of FADC slices) for acceptance of the fitted time sigma27 21 28 22 static const Float_t fgPheFFactorMethodLimit; // The default minimum number of Photo-electrons for a pixel to be accepted. 29 23 30 Float_t fChargeLimit; // The limit (in units of PedRMS) for acceptance of the fitted mean charge31 Float_t fChargeVarLimit; // The limit (in units of PedRMS) for acceptance of the fitted charge sigma square32 Float_t fChargeRelVarLimit; // The limit (in units of Variance of fitted charge) for acceptance of the fitted mean33 34 Float_t fTimeLimit; // The limit (in units of FADC slices) for acceptance of the fitted time35 Float_t fTimeVarLimit; // The limit (in units of FADC slices) for acceptance of the fitted time sigma36 37 24 Float_t fElectronicPedRms; // The pure electronic component of the RMS 38 25 Float_t fElectronicPedRmsVar; // The error of the pure electronic component of the RMS … … 69 56 Float_t fAbsTimeRms; // The rms of the mean absolute arrival time 70 57 71 Byte_t fTimeFirstHiGain; // The first used FADC slice72 Byte_t fTimeLastHiGain; // The last used FADC slice73 74 Byte_t fTimeFirstLoGain; // The first used FADC slice75 Byte_t fTimeLastLoGain; // The last used FADC slice76 77 58 Float_t fPheFFactorMethod; // The number of Phe's calculated (F-factor method) 78 59 Float_t fPheFFactorMethodVar; // The error on the number of Phe's calculated (F-factor method) … … 114 95 enum { kHiGainSaturation, kLoGainSaturation, 115 96 kExcluded, 116 kChargeValid, kTimeFitValid,117 97 kBlindPixelMethodValid, kFFactorMethodValid, 118 98 kPINDiodeMethodValid, kCombinedMethodValid }; … … 132 112 void SetConversionHiLo( const Float_t c = gkConversionHiLo) { fConversionHiLo = c; } 133 113 void SetConversionHiLoErr( const Float_t e = gkConversionHiLoErr) { fConversionHiLoVar = e*e; } 134 void SetChargeLimit ( const Float_t f=fgChargeLimit ) { fChargeLimit = f; }135 void SetChargeErrLimit ( const Float_t f=fgChargeErrLimit ) { fChargeVarLimit = f*f; }136 void SetChargeRelErrLimit( const Float_t f=fgChargeRelErrLimit ) { fChargeRelVarLimit = f*f; }137 138 void SetTimeLimit ( const Float_t f=fgTimeLimit ) { fTimeLimit = f; }139 void SetTimeErrLimit ( const Float_t f=fgTimeErrLimit ) { fTimeVarLimit = f*f; }140 114 141 115 void SetPheFFactorMethodLimit ( const Float_t f=fgPheFFactorMethodLimit ) { fPheFFactorMethodLimit = f; } … … 189 163 void SetCombinedMethodValid ( const Bool_t b = kTRUE ); 190 164 191 void SetAbsTimeBordersHiGain( Byte_t f, Byte_t l );192 void SetAbsTimeBordersLoGain( Byte_t f, Byte_t l );193 194 165 // Charges 195 166 Float_t GetHiGainMeanCharge() const { return fHiGainMeanCharge; } … … 271 242 272 243 // Miscellaneous 273 void CheckChargeValidity ( MBadPixelsPix *bad );274 void CheckTimeValidity ( MBadPixelsPix *bad );275 276 244 void CalcLoGainPedestal(const Float_t logainsamples); 277 245 Bool_t CalcReducedSigma();
Note:
See TracChangeset
for help on using the changeset viewer.