Changeset 5198
- Timestamp:
- 10/07/04 14:02:49 (20 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r5196 r5198 30 30 * mcalib/MCalibrationChargeCalc.cc 31 31 - after talking with Florian, we reduced the electronic noise for the 32 low-gain pedestal calculation from 1.5 to 0.8, independent from32 low-gain pedestal calculation from 1.5 to 1.0, independent from 33 33 inner or outer pixels. 34 - additionally found a small bug in the calculation of the low-gain 35 pedestal RMS which amounts to about the same size as the difference 36 in the assumed electronic noise. 34 37 35 38 * mcalib/MCalibrationChargeCalc.cc -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.cc
r5197 r5198 989 989 // 990 990 // Convert the NSB ped. RMS contribution to the low-gain with the formula: 991 // - LoGain NSB square = -HiGain NSB square / (fConversionHiLo*fConversionHiLo)991 // - LoGain NSB square = HiGain NSB square / (fConversionHiLo*fConversionHiLo) 992 992 // - Var(LoGain NSB square) = ( Var(HiGain NSB square) / (HiGain NSB square * HiGain NSB square) 993 993 // + GetConversionHiLoRelVar() … … 1006 1006 return; 1007 1007 1008 const Float_t elecPedRms = gkElectronicPedRms * TMath::Sqrt(logainsamples) / fConversionHiLo; 1009 const Float_t elecPedRmsVar = ( GetElectronicPedRmsRelVar() + GetConversionHiLoRelVar() ) 1010 * elecPedRms * elecPedRms; 1011 1012 Float_t pedRmsSquare = fPedRms * fPedRms; 1013 Float_t pedRmsSquareVar = fPedVar * pedRmsSquare; // fPedRmsErr = fPedErr/2. 1014 1015 // 1016 // We do not know the Lo Gain Pedestal RMS, so we have to retrieve it 1017 // from the HI GAIN (all calculation per slice up to now): 1008 const Float_t elecPedRms = gkElectronicPedRms * TMath::Sqrt(logainsamples); 1009 const Float_t elecPedRmsVar = GetElectronicPedRmsRelVar() * elecPedRms * elecPedRms; 1010 1011 Float_t pedRmsSquare = fPedRms * fPedRms; 1012 Float_t pedRmsSquareVar = fPedVar * pedRmsSquare; // fPedRmsErr = fPedErr/2. 1013 1014 // 1015 // We do not know the Low Gain Pedestal RMS, so we have to retrieve it 1016 // from the High Gain: 1018 1017 // 1019 1018 // We extract the pure NSB contribution: … … 1033 1032 1034 1033 1035 Float_t higainNsbSquare = pedRmsSquare - elecRmsSquare; 1036 Float_t higainNsbSquareRelVar = (pedRmsSquareVar + elecRmsSquareVar); 1037 1034 Float_t higainNsbSquare = pedRmsSquare - elecRmsSquare; 1035 Float_t higainNsbSquareVar = (pedRmsSquareVar + elecRmsSquareVar); 1038 1036 1039 1037 if (higainNsbSquare < 0.001) 1040 1038 higainNsbSquare = 0.; 1041 else1042 higainNsbSquareRelVar /= (higainNsbSquare * higainNsbSquare) ;1043 1039 1044 1040 if (IsDebug()) … … 1046 1042 *fLog << dbginf << "ID: " << GetPixId() 1047 1043 << " HiGain NSB Square: " << higainNsbSquare 1048 << " Rel.Var.HiGain NSB Square: " << higainNsbSquareRelVar1044 << " Var.HiGain NSB Square: " << higainNsbSquareVar 1049 1045 << endl; 1050 1046 } … … 1058 1054 1059 1055 const Float_t logainNsbSquare = higainNsbSquare / conversionSquare; 1060 const Float_t logainNsbSquareVar = ( higainNsbSquareRelVar + conversionSquareRelVar ) 1061 * logainNsbSquare * logainNsbSquare; 1056 // 1057 // Calculation of variance of: c = a/b 1058 // Delta(c)^2 = ( Delta(a)^2 + a^2/b^2*(Delta(b)^2 ) / b^2 1059 // 1060 const Float_t logainNsbSquareVar = ( higainNsbSquareVar 1061 + conversionSquareRelVar * higainNsbSquare * higainNsbSquare ) 1062 / conversionSquare / conversionSquare; 1062 1063 1063 1064 fLoGainPedRmsSquare = logainNsbSquare + elecRmsSquare;
Note:
See TracChangeset
for help on using the changeset viewer.