Changeset 2725 for trunk/MagicSoft/Mars/manalysis
- Timestamp:
- 12/19/03 15:41:03 (21 years ago)
- Location:
- trunk/MagicSoft/Mars/manalysis
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/manalysis/MCalibrate.cc
r2720 r2725 44 44 45 45 #include "MCalibrate.h" 46 #include "MCalibrationConfig.h" 46 47 47 48 #include "MLog.h" … … 137 138 MCalibrationPix &pix = (*fCalibrations)[pixid]; 138 139 140 139 141 if (pix.IsBlindPixelMethodValid()) 140 142 { 141 143 MExtractedSignalPix &sig = (*fSignals)[pixid]; 142 144 143 Bool_t logain = sig.IsLoGainUsed();144 145 145 Float_t signal; 146 if (logain) 147 signal = sig.GetExtractedSignalLoGain(); 146 Float_t signalErr = 0.; 147 148 if (sig.IsLoGainUsed()) 149 { 150 signal = sig.GetExtractedSignalLoGain()*pix.GetConversionHiLo(); 151 signalErr = signal*pix.GetConversionHiLoError(); 152 } 148 153 else 149 signal = sig.GetExtractedSignalHiGain(); 150 151 154 { 155 signal = sig.GetExtractedSignalHiGain(); 156 } 157 152 158 // Float_t calibrationConvertionFactor = pix.GetMeanConversionFFactorMethod(); 153 Float_t calibrationConversionFactor = pix.GetMeanConversionBlindPixelMethod();159 Float_t calibrationConversionFactor = pix.GetMeanConversionBlindPixelMethod(); 154 160 Float_t calibrationConversionFactorError = pix.GetErrorConversionBlindPixelMethod(); 155 161 156 162 157 Float_t nphot = signal*calibrationConversionFactor; 158 Float_t nphoterr = signal*calibrationConversionFactorError;; 159 160 fCerPhotEvt->AddPixel(pixid, nphot, nphoterr); 163 Float_t nphot = signal*calibrationConversionFactor; 164 165 Float_t nphotErr = signal*calibrationConversionFactorError*signal*calibrationConversionFactorError; 166 nphotErr += signalErr*signalErr*calibrationConversionFactor*calibrationConversionFactor; 167 nphotErr = TMath::Sqrt(nphotErr); 168 169 fCerPhotEvt->AddPixel(pixid, nphot, nphotErr); 161 170 } 162 171 else -
trunk/MagicSoft/Mars/manalysis/MCalibrate.h
r2691 r2725 30 30 MExtractedSignalCam *fSignals; // Integrated charge in FADCs counts 31 31 MCerPhotEvt *fCerPhotEvt; // Cerenkov Photon Event used for calculation 32 33 Int_t PreProcess(MParList *pList); 34 Int_t Process(); 32 33 Float_t fConversionHiLo; 34 35 Int_t PreProcess(MParList *pList); 36 Int_t Process(); 35 37 36 38 public: … … 38 40 MCalibrate(const char *name=NULL, const char *title=NULL); 39 41 42 void SetConversionHiLo(Float_t conv) { fConversionHiLo = conv; } 43 40 44 ClassDef(MCalibrate, 0) // Task to calculate cerenkov photons using calibration constants 41 45 }; -
trunk/MagicSoft/Mars/manalysis/MCalibrationCalc.cc
r2699 r2725 124 124 SETBIT(fFlags, kUseBlindPixelFit); 125 125 SETBIT(fFlags, kUsePinDiodeFit); 126 126 127 } 127 128 … … 271 272 // FIXME: In the future need a much more sophisticated one!!! 272 273 // 273 274 274 275 while (pixel.Next()) 275 276 { … … 308 309 Float_t sumhi = sig.GetExtractedSignalHiGain(); 309 310 Float_t sumlo = sig.GetExtractedSignalLoGain(); 310 Bool_t logain = sig.IsLoGainUsed();311 312 311 Float_t mtime = sig.GetMeanArrivalTime(); 313 312 … … 356 355 << pixid << " signal = " << sumhi << " event Nr: " << fEvents << endl; 357 356 358 if ( logain)357 if (sig.IsLoGainUsed()) 359 358 { 360 359 -
trunk/MagicSoft/Mars/manalysis/MCalibrationCalc.h
r2699 r2725 46 46 Byte_t fFlags; // Flag for the fits used 47 47 48 48 Float_t fConversionHiLo; 49 49 50 enum { kUseTimeFits, kUseBlindPixelFit, kUsePinDiodeFit }; 50 51 … … 74 75 75 76 void SetPulserColor(PulserColor_t color) { fColor = color; } 77 78 void SetConversionHiLo(Float_t conv) { fConversionHiLo = conv; } 76 79 77 80 ClassDef(MCalibrationCalc, 1) // Task to fill the Calibration Containers from raw data -
trunk/MagicSoft/Mars/manalysis/MCalibrationPix.cc
r2719 r2725 83 83 fTitle = title ? title : "Container of the MHCalibrationPixels and the fit results"; 84 84 85 // 86 // At the moment, we don't have a database, yet, 87 // so we get it from the configuration file 88 // 89 fConversionHiLo = gkConversionHiLo; 90 fConversionHiLoError = gkConversionHiLoError; 91 85 92 fHist = new MHCalibrationPixel("MHCalibrationPixel","Calibration Histograms Pixel "); 86 93 … … 124 131 // 8) Calculate the errors of the F-Factor method 125 132 // 126 // The fit is declared as valid, if:133 // The fit is declared valid (fFitValid = kTRUE), if: 127 134 // 128 135 // 1) Pixel has a fitted charge greater than 3*PedRMS … … 131 138 // 4) Pixel has a charge sigma bigger than its Pedestal RMS 132 139 // 5) If FitTimes is used, 133 // the mean arrival time is at least 1. 5 slices from the edge140 // the mean arrival time is at least 1.0 slices from the used edge slices 134 141 // 135 // The F-Factor method is declared asvalid, if:136 // 137 // 1) Pixel is FitValid142 // The conversion factor after the F-Factor method is declared valid, if: 143 // 144 // 1) fFitValid is kTRUE 138 145 // 2) Conversion Factor is bigger than 0. 139 146 // 3) The error of the conversion factor is smaller than 10% … … 142 149 { 143 150 151 // 152 // 1) Return if the charge distribution is already succesfully fitted 153 // 144 154 if (fHist->IsFitOK()) 145 155 return kTRUE; 146 156 157 // 158 // 2) Set a lower Fit range according to 1.5 Pedestal RMS in order to avoid 159 // possible remaining cosmics to spoil the fit. 160 // 147 161 if (fPed && fPedRms) 148 162 fHist->SetLowerFitRange(1.5*fPedRms); … … 150 164 *fLog << warn << "Cannot set lower fit range: Pedestals not available" << endl; 151 165 166 // 167 // 3) Decide if the LoGain Histogram is fitted or the HiGain Histogram 168 // 152 169 if (fHist->UseLoGain()) 153 170 { 154 171 155 172 SetHiGainSaturation(); 156 173 174 // 175 // 4) Fit the Lo Gain histograms with a Gaussian 176 // 157 177 if(!fHist->FitChargeLoGain()) 158 178 { 159 179 *fLog << warn << "Could not fit Lo Gain charges of pixel " << fPixId << endl; 180 // 181 // 5) In case of failure print out the fit results 182 // 160 183 fHist->PrintChargeFitResult(); 161 184 } … … 163 186 else 164 187 { 188 // 189 // 4) Fit the Hi Gain histograms with a Gaussian 190 // 165 191 if(!fHist->FitChargeHiGain()) 166 192 { 167 193 *fLog << warn << "Could not fit Hi Gain charges of pixel " << fPixId << endl; 194 // 195 // 5) In case of failure print out the fit results 196 // 168 197 fHist->PrintChargeFitResult(); 169 198 } … … 171 200 172 201 202 // 203 // 6) Retrieve the results and store them in this class 204 // 173 205 fCharge = fHist->GetChargeMean(); 174 206 fErrCharge = fHist->GetChargeMeanErr(); … … 187 219 fFitted = kTRUE; 188 220 189 if ( (fCharge > 3.*GetPedRms()) && 190 (fErrCharge > 0.) && 191 (fHist->IsFitOK()) && 192 (fSigmaCharge > fPedRms) && 193 (fTime > fHist->GetTimeLowerFitRange()+1.) && 194 (fTime < fHist->GetTimeUpperFitRange()-1.) ) 195 fFitValid = kTRUE; 196 197 // 198 // Apply the F-Factor Method 221 222 if (fHiGainSaturation) 223 { 224 if ( (fCharge > 0.3*GetPedRms()) && 225 (fErrCharge > 0.) && 226 (fHist->IsFitOK()) && 227 (fSigmaCharge > fPedRms/fConversionHiLo) && 228 (fTime > fHist->GetTimeLowerFitRange()+1.) && 229 (fTime < fHist->GetTimeUpperFitRange()-1.) ) 230 fFitValid = kTRUE; 231 } 232 else 233 { 234 if ( (fCharge > 3.*GetPedRms()) && 235 (fErrCharge > 0.) && 236 (fHist->IsFitOK()) && 237 (fSigmaCharge > fPedRms) && 238 (fTime > fHist->GetTimeLowerFitRange()+1.) && 239 (fTime < fHist->GetTimeUpperFitRange()-1.) ) 240 fFitValid = kTRUE; 241 } 242 243 // 244 // 7) Calculate the number of photo-electrons after the F-Factor method 245 // 8) Calculate the errors of the F-Factor method 199 246 // 200 247 if ((fPed > 0.) && (fPedRms > 0.)) … … 204 251 // Square all variables in order to avoid applications of square root 205 252 // 206 const Float_t chargesquare = fCharge*fCharge; 207 const Float_t chargessquarerelerrsquare = 4.*fErrCharge*fErrCharge/chargesquare; 208 209 const Float_t sigmasquare = fSigmaCharge*fSigmaCharge; 210 const Float_t sigmasquareerr = 2.*fErrSigmaCharge*fSigmaCharge; 211 212 const Float_t pedrmssquare = fPedRms*fPedRms; 213 const Float_t pedrmssquareerr = 2.*fErrPedRms*fPedRms; 214 215 const Float_t elecrmssquare = fElectronicPedRms*fElectronicPedRms; 216 const Float_t elecrmssquareerr = 2.*fErrElectronicPedRms*fElectronicPedRms; 217 218 const Float_t conversionsquare = gkConversionHiLo *gkConversionHiLo; 219 const Float_t conversionsquareerr = 2.*gkConversionHiLoError*gkConversionHiLo; 220 221 const Float_t ffactorrelerrsquare = fFactorError * fFactorError / fFactor / fFactor; 222 223 Float_t rsigmasquarerelerrsquare = 0.; 224 Float_t pheffactorrelerrsquare = 0.; 253 // First the relative error squares 254 // 255 const Float_t chargeSquare = fCharge* fCharge; 256 const Float_t chargeSquareRelErrSquare = 4.*fErrCharge*fErrCharge / chargeSquare; 257 258 const Float_t fFactorRelErrSquare = fFactorError * fFactorError / (fFactor * fFactor); 259 // 260 // Now the absolute error squares 261 // 262 const Float_t sigmaSquare = fSigmaCharge* fSigmaCharge; 263 const Float_t sigmaSquareErrSquare = 4.*fErrSigmaCharge*fErrSigmaCharge * sigmaSquare; 264 265 const Float_t elecRmsSquare = fElectronicPedRms* fElectronicPedRms; 266 const Float_t elecRmsSquareErrSquare = 4.*fErrElectronicPedRms*fErrElectronicPedRms * elecRmsSquare; 267 268 Float_t pedRmsSquare = fPedRms* fPedRms; 269 Float_t pedRmsSquareErrSquare = 4.*fErrPedRms*fErrPedRms * pedRmsSquare; 225 270 226 271 if (fHiGainSaturation) 227 272 { 228 273 229 274 // 230 275 // We do not know the Lo Gain Pedestal RMS, so we have to retrieve it … … 233 278 // We extract the pure NSB contribution: 234 279 // 235 Float_t nsb square = pedrmssquare - elecrmssquare;236 Float_t nsb squareerrsquare = pedrmssquareerr * pedrmssquareerr +237 elecrmssquareerr * elecrmssquareerr;238 239 if (nsb square < 0.)240 nsb square = 0.;280 Float_t nsbSquare = pedRmsSquare - elecRmsSquare; 281 Float_t nsbSquareRelErrSquare = (pedRmsSquareErrSquare + elecRmsSquareErrSquare) 282 / (nsbSquare * nsbSquare) ; 283 284 if (nsbSquare < 0.) 285 nsbSquare = 0.; 241 286 242 287 // … … 244 289 // add it quadratically to the electronic noise 245 290 // 246 Float_t logainrmssquare = nsbsquare/conversionsquare + elecrmssquare; 247 Float_t logainrmssquareerrsquare = nsbsquareerrsquare/conversionsquare/conversionsquare 248 + elecrmssquareerr * elecrmssquareerr 249 + conversionsquareerr*conversionsquareerr 250 / (conversionsquare*conversionsquare) 251 / (conversionsquare*conversionsquare); 252 // 253 // Calculate the reduced sigma with the new "Pedestal RMS" 254 // 255 fRSigmaSquare = sigmasquare - logainrmssquare; 256 rsigmasquarerelerrsquare = (sigmasquareerr * sigmasquareerr + logainrmssquareerrsquare) 257 / (fRSigmaSquare * fRSigmaSquare); 258 259 if (fRSigmaSquare > 0.) 260 { 261 fPheFFactorMethod = fFactor * chargesquare / fRSigmaSquare; 262 pheffactorrelerrsquare = ffactorrelerrsquare 263 + chargessquarerelerrsquare 264 + rsigmasquarerelerrsquare ; 265 } 291 const Float_t conversionSquare = fConversionHiLo *fConversionHiLo; 292 const Float_t conversionSquareRelErrSquare = 4.*fConversionHiLoError*fConversionHiLoError/conversionSquare; 293 294 // 295 // Calculate the new "Pedestal RMS" 296 // 297 const Float_t convertedNsbSquare = nsbSquare / conversionSquare; 298 const Float_t convertedNsbSquareErrSquare = (nsbSquareRelErrSquare + conversionSquareRelErrSquare) 299 * convertedNsbSquare * convertedNsbSquare; 300 301 pedRmsSquare = convertedNsbSquare + elecRmsSquare; 302 pedRmsSquareErrSquare = convertedNsbSquareErrSquare + elecRmsSquareErrSquare; 266 303 267 304 } /* if (fHiGainSaturation) */ 268 else 305 306 // 307 // Calculate the reduced sigmas 308 // 309 fRSigmaSquare = sigmaSquare - pedRmsSquare; 310 if (fRSigmaSquare <= 0.) 269 311 { 270 fRSigmaSquare = sigmasquare - pedrmssquare; 271 rsigmasquarerelerrsquare = ( sigmasquareerr * sigmasquareerr 272 + pedrmssquareerr * pedrmssquareerr) 273 / (fRSigmaSquare * fRSigmaSquare); 274 275 fPheFFactorMethod = fFactor * chargesquare / fRSigmaSquare; 276 // 277 // We first calculate the squared relative error in order to save the 278 // TMath::Sqrt 279 // 280 pheffactorrelerrsquare = ( ffactorrelerrsquare 281 + chargessquarerelerrsquare 282 + rsigmasquarerelerrsquare ); 283 284 285 } /* if (fHiGainSaturation) */ 286 287 288 if (fPheFFactorMethod <= 0.) 289 { 290 *fLog << warn << "Cannot apply F-Factor calibration: Number of PhE smaller than 0 in pixel " 312 *fLog << warn << "Cannot apply F-Factor calibration: Reduced Sigma smaller than 0 in pixel " 291 313 << fPixId << endl; 314 if (fHiGainSaturation) 315 ApplyLoGainConversion(); 292 316 return kFALSE; 293 317 } 294 295 fConversionFFactorMethod = fPheFFactorMethod / fCharge ; 296 fConversionErrorFFactorMethod = fConversionFFactorMethod * 297 ( pheffactorrelerrsquare + 298 (fErrCharge * fErrCharge / chargesquare ) ); 299 300 fPheFFactorMethodError = TMath::Sqrt(pheffactorrelerrsquare) * fPheFFactorMethod; 301 302 if ( IsFitValid() && 303 (fConversionFFactorMethod > 0.) && 318 319 const Float_t rSigmaSquareRelErrSquare = (sigmaSquareErrSquare + pedRmsSquareErrSquare) 320 / (fRSigmaSquare * fRSigmaSquare) ; 321 322 // 323 // Calculate the number of phe's from the F-Factor method 324 // (independent on Hi Gain or Lo Gain) 325 // 326 fPheFFactorMethod = fFactor * chargeSquare / fRSigmaSquare; 327 328 const Float_t pheFFactorRelErrSquare = fFactorRelErrSquare 329 + chargeSquareRelErrSquare 330 + rSigmaSquareRelErrSquare ; 331 332 fPheFFactorMethodError = TMath::Sqrt(pheFFactorRelErrSquare) * fPheFFactorMethod; 333 334 // 335 // Calculate the conversion factors 336 // 337 if (fHiGainSaturation) 338 ApplyLoGainConversion(); 339 340 const Float_t chargeRelErrSquare = fErrCharge*fErrCharge / (fCharge * fCharge); 341 342 fConversionFFactorMethod = fPheFFactorMethod / fCharge ; 343 fConversionErrorFFactorMethod = ( pheFFactorRelErrSquare + chargeRelErrSquare ) 344 * fConversionFFactorMethod * fConversionFFactorMethod; 345 346 if ( IsFitValid() && 347 (fConversionFFactorMethod > 0.) && 304 348 (fConversionErrorFFactorMethod/fConversionFFactorMethod < 0.1) ) 305 349 fFFactorMethodValid = kTRUE; 306 350 307 351 308 352 } /* if ((fPed > 0.) && (fPedRms > 0.)) */ 309 353 310 354 return kTRUE; 355 356 } 357 358 359 void MCalibrationPix::ApplyLoGainConversion() 360 { 361 362 const Float_t chargeRelErrSquare = fErrCharge*fErrCharge 363 /( fCharge * fCharge); 364 const Float_t sigmaRelErrSquare = fErrSigmaCharge*fErrSigmaCharge 365 /( fSigmaCharge * fSigmaCharge); 366 const Float_t conversionRelErrSquare = fConversionHiLoError*fConversionHiLoError 367 /(fConversionHiLo * fConversionHiLo); 368 369 fCharge *= fConversionHiLo; 370 fErrCharge = TMath::Sqrt(chargeRelErrSquare + conversionRelErrSquare) * fCharge; 371 372 fSigmaCharge *= fConversionHiLo; 373 fErrSigmaCharge = TMath::Sqrt(sigmaRelErrSquare + conversionRelErrSquare) * fSigmaCharge; 311 374 312 375 } -
trunk/MagicSoft/Mars/manalysis/MCalibrationPix.h
r2719 r2725 12 12 private: 13 13 14 Int_t fPixId; // the pixel Id14 Int_t fPixId; // the pixel Id 15 15 16 Float_t fCharge; // The mean reduced charge after the fit17 Float_t fErrCharge; // The error of reduced mean charge after the fit18 Float_t fSigmaCharge; // The sigma of the mean charge after the fit19 Float_t fErrSigmaCharge; // The error of the sigma of the mean charge after the fit20 Float_t fRSigmaSquare; // The reduced squares of sigmas after the fit21 Float_t fChargeProb; // The probability of the fit function16 Float_t fCharge; // The mean reduced charge after the fit 17 Float_t fErrCharge; // The error of reduced mean charge after the fit 18 Float_t fSigmaCharge; // The sigma of the mean charge after the fit 19 Float_t fErrSigmaCharge; // The error of the sigma of the mean charge after the fit 20 Float_t fRSigmaSquare; // The reduced squares of sigmas after the fit 21 Float_t fChargeProb; // The probability of the fit function 22 22 23 Float_t fPed; // The mean pedestal (from MPedestalPix)24 Float_t fPedRms; // The pedestal RMS (from MPedestalPix)25 Float_t fErrPedRms; // The error of the pedestal RMS (from MPedestalPix)26 Float_t fElectronicPedRms; // The pure electronic component of the RMS27 Float_t fErrElectronicPedRms; // The error of the pure electronic component of the RMS23 Float_t fPed; // The mean pedestal (from MPedestalPix) 24 Float_t fPedRms; // The pedestal RMS (from MPedestalPix) 25 Float_t fErrPedRms; // The error of the pedestal RMS (from MPedestalPix) 26 Float_t fElectronicPedRms; // The pure electronic component of the RMS 27 Float_t fErrElectronicPedRms; // The error of the pure electronic component of the RMS 28 28 29 Float_t fTime; // The mean arrival time after the fit30 Float_t fSigmaTime; // The error of the mean arrival time after the fit31 Float_t fTimeChiSquare; // The probability of the fit function29 Float_t fTime; // The mean arrival time after the fit 30 Float_t fSigmaTime; // The error of the mean arrival time after the fit 31 Float_t fTimeChiSquare; // The probability of the fit function 32 32 33 Float_t fFactor; // The laboratory F-factor34 Float_t fFactorError; // The laboratory F-factor Error35 Float_t fPheFFactorMethod; // The number of Phe's calculated after the F-factor method36 Float_t fPheFFactorMethodError; // The error on the number of Phe's calculated after the F-factor method33 Float_t fFactor; // The laboratory F-factor 34 Float_t fFactorError; // The laboratory F-factor Error 35 Float_t fPheFFactorMethod; // The number of Phe's calculated (F-factor method) 36 Float_t fPheFFactorMethodError; // The error on the number of Phe's calculated (F-factor method) 37 37 38 Float_t fConversionFFactorMethod; // The conversion factor to Ph's calculated after the F-factor method39 Float_t fConversionBlindPixelMethod; // The conversion factor to Ph's calculated after the Blind Pixel method40 Float_t fConversionPINDiodeMethod; // The conversion factor to Ph's calculated after the PIN Diode method38 Float_t fConversionFFactorMethod; // The conversion factor to Phe's (F-factor method) 39 Float_t fConversionBlindPixelMethod; // The conversion factor to Ph's (Blind Pixel method) 40 Float_t fConversionPINDiodeMethod; // The conversion factor to Ph's (PIN Diode method) 41 41 42 Float_t fConversionErrorFFactorMethod; // The conversion factor to Phe's calculated after the F-factor method43 Float_t fConversionErrorBlindPixelMethod; // The conversion factor to Phe's calculated after the Blind Pixel method44 Float_t fConversionErrorPINDiodeMethod; // The conversion factor to Phe's calculated after the PIN Diode method42 Float_t fConversionErrorFFactorMethod; // The error of the conversion factor to Phe's (F-factor method) 43 Float_t fConversionErrorBlindPixelMethod; // The error of the conversion factor to Ph's (Blind Pixel method) 44 Float_t fConversionErrorPINDiodeMethod; // The error of the conversion factor to Ph's (PIN Diode method) 45 45 46 Float_t fConversionSigmaFFactorMethod; // The conversion factor to Ph's calculated after the F-factor method47 Float_t fConversionSigmaBlindPixelMethod; // The conversion factor to Ph's calculated after the Blind Pixel method48 Float_t fConversionSigmaPINDiodeMethod; // The conversion factor to Phd's calculated after the PIN Diode method46 Float_t fConversionSigmaFFactorMethod; // The sigma of conversion factor to Ph's (F-factor method) 47 Float_t fConversionSigmaBlindPixelMethod; // The conversion factor to Ph's (Blind Pixel method) 48 Float_t fConversionSigmaPINDiodeMethod; // The conversion factor to Phd's (PIN Diode method) 49 49 50 Bool_t fHiGainSaturation; // Is Lo-Gain used at all? 50 Float_t fConversionHiLo; // The conversion factor between Hi Gain and Lo Gain 51 Float_t fConversionHiLoError; // The error of the conversion factor between Hi Gain and Lo Gain 52 53 Bool_t fHiGainSaturation; // Is Lo-Gain used at all? 51 54 52 55 Bool_t fFitValid; … … 81 84 82 85 void SetPedestal(Float_t ped, Float_t pedrms); 83 void SetHiGainSaturation() { fHiGainSaturation = kTRUE; fHist->SetUseLoGain(); }86 void SetHiGainSaturation() { fHiGainSaturation = kTRUE; fHist->SetUseLoGain(); } 84 87 88 void ApplyLoGainConversion(); 89 90 void SetConversionHiLo(Float_t c) { fConversionHiLo = c; } 91 void SetConversionHiLoError(Float_t e) { fConversionHiLoError = e; } 92 93 Float_t GetConversionHiLo() { return fConversionHiLo; } 94 Float_t GetConversionHiLoError() { return fConversionHiLoError; } 95 85 96 void SetConversionFFactorMethod(Float_t c, Float_t err, Float_t sig) 86 97 { … … 136 147 void SetFitValid() { fFitValid = kTRUE; } 137 148 void SetFitted() { fFitted = kTRUE; } 138 void SetBlindPixelMethodValid( ) { fBlindPixelMethodValid = kTRUE; }139 void SetFFactorMethodValid( ) { fFFactorMethodValid = kTRUE; }140 void SetPINDiodeMethodValid( ) { fPINDiodeMethodValid = kTRUE; }149 void SetBlindPixelMethodValid(Bool_t b=kTRUE) { fBlindPixelMethodValid = b; } 150 void SetFFactorMethodValid(Bool_t b=kTRUE) { fFFactorMethodValid = b; } 151 void SetPINDiodeMethodValid(Bool_t b=kTRUE) { fPINDiodeMethodValid = b; } 141 152 142 153 Int_t GetPixId() const { return fPixId; } -
trunk/MagicSoft/Mars/manalysis/MExtractSignal.cc
r2715 r2725 59 59 const char *name, const char *title) 60 60 : fNumHiGainSamples(last-first+1), fNumLoGainSamples(last-first+1), 61 fSaturationLimit(254) , fConversionHiLo(10.)61 fSaturationLimit(254) 62 62 { 63 63 … … 215 215 pix.SetExtractedSignal((Float_t)sumHi - pedes*(Float_t)fNumHiGainSamples, 216 216 pedrms*fSqrtHiGainSamples, 217 ((Float_t)sumLo - pedes*(Float_t)fNumLoGainSamples) *fConversionHiLo,217 ((Float_t)sumLo - pedes*(Float_t)fNumLoGainSamples), 218 218 pedrms*fSqrtLoGainSamples 219 219 ); -
trunk/MagicSoft/Mars/manalysis/MExtractSignal.h
r2715 r2725 41 41 42 42 Byte_t fSaturationLimit; 43 Float_t fConversionHiLo;44 43 45 44 Bool_t ReInit(MParList *pList); … … 50 49 public: 51 50 52 MExtractSignal(const Byte_t first=4, const Byte_t last=9, const Byte_t logainshift=1, const char *name=NULL, const char *title=NULL); 51 MExtractSignal(const Byte_t first=4, const Byte_t last=9, 52 const Byte_t logainshift=1, 53 const char *name=NULL, const char *title=NULL); 53 54 54 55 void SetSaturationLimit(Byte_t lim) { fSaturationLimit = lim; } 55 void SetConversionHiLo(Float_t con) { fConversionHiLo = con; }56 56 57 57 ClassDef(MExtractSignal, 0) // Task to fill the Extracted Signal Containers from raw data
Note:
See TracChangeset
for help on using the changeset viewer.