Changeset 3655
- Timestamp:
- 04/05/04 19:13:31 (21 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r3652 r3655 18 18 19 19 -*-*- END OF LINE -*-*- 20 21 2004/04/05: Markus Gaug 22 23 * msignal/MExtractedSignalPINDiode.h 24 - new function GetLastUsedSlice() 25 26 * mcalib/MCalibrationChargeCalc.[h,cc] 27 - holds also pointers to MExtractedSignalPINDiode and 28 MExtractedSignalBlindPixel and does the checks inside the task 29 (instead of inside the containers) 30 20 31 21 32 2004/04/05: Nadia Tonello -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
r3644 r3655 199 199 #include "MExtractedSignalCam.h" 200 200 #include "MExtractedSignalPix.h" 201 #include "MExtractedSignalBlindPixel.h" 202 #include "MExtractedSignalPINDiode.h" 201 203 202 204 #include "MBadPixelsCam.h" … … 224 226 fRawEvt(NULL), fRunHeader(NULL), fGeom(NULL), 225 227 fBadPixels(NULL), fEvtTime(NULL), 226 fSignals(NULL), fPINDiode(NULL), fBlindPixel(NULL) 228 fSignals(NULL), fSigBlind(NULL), fSigPIN(NULL), 229 fPINDiode(NULL), fBlindPixel(NULL) 227 230 { 228 231 … … 267 270 // - MRawEvtData 268 271 // - MPedestalCam 272 // - MExtractedSignalCam 273 // - MExtractedSignalBlindPixel 274 // - MExtractedSignalPINDiode 269 275 // 270 276 // The following output containers are also searched and created if … … 288 294 } 289 295 296 fPedestals = (MPedestalCam*)pList->FindObject("MPedestalCam"); 297 if (!fPedestals) 298 { 299 *fLog << err << "MPedestalCam not found... aborting" << endl; 300 return kFALSE; 301 } 302 303 fSignals = (MExtractedSignalCam*)pList->FindObject("MExtractedSignalCam"); 304 if (!fSignals) 305 { 306 *fLog << err << "MExtractedSignalCam not found... aborting" << endl; 307 return kFALSE; 308 } 309 310 fSigBlind = (MExtractedSignalBlindPixel*)pList->FindObject("MExtractedSignalBlindPixel"); 311 if (!fSigBlind) 312 *fLog << warn << "MExtractedSignalBlindPixel not found... no blind pixel method! " << endl; 313 else 314 { 315 fBlindPixel = (MCalibrationChargeBlindPix*)pList->FindCreateObj("MCalibrationChargeBlindPix"); 316 if (!fBlindPixel) 317 { 318 *fLog << err << "Cannot find nor create MCalibrationChargeBlindPix... aborting" << endl; 319 return kFALSE; 320 } 321 } 322 323 fSigPIN = (MExtractedSignalPINDiode*)pList->FindObject("MExtractedSignalPINDiode"); 324 if (!fSigPIN) 325 *fLog << warn << "MExtractedSignalPINDiode not found... no PIN Diode method! " << endl; 326 else 327 { 328 fPINDiode = (MCalibrationChargePINDiode*)pList->FindCreateObj("MCalibrationChargePINDiode"); 329 if (!fPINDiode) 330 { 331 *fLog << err << "Cannot find nor create MCalibrationChargePINDiode... aborting" << endl; 332 return kFALSE; 333 } 334 } 335 290 336 fCam = (MCalibrationChargeCam*)pList->FindCreateObj("MCalibrationChargeCam"); 291 337 if (!fCam) 292 return kFALSE; 338 { 339 *fLog << err << "Cannot find nor create MCalibrationChargeCam... aborting" << endl; 340 return kFALSE; 341 } 293 342 294 343 fQECam = (MCalibrationQECam*)pList->FindCreateObj("MCalibrationQECam"); 295 344 if (!fQECam) 296 return kFALSE; 297 298 fPINDiode = (MCalibrationChargePINDiode*)pList->FindCreateObj("MCalibrationChargePINDiode"); 299 if (!fPINDiode) 300 return kFALSE; 301 302 fBlindPixel = (MCalibrationChargeBlindPix*)pList->FindCreateObj("MCalibrationChargeBlindPix"); 303 if (!fBlindPixel) 304 return kFALSE; 345 { 346 *fLog << err << "Cannot find nor create MCalibrationQECam... aborting" << endl; 347 return kFALSE; 348 } 305 349 306 350 fEvtTime = (MTime*)pList->FindObject("MTime"); 307 308 fPedestals = (MPedestalCam*)pList->FindObject("MPedestalCam");309 if (!fPedestals)310 {311 *fLog << err << "MPedestalCam not found... aborting" << endl;312 return kFALSE;313 }314 315 fSignals = (MExtractedSignalCam*)pList->FindObject("MExtractedSignalCam");316 if (!fSignals)317 {318 *fLog << err << "MExtractedSignalCam not found... aborting" << endl;319 return kFALSE;320 }321 351 322 352 return kTRUE; … … 407 437 // Finalize pedestals: 408 438 // 409 // *Retrieve pedestal and pedestal RMS from MPedestalPix410 // *Retrieve total entries from MPedestalCam411 // * sum up pedestal and pedestalRMS for the average pixel412 // * set pedestal*number of used samples in MCalibrationChargePix413 // * set pedestal RMS * sqrt of number of used samples in MCalibrationChargePix439 // - Retrieve pedestal and pedestal RMS from MPedestalPix 440 // - Retrieve total entries from MPedestalCam 441 // - Sum up pedestal and pedestalRMS for the average pixel 442 // - Set pedestal*number of used samples in MCalibrationChargePix 443 // - Set pedestal RMS * sqrt of number of used samples in MCalibrationChargePix 414 444 // 415 445 // … … 472 502 } 473 503 504 // --------------------------------------------------------------------- 474 505 // 475 506 // Finalize charges per pixel: 476 // * Check chage validity 477 // * check absolute time validity 478 // * calculate the reduced sigma 479 // * caluclate the number of photo-electrons 480 // 507 // - Check chage validity 508 // - Check absolute time validity 509 // - Calculate the reduced sigma 510 // - Calculate the number of photo-electrons 481 511 // 482 512 Bool_t MCalibrationChargeCalc::FinalizeCharges(MCalibrationChargePix &cal, MBadPixelsPix &bad) … … 526 556 // The check returns kTRUE if: 527 557 // 528 // The mean arrival time is at least 1.0 slices from the lower edge slices and 2 slices from the upper edge 558 // The mean arrival time is at least fTimeLowerLimit slices from the lower edge 559 // and fUpperLimit slices from the upper edge 529 560 // 530 561 const Byte_t loweredge = cal.IsHiGainSaturation() ? fSignals->GetFirstUsedSliceLoGain() … … 575 606 } 576 607 577 // 578 // * Finalize the pedestals 579 // * Do the quality checks 580 // * Calculate the reduced sigma 581 // * Calculate the F-Factor Method 608 // ------------------------------------------------------------------------ 609 // 610 // Returns kFALSE if pointer to MExtractedSignalPINDiode is NULL 611 // Returns kFALSE if pointer to MCalibrationChargePINDiode is NULL 612 // 613 // The check return kTRUE if: 614 // 615 // 1) PINDiode has a fitted charge greater than fChargeLimit*PedRMS 616 // 2) PINDiode has a fit error greater than fChargeErrLimit 617 // 3) PINDiode has a fitted charge greater its fChargeRelErrLimit times its charge error 618 // 4) PINDiode has a charge sigma bigger than its Pedestal RMS 619 // 5) The mean arrival time is at least fTimeLowerLimit slices from the lower edge 620 // and fUpperLimit slices from the upper edge 621 // 622 Bool_t MCalibrationChargeCalc::FinalizePINDiode() 623 { 624 625 if (!fSigPIN) 626 return kFALSE; 627 628 if (!fPINDiode) 629 return kFALSE; 630 631 if (fPINDiode->GetMean() < fChargeLimit*fPINDiode->GetPedRms()) 632 { 633 *fLog << warn << "WARNING: Fitted Charge is smaller than " 634 << fChargeLimit << " Pedestal RMS in PINDiode " << endl; 635 return kFALSE; 636 } 637 638 if (fPINDiode->GetMeanErr() < fChargeErrLimit) 639 { 640 *fLog << warn << "WARNING: Error of Fitted Charge is smaller than " 641 << fChargeErrLimit << " in PINDiode " << endl; 642 return kFALSE; 643 } 644 645 if (fPINDiode->GetMean() < fChargeRelErrLimit*fPINDiode->GetMeanErr()) 646 { 647 *fLog << warn << "WARNING: Fitted Charge is smaller than " 648 << fChargeRelErrLimit << "* its error in PINDiode " << endl; 649 return kFALSE; 650 } 651 652 if (fPINDiode->GetSigma() < fPINDiode->GetPedRms()) 653 { 654 *fLog << warn << "WARNING: Sigma of Fitted Charge smaller than Pedestal RMS in PINDiode " << endl; 655 return kFALSE; 656 } 657 658 const Byte_t loweredge = fSigPIN->GetFirstUsedSlice(); 659 const Byte_t upperedge = fSigPIN->GetLastUsedSlice(); 660 const Float_t lowerlimit = (Float_t)loweredge + fTimeLowerLimit; 661 const Float_t upperlimit = (Float_t)upperedge + fTimeUpperLimit; 662 663 if (fPINDiode->GetAbsTimeMean() < lowerlimit) 664 { 665 *fLog << warn << "WARNING: Mean ArrivalTime in first " << fTimeLowerLimit 666 << " extraction bin in PIN Diode " << endl; 667 *fLog << fPINDiode->GetAbsTimeMean() << " " << lowerlimit << endl; 668 return kFALSE; 669 } 670 671 if ( fPINDiode->GetAbsTimeMean() > upperlimit ) 672 { 673 *fLog << warn << "WARNING: Mean ArrivalTime in last " << fTimeUpperLimit 674 << " two extraction bins in PIN Diode " << endl; 675 *fLog << fPINDiode->GetAbsTimeMean() << " " << upperlimit << endl; 676 return kFALSE; 677 } 678 679 if (!fPINDiode->CalcFluxOutsidePlexiglass()) 680 { 681 *fLog << warn << "Could not calculate the flux of photons from the PIN Diode, " 682 << "will skip PIN Diode Calibration " << endl; 683 return kFALSE; 684 } 685 686 return kTRUE; 687 } 688 689 690 // ----------------------------------------------------------------------- 691 // 692 // - Finalize the pedestals 693 // - Do the quality checks 694 // - Calculate the reduced sigma 695 // - Calculate the F-Factor Method 582 696 // 583 697 Int_t MCalibrationChargeCalc::PostProcess() … … 698 812 // PIN Diode calibration 699 813 // 700 if (!fPINDiode->CheckChargeFitValidity() || !fPINDiode->CheckTimeFitValidity()) 701 { 702 *fLog << warn << "Could not calculate the flux of photons from the PIN Diode, " 703 << "charge fit not valid " << endl; 704 fCam->SetPINDiodeMethodValid(kFALSE); 705 } 814 if (!FinalizePINDiode()) 815 fCam->SetPINDiodeMethodValid(kFALSE); 706 816 else 707 { 708 if (!fPINDiode->CalcFluxOutsidePlexiglass()) 709 { 710 *fLog << warn << "Could not calculate the flux of photons from the PIN Diode, " 711 << "will skip PIN Diode Calibration " << endl; 712 fCam->SetPINDiodeMethodValid(kFALSE); 713 } 714 else 715 { 716 fCam->SetPINDiodeMethodValid(kTRUE); 717 fCam->ApplyPINDiodeCalibration(*fGeom,*fBadPixels, *fPINDiode); 718 } 719 } 817 { 818 fCam->SetPINDiodeMethodValid(kTRUE); 819 fCam->ApplyPINDiodeCalibration(*fGeom,*fBadPixels, *fPINDiode); 820 } 720 821 721 822 fCam->SetReadyToSave(); -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h
r3602 r3655 30 30 class MGeomCam; 31 31 class MExtractedSignalCam; 32 class MExtractedSignalBlindPixel; 33 class MExtractedSignalPINDiode; 32 34 class MBadPixelsCam; 33 35 class MBadPixelsPix; … … 37 39 private: 38 40 39 static const Float_t fgChargeLimit; // The default for fChargeLimit40 static const Float_t fgChargeErrLimit; // The default for fChargeErrLimit41 static const Float_t fgChargeRelErrLimit; // The default for fChargeRelErrLimit42 static const Float_t fgTimeLowerLimit; // The default for fTimeLowerLimit43 static const Float_t fgTimeUpperLimit; // The default for fTimeUpperLimit41 static const Float_t fgChargeLimit; // Default for fChargeLimit (now set to: 3.) 42 static const Float_t fgChargeErrLimit; // Default for fChargeErrLimit (now set to: 0.) 43 static const Float_t fgChargeRelErrLimit; // Default for fChargeRelErrLimit (now set to: 1.) 44 static const Float_t fgTimeLowerLimit; // Default for fTimeLowerLimit (now set to: 1.) 45 static const Float_t fgTimeUpperLimit; // Default for fTimeUpperLimit (now set to: 2.) 44 46 45 Float_t fChargeLimit; // The limit (in units of PedRMS) for acceptance of the fittedmean charge46 Float_t fChargeErrLimit; // The limit (in units of PedRMS) for acceptance of the fittedcharge sigma square47 Float_t fChargeRelErrLimit; // The limit (in units of Sigma of fitted charge) for acceptance of the fittedmean48 Float_t fTimeLowerLimit; // The limit (in units of FADC slices) for distance to first signal extractionslice49 Float_t fTimeUpperLimit; // The limit (in units of FADC slices) for distance to last signal extractionslice47 Float_t fChargeLimit; // Limit (in units of PedRMS) for acceptance of mean charge 48 Float_t fChargeErrLimit; // Limit (in units of PedRMS) for acceptance of charge sigma square 49 Float_t fChargeRelErrLimit; // Limit (in units of Sigma of fitted charge) for acceptance of mean 50 Float_t fTimeLowerLimit; // Limit (in units of FADC slices) for dist. to first signal slice 51 Float_t fTimeUpperLimit; // Limit (in units of FADC slices) for dist. to last signal slice 50 52 51 53 MPedestalCam *fPedestals; //! Pedestals of all pixels in the camera … … 59 61 MTime *fEvtTime; //! Time of the event 60 62 61 MExtractedSignalCam *fSignals; // Extracted signal of all pixels in the camera 63 MExtractedSignalCam *fSignals; //! Extracted signal of pixels in the camera 64 MExtractedSignalBlindPixel *fSigBlind; //! Extracted signal of Blind Pixel 65 MExtractedSignalPINDiode *fSigPIN; //! Extracted signal of PIN Diode 66 62 67 MCalibrationChargePINDiode *fPINDiode; // Calibration results of the PIN Diode 63 68 MCalibrationChargeBlindPix *fBlindPixel; // Calibration results of the Blind Pixel … … 83 88 void FinalizeAvPedestals(MCalibrationChargePix &cal, Float_t avped, Float_t avrms, Int_t avnum); 84 89 Bool_t FinalizeCharges(MCalibrationChargePix &cal, MBadPixelsPix &bad); 85 90 Bool_t FinalizePINDiode(); 91 86 92 void PrintUnsuitable(MBadPixelsPix::UnsuitableType_t typ, const char *text) const; 87 93 void PrintUncalibrated(MBadPixelsPix::UncalibratedType_t typ, const char *text) const; -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargePINDiode.cc
r3642 r3655 102 102 SetOscillating ( kFALSE ); 103 103 SetExcluded ( kFALSE ); 104 SetExcludeQualityCheck ( kFALSE );105 104 } 106 105 … … 114 113 SetChargeFitValid ( kFALSE ); 115 114 SetTimeFitValid ( kFALSE ); 116 SetMeanTimeInFirstBin ( kFALSE );117 SetMeanTimeInLastBin ( kFALSE );118 115 119 116 fPed = -1.; … … 128 125 fAbsTimeRms = -1.; 129 126 130 fTimeLowerEdge = -1.;131 fTimeUpperEdge = -1.;132 133 127 fConvertedPhotons = -1.; 134 128 fConvertedPhotonsErr = -1.; … … 166 160 // Set the Excluded Bit from outside 167 161 // 168 void MCalibrationChargePINDiode::SetExcludeQualityCheck(Bool_t b )169 {170 b ? SETBIT(fCalibFlags, kExcludeQualityCheck) : CLRBIT(fCalibFlags, kExcludeQualityCheck);171 }172 173 // --------------------------------------------------------------------------174 //175 // Set the Excluded Bit from outside176 //177 162 void MCalibrationChargePINDiode::SetChargeFitValid(Bool_t b ) 178 163 { … … 194 179 } 195 180 196 void MCalibrationChargePINDiode::SetMeanTimeInFirstBin(const Bool_t b)197 {198 b ? SETBIT(fCalibFlags,kMeanTimeInFirstBin) : CLRBIT(fCalibFlags,kMeanTimeInFirstBin);199 }200 201 void MCalibrationChargePINDiode::SetMeanTimeInLastBin(const Bool_t b)202 {203 b ? SETBIT(fCalibFlags,kMeanTimeInLastBin) : CLRBIT(fCalibFlags,kMeanTimeInLastBin);204 }205 206 Bool_t MCalibrationChargePINDiode::IsMeanTimeInFirstBin() const207 {208 return TESTBIT(fCalibFlags,kMeanTimeInFirstBin);209 }210 211 Bool_t MCalibrationChargePINDiode::IsMeanTimeInLastBin() const212 {213 return TESTBIT(fCalibFlags,kMeanTimeInLastBin);214 }215 216 181 Bool_t MCalibrationChargePINDiode::IsChargeFitValid() const 217 182 { … … 222 187 { 223 188 return TESTBIT(fCalibFlags, kTimeFitValid); 224 }225 226 //227 // The check return kTRUE if:228 //229 // 1) PINDiode has a fitted charge greater than fChargeLimit*PedRMS230 // 2) PINDiode has a fit error greater than fChargeErrLimit231 // 3) PINDiode has a fitted charge greater its fChargeRelErrLimit times its charge error232 // 4) PINDiode has a charge sigma bigger than its Pedestal RMS233 //234 Bool_t MCalibrationChargePINDiode::CheckChargeFitValidity()235 {236 237 238 if (GetMean() < fChargeLimit*GetPedRms())239 {240 *fLog << warn << "WARNING: Fitted Charge is smaller than "241 << fChargeLimit << " Pedestal RMS in PINDiode " << endl;242 return kFALSE;243 }244 245 if (GetMeanErr() < fChargeErrLimit)246 {247 *fLog << warn << "WARNING: Error of Fitted Charge is smaller than "248 << fChargeErrLimit << " in PINDiode " << endl;249 return kFALSE;250 }251 252 if (GetMean() < fChargeRelErrLimit*GetMeanErr())253 {254 *fLog << warn << "WARNING: Fitted Charge is smaller than "255 << fChargeRelErrLimit << "* its error in PINDiode " << endl;256 return kFALSE;257 }258 259 if (GetSigma() < GetPedRms())260 {261 *fLog << warn << "WARNING: Sigma of Fitted Charge smaller than Pedestal RMS in PINDiode " << endl;262 return kFALSE;263 }264 return kTRUE;265 }266 267 //268 // The check returns kTRUE if:269 //270 // The mean arrival time is at least 1.0 slices from the used edge slices271 //272 Bool_t MCalibrationChargePINDiode::CheckTimeFitValidity()273 {274 275 if ( fAbsTimeMean < fTimeLowerEdge+1.)276 {277 *fLog << warn << "WARNING: Mean ArrivalTime in first extraction bin of the PINDiode " << endl;278 SetMeanTimeInFirstBin();279 return kFALSE;280 }281 282 if ( fAbsTimeMean > fTimeUpperEdge-1.)283 {284 *fLog << warn << "WARNING: Mean ArrivalTime in last extraction bin of the PINDiode " << endl;285 SetMeanTimeInLastBin();286 return kFALSE;287 }288 289 return kTRUE;290 189 } 291 190 -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargePINDiode.h
r3642 r3655 10 10 private: 11 11 12 static const Float_t fgChargeLimit; // The default limit (in units of PedRMS) for acceptance of the fitted mean charge 13 static const Float_t fgChargeErrLimit; // The default limit (in units of PedRMS) for acceptance of the fitted charge sigma 14 static const Float_t fgChargeRelErrLimit; // The default limit (in units of Error of fitted charge) for acceptance of the fitted mean 12 static const Float_t fgChargeLimit; //! Default for fChargeLimit 13 static const Float_t fgChargeErrLimit; //! Default for fChargeErrLimit 14 static const Float_t fgChargeRelErrLimit; //! Default for fChargeRelErrLimit 15 static const Float_t fgConversionChargePhotons; //! Default for fConversionChargePhotons 16 static const Float_t fgConversionChargePhotonsErr; //! Default for fConversionChargePhotonsErr 17 static const Float_t gkPINDiodeArea; //! PIN Diode Effective Area in mm^2 18 static const Float_t gkFluxCameravsPINDiode; //! Flux Conversion PIN Diode - inner pixel 19 static const Float_t gkFluxCameravsPINDiodeErr; //! Error of flux conv. PIN Diode - inner pixel 20 static const Float_t gkPINDiodeQEGreen; //! Quantum Efficiency at 520 nm 21 static const Float_t gkPINDiodeQEBlue; //! Quantum Efficiency at 460 nm 22 static const Float_t gkPINDiodeQEUV; //! Quantum Efficiency at 370 nm 23 static const Float_t gkPINDiodeQECT1; //! Quantum Efficiency at 370 nm 24 static const Float_t gkPINDiodeQEGreenErr; //! Uncertainty QE at 520 nm 25 static const Float_t gkPINDiodeQEBlueErr ; //! Uncertainty QE at 460 nm 26 static const Float_t gkPINDiodeQEUVErr ; //! Uncertainty QE at 370 nm 27 static const Float_t gkPINDiodeQECT1Err ; //! Uncertainty QE at 370 nmu 28 15 29 16 static const Float_t fgConversionChargePhotons; // The default mean conversion from PIN Diode charge to the number of incident photons 17 static const Float_t fgConversionChargePhotonsErr; // The default error of the mean conversion from PIN Diode charge to the number of incident photons 18 19 static const Float_t gkPINDiodeArea; // The Blind Pixel area in mm^2 20 21 static const Float_t gkFluxCameravsPINDiode ; 22 static const Float_t gkFluxCameravsPINDiodeErr ; 23 24 static const Float_t gkPINDiodeQEGreen; 25 static const Float_t gkPINDiodeQEBlue ; 26 static const Float_t gkPINDiodeQEUV ; 27 static const Float_t gkPINDiodeQECT1 ; 28 29 static const Float_t gkPINDiodeQEGreenErr; 30 static const Float_t gkPINDiodeQEBlueErr ; 31 static const Float_t gkPINDiodeQEUVErr ; 32 static const Float_t gkPINDiodeQECT1Err ; 33 34 Float_t fChargeLimit; // The limit (in units of PedRMS) for acceptance of the fitted mean charge 35 Float_t fChargeErrLimit; // The limit (in units of PedRMS) for acceptance of the fitted charge sigma 36 Float_t fChargeRelErrLimit; // The limit (in units of Error of fitted charge) for acceptance of the fitted mean 37 38 Float_t fConversionChargePhotons; // The mean conversion from PIN Diode charge to the number of incident photons 39 Float_t fConversionChargePhotonsErr; // The error of the mean conversion from PIN Diode charge to the number of incident photons 40 41 Float_t fPed; // The mean pedestal (from MPedestalPix) 42 Float_t fPedRms; // The pedestal RMS (from MPedestalPix) 43 44 Float_t fRmsChargeMean; 45 Float_t fRmsChargeMeanErr; 46 Float_t fRmsChargeSigma; 47 Float_t fRmsChargeSigmaErr; 48 49 Byte_t fCalibFlags; // Flag for the set Bits 50 51 Float_t fAbsTimeMean; 52 Float_t fAbsTimeRms; 53 54 Float_t fTimeLowerEdge; 55 Float_t fTimeUpperEdge; 56 57 Float_t fConvertedPhotons; 58 Float_t fConvertedPhotonsErr; 59 60 Float_t fMeanFluxOutsidePlexiglass; // The mean number of photons in an INNER PIXEL outside the plexiglass 61 Float_t fMeanFluxErrOutsidePlexiglass; // The uncertainty about the number of photons in an INNER PIXEL 30 Float_t fAbsTimeMean; // Mean Absolute Arrival Time 31 Float_t fAbsTimeRms; // RMS Mean Absolute Arrival Time 32 Byte_t fCalibFlags; // Bit-field for the class-own bits 33 Float_t fChargeLimit; // Limit (in units of PedRMS) for acceptance fitted mean charge 34 Float_t fChargeErrLimit; // Limit (in units of PedRMS) for acceptance fitted charge sigma 35 Float_t fChargeRelErrLimit; // Limit (in units of Error of fitted charge) for acceptance fitted mean 36 Float_t fConversionChargePhotons; // Mean conv. PIN Diode charge to number of incident photons 37 Float_t fConversionChargePhotonsErr; // Error mean conv. PIN Diode charge to nr. incident photons 38 Float_t fConvertedPhotons; // Number photons incidident on PIN Diode 39 Float_t fConvertedPhotonsErr; // Error on nr. photons incid. on PIN Diode 40 Float_t fMeanFluxOutsidePlexiglass; // Mean number photons in INNER PIXEL outside plexiglass 41 Float_t fMeanFluxErrOutsidePlexiglass; // Error on nr. photons in INNER PIXEL outside plexiglass 42 Float_t fPed; // Mean pedestal (from MPedestalPix) 43 Float_t fPedRms; // Pedestal RMS (from MPedestalPix) 44 Float_t fRmsChargeMean; // Mean of RMS of summed FADC slices distribution 45 Float_t fRmsChargeMeanErr; // Error on Mean RMS summed FADC slices distribution 46 Float_t fRmsChargeSigma; // Sigma of RMS of summed FADC slices distribution 47 Float_t fRmsChargeSigmaErr; // Error on Sigma RMS summed FADC slices distribution 62 48 63 49 PulserColor_t fColor; 64 50 65 enum { k ExcludeQualityCheck, kOscillating,51 enum { kOscillating, 66 52 kChargeFitValid, kTimeFitValid, 67 kMeanTimeInFirstBin, kMeanTimeInLastBin,68 53 kFluxOutsidePlexiglassAvailable }; 69 54 … … 96 81 97 82 void SetOscillating ( const Bool_t b=kTRUE); 98 void SetExcludeQualityCheck( const Bool_t b = kTRUE );99 83 void SetChargeFitValid ( const Bool_t b = kTRUE ); 100 84 void SetTimeFitValid ( const Bool_t b = kTRUE ); 101 85 void SetFluxOutsidePlexiglassAvailable ( const Bool_t b = kTRUE ); 102 103 // Setters ONLY for MC:104 void SetMeanTimeInFirstBin( const Bool_t b = kTRUE );105 void SetMeanTimeInLastBin ( const Bool_t b = kTRUE );106 86 107 87 // Getters … … 110 90 111 91 // Pedestals 112 Float_t GetPed() const { return fPed; } 113 Float_t GetPedRms() const { return fPedRms; } 114 92 Float_t GetAbsTimeMean() const { return fAbsTimeMean; } 93 Float_t GetAbsTimeRms () const { return fAbsTimeRms; } 94 Float_t GetPed() const { return fPed; } 95 Float_t GetPedRms() const { return fPedRms; } 115 96 116 97 Bool_t IsChargeFitValid() const; 117 98 Bool_t IsTimeFitValid() const; 118 99 119 Bool_t IsMeanTimeInFirstBin() const;120 Bool_t IsMeanTimeInLastBin() const;121 122 Bool_t CheckChargeFitValidity();123 Bool_t CheckTimeFitValidity();124 100 Bool_t CalcFluxOutsidePlexiglass(); 125 101 126 ClassDef(MCalibrationChargePINDiode, 1) // Container for CalibrationPIN Diode102 ClassDef(MCalibrationChargePINDiode, 1) // Container Charge Calibration Results PIN Diode 127 103 }; 128 104 -
trunk/MagicSoft/Mars/mcalib/MCalibrationQEPix.h
r3647 r3655 10 10 private: 11 11 12 Float_t fQEGreen; // The calibrated quantum efficiency at 520 nm 13 Float_t fQEBlue; // The calibrated quantum efficiency at 460 nm 14 Float_t fQEUV; // The calibrated quantum efficiency at 370 nm 15 Float_t fQECT1; // The calibrated quantum efficiency at 370 nm 16 17 Float_t fQEGreenErr; // The uncertainty about the calibrated QE at 520 nm 18 Float_t fQEBlueErr; // The uncertainty about the calibrated QE at 460 nm 19 Float_t fQEUVErr; // The uncertainty about the calibrated QE at 370 nm 20 Float_t fQECT1Err; // The uncertainty about the calibrated QE at 370 nm 12 Float_t fQEGreen; // Calibrated quantum efficiency at 520 nm 13 Float_t fQEBlue; // Calibrated quantum efficiency at 460 nm 14 Float_t fQEUV; // Calibrated quantum efficiency at 370 nm 15 Float_t fQECT1; // Calibrated quantum efficiency at 370 nm 16 Float_t fQEGreenErr; // Uncertainty calibrated QE at 520 nm 17 Float_t fQEBlueErr; // Uncertainty calibrated QE at 460 nm 18 Float_t fQEUVErr; // Uncertainty calibrated QE at 370 nm 19 Float_t fQECT1Err; // Uncertainty calibrated QE at 370 nm 21 20 22 21 public: -
trunk/MagicSoft/Mars/msignal/MExtractedSignalPINDiode.h
r3322 r3655 35 35 36 36 // Getter 37 Float_t GetExtractedSignal() const { return fExtractedSignal; } 38 Float_t GetExtractedSignalErr() const { return fExtractedSignalErr; } 39 Float_t GetExtractedTime() const { return fExtractedTime; } 40 Float_t GetExtractedTimeErr() const { return fExtractedTimeErr; } 41 Float_t GetExtractedRms() const { return fExtractedRms; } 42 Float_t GetExtractedRmsErr() const { return fExtractedRmsErr; } 43 44 Byte_t GetNumFADCSamples() const { return fNumFADCSamples; } 45 46 37 Float_t GetExtractedSignal() const { return fExtractedSignal; } 38 Float_t GetExtractedSignalErr() const { return fExtractedSignalErr; } 39 Float_t GetExtractedTime() const { return fExtractedTime; } 40 Float_t GetExtractedTimeErr() const { return fExtractedTimeErr; } 41 Float_t GetExtractedRms() const { return fExtractedRms; } 42 Float_t GetExtractedRmsErr() const { return fExtractedRmsErr; } 43 Byte_t GetNumFADCSamples() const { return fNumFADCSamples; } 44 Byte_t GetFirstUsedSlice() const { return fFirst; } 45 Byte_t GetLastUsedSlice() const { return fFirst+fNumFADCSamples; } 47 46 48 47 Bool_t IsValid() const;
Note:
See TracChangeset
for help on using the changeset viewer.