Changeset 8414 for trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
- Timestamp:
- 04/18/07 14:34:45 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
r8369 r8414 111 111 #include "MEvtLoop.h" 112 112 113 #include "MHCamEvent.h"114 113 #include "MHCamera.h" 115 114 #include "MGeomCam.h" 116 117 #include "MPedestalCam.h"118 #include "MPedestalSubtract.h"119 #include "MCalibColorSteer.h"120 121 #include "MCalibrationIntensityChargeCam.h"122 #include "MCalibrationIntensityBlindCam.h"123 #include "MCalibrationIntensityRelTimeCam.h"124 #include "MCalibrationIntensityQECam.h"125 115 126 116 #include "MCalibrationPatternDecode.h" … … 163 153 #include "MExtractPINDiode.h" 164 154 #include "MExtractBlindPixel.h" 165 //#include "MExtractSlidingWindow.h"166 //#include "MExtractTimeHighestIntegral.h"167 155 #include "MExtractTimeAndChargeSpline.h" 168 156 #include "MFCosmics.h" … … 193 181 // 194 182 // - fExtractor to NULL, fTimeExtractor to NULL, fColor to kNONE, 195 // fDisplay to kNormalDisplay, kRelTimes to kFALSE, kataCheck to kFALSE, kDebug to kFALSE, 196 // kIntensity to kFALSE 183 // fDisplay to kNormalDisplay, kRelTimes to kFALSE, kataCheck to kFALSE, kDebug to kFALSE 197 184 // - SetUseBlindPixel() 198 185 // - SetUsePINDiode() … … 210 197 SetRelTimeCalibration(); 211 198 SetDebug(kFALSE); 212 SetIntensity(kFALSE);213 199 214 200 SetReferenceFile(); … … 368 354 MHCamera disp37(geomcam, "TotalConvPhe", "Conversion Factor to equiv. Phe's"); 369 355 370 MCalibrationChargeCam *cam = NULL;371 MCalibrationQECam *qecam = NULL;372 MCalibrationRelTimeCam *relcam = NULL;373 MBadPixelsCam *badcam = NULL;374 375 if (IsIntensity())376 {377 cam = (MCalibrationChargeCam*) fIntensCalibCam.GetCam();378 qecam = (MCalibrationQECam*) fIntensQECam.GetCam();379 relcam = (MCalibrationRelTimeCam*)fIntensRelTimeCam.GetCam();380 badcam = (MBadPixelsCam*) fIntensBadCam.GetCam();381 }382 else383 {384 cam = &fCalibrationCam;385 qecam = &fQECam;386 relcam = &fRelTimeCam;387 badcam = &fBadPixels;388 }389 390 356 // Fitted charge means and sigmas 391 disp1.SetCamContent( *cam, 0);392 disp1.SetCamError( *cam, 1);393 disp2.SetCamContent( *cam, 2);394 disp2.SetCamError( *cam, 3);357 disp1.SetCamContent(fCalibrationCam, 0); 358 disp1.SetCamError( fCalibrationCam, 1); 359 disp2.SetCamContent(fCalibrationCam, 2); 360 disp2.SetCamError( fCalibrationCam, 3); 395 361 396 362 // Reduced Sigmas and reduced sigmas per charge 397 disp3.SetCamContent( *cam, 5);398 disp3.SetCamError( *cam, 6);399 disp4.SetCamContent( *cam, 7);400 disp4.SetCamError( *cam, 8);363 disp3.SetCamContent(fCalibrationCam, 5); 364 disp3.SetCamError( fCalibrationCam, 6); 365 disp4.SetCamContent(fCalibrationCam, 7); 366 disp4.SetCamError( fCalibrationCam, 8); 401 367 402 368 // F-Factor Method 403 disp5.SetCamContent( *cam, 9);404 disp5.SetCamError( *cam, 10);405 disp6.SetCamContent( *cam, 11);406 disp6.SetCamError( *cam, 12);407 disp7.SetCamContent( *cam, 13);408 disp7.SetCamError( *cam, 14);369 disp5.SetCamContent(fCalibrationCam, 9); 370 disp5.SetCamError( fCalibrationCam, 10); 371 disp6.SetCamContent(fCalibrationCam, 11); 372 disp6.SetCamError( fCalibrationCam, 12); 373 disp7.SetCamContent(fCalibrationCam, 13); 374 disp7.SetCamError( fCalibrationCam, 14); 409 375 410 376 // Quantum Efficiencies 411 disp8.SetCamContent ( *qecam, 0 );412 disp8.SetCamError ( *qecam, 1 );413 disp9.SetCamContent ( *qecam, 2 );414 disp9.SetCamError ( *qecam, 3 );415 disp10.SetCamContent( *qecam, 4 );416 disp10.SetCamError ( *qecam, 5 );417 disp11.SetCamContent( *qecam, 6 );418 disp11.SetCamError ( *qecam, 7 );377 disp8.SetCamContent (fQECam, 0 ); 378 disp8.SetCamError (fQECam, 1 ); 379 disp9.SetCamContent (fQECam, 2 ); 380 disp9.SetCamError (fQECam, 3 ); 381 disp10.SetCamContent(fQECam, 4 ); 382 disp10.SetCamError (fQECam, 5 ); 383 disp11.SetCamContent(fQECam, 6 ); 384 disp11.SetCamError (fQECam, 7 ); 419 385 420 386 // Valid flags 421 disp12.SetCamContent( *qecam, 8 );422 disp13.SetCamContent( *qecam, 9 );423 disp14.SetCamContent( *qecam, 10);424 disp15.SetCamContent( *qecam, 11);387 disp12.SetCamContent(fQECam, 8 ); 388 disp13.SetCamContent(fQECam, 9 ); 389 disp14.SetCamContent(fQECam, 10); 390 disp15.SetCamContent(fQECam, 11); 425 391 426 392 // Conversion Hi-Lo 427 disp16.SetCamContent( *cam, 25);428 disp17.SetCamContent( *cam, 16);429 disp17.SetCamError ( *cam, 17);430 disp18.SetCamContent( *cam, 18);431 disp18.SetCamError ( *cam, 19);393 disp16.SetCamContent(fCalibrationCam, 25); 394 disp17.SetCamContent(fCalibrationCam, 16); 395 disp17.SetCamError (fCalibrationCam, 17); 396 disp18.SetCamContent(fCalibrationCam, 18); 397 disp18.SetCamError (fCalibrationCam, 19); 432 398 433 399 // Pickup and Blackout 434 disp19.SetCamContent( *cam, 21);435 disp20.SetCamContent( *cam, 22);436 disp21.SetCamContent( *cam, 23);437 disp22.SetCamContent( *cam, 24);400 disp19.SetCamContent(fCalibrationCam, 21); 401 disp20.SetCamContent(fCalibrationCam, 22); 402 disp21.SetCamContent(fCalibrationCam, 23); 403 disp22.SetCamContent(fCalibrationCam, 24); 438 404 439 405 // Pixels with defects 440 disp23.SetCamContent( *cam, 20);441 disp24.SetCamContent( *badcam, 6);442 disp25.SetCamContent( *badcam, 7);406 disp23.SetCamContent(fCalibrationCam, 20); 407 disp24.SetCamContent(fBadPixels, 6); 408 disp25.SetCamContent(fBadPixels, 7); 443 409 444 410 // Oscillations 445 disp26.SetCamContent( *badcam, 10);446 disp27.SetCamContent( *badcam, 11);411 disp26.SetCamContent(fBadPixels, 10); 412 disp27.SetCamContent(fBadPixels, 11); 447 413 448 414 // Arrival Times 449 disp28.SetCamContent( *cam, 26);450 disp28.SetCamError( *cam, 27);451 disp29.SetCamContent( *cam, 27);415 disp28.SetCamContent(fCalibrationCam, 26); 416 disp28.SetCamError( fCalibrationCam, 27); 417 disp29.SetCamContent(fCalibrationCam, 27); 452 418 453 419 // RMS and Mean 454 disp36.SetCamContent( *cam,32);455 disp36.SetCamError( *cam,33);420 disp36.SetCamContent(fCalibrationCam,32); 421 disp36.SetCamError(fCalibrationCam,33); 456 422 457 423 disp1.SetYTitle("Q [FADC cnts]"); … … 498 464 { 499 465 500 MCalibrationChargePix &pix = (MCalibrationChargePix&) (*cam)[i];501 MCalibrationQEPix &qe = (MCalibrationQEPix&) (*qecam)[i];466 MCalibrationChargePix &pix = (MCalibrationChargePix&)fCalibrationCam[i]; 467 MCalibrationQEPix &qe = (MCalibrationQEPix&)fQECam[i]; 502 468 503 469 if (!pix.IsFFactorMethodValid()) … … 517 483 if (IsRelTimes()) 518 484 { 519 disp30.SetCamContent( *relcam,0);520 disp30.SetCamError( *relcam,1);521 disp31.SetCamContent( *relcam,2);522 disp31.SetCamError( *relcam,3);523 disp32.SetCamContent( *relcam,4);524 disp33.SetCamContent(fBadPixels, 20);525 disp34.SetCamContent(fBadPixels, 21);485 disp30.SetCamContent(fRelTimeCam, 0); 486 disp30.SetCamError( fRelTimeCam, 1); 487 disp31.SetCamContent(fRelTimeCam, 2); 488 disp31.SetCamError( fRelTimeCam, 3); 489 disp32.SetCamContent(fRelTimeCam, 4); 490 disp33.SetCamContent(fBadPixels, 20); 491 disp34.SetCamContent(fBadPixels, 21); 526 492 527 493 disp30.SetYTitle("Time Offset [FADC units]"); … … 1587 1553 // MJCalibration.DataCheck: yes,no 1588 1554 // MJCalibration.Debug: yes,no 1589 // MJCalibration.Intensity: yes,no1590 1555 // MJCalibration.UseBlindPixel: yes,no 1591 1556 // MJCalibration.UsePINDiode: yes,no … … 1612 1577 1613 1578 SetRelTimeCalibration(GetEnv("RelTimeCalibration", IsRelTimes())); 1614 SetIntensity(GetEnv("IntensityCalibration", IsIntensity()));1615 1579 SetDebug(GetEnv("Debug", IsDebug())); 1616 1580 … … 1661 1625 (run<gkThirdBlindPixelInstallation ? static_cast<MCalibrationBlindCam>(two) : static_cast<MCalibrationBlindCam>(three)); 1662 1626 1663 if (IsIntensity()) 1664 blindresults.Copy(*fIntensBlindCam.GetCam()); 1665 else 1666 blindresults.Copy(fCalibrationBlindCam); 1627 blindresults.Copy(fCalibrationBlindCam); 1667 1628 1668 1629 blindext.SetExtractionType(MExtractBlindPixel::kIntegral); … … 1759 1720 // Calibration Results containers 1760 1721 // 1761 if (IsIntensity()) 1762 { 1763 1764 MCalibrationChargeCam *cam = (MCalibrationChargeCam*)fIntensCalibCam.GetCam(); 1765 cam->InitSize(fCalibrationCam.GetSize()); 1766 cam->MergeHiLoConversionFactors(fCalibrationCam); 1767 1768 plist.AddToList(&fIntensQECam); 1769 plist.AddToList(&fIntensCalibCam); 1770 // plist.AddToList(&fIntensCalibrationPINDiode); 1771 plist.AddToList(&fIntensRelTimeCam); 1772 plist.AddToList(&fIntensBadCam); 1773 if (IsUseBlindPixel()) 1774 plist.AddToList(&fIntensBlindCam); 1775 } 1776 else 1777 { 1778 plist.AddToList(&fQECam); 1779 plist.AddToList(&fCalibrationCam); 1780 plist.AddToList(&fRelTimeCam); 1781 if (IsUseBlindPixel()) 1782 plist.AddToList(&fCalibrationBlindCam); 1783 if (IsUsePINDiode()) 1784 plist.AddToList(&fCalibrationPINDiode); 1785 } 1722 plist.AddToList(&fQECam); 1723 plist.AddToList(&fCalibrationCam); 1724 plist.AddToList(&fRelTimeCam); 1725 if (IsUseBlindPixel()) 1726 plist.AddToList(&fCalibrationBlindCam); 1727 if (IsUsePINDiode()) 1728 plist.AddToList(&fCalibrationPINDiode); 1786 1729 1787 1730 // … … 1918 1861 tlist.AddToList(&pedsub); 1919 1862 1920 // Setup to use the hi-gain extraction window in the lo-gain1921 // range (the start of the lo-gain range is added automatically1922 // by MPedCalcFromLoGain)1923 //1924 // The window size of the extractor is not yet initialized,1925 // so we have to stick to the extraction range1926 const Int_t f = fExtractor->GetHiGainFirst();1927 const Int_t l = fExtractor->GetHiGainLast();1928 const Int_t w = (l-f+1)&~1;1929 1930 MPedCalcPedRun pedcalc;1931 pedcalc.SetExtractWindow(f, w);1932 1933 if (IsIntensity())1934 tlist.AddToList(&pedcalc);1935 1936 1863 MCalibColorSet colorset; 1937 1864 if (fColor != MCalibrationCam::kNONE) … … 1967 1894 tlist.AddToList(&cont); 1968 1895 1969 MCalibColorSteer steer;1970 if (IsIntensity())1971 tlist.AddToList(&steer);1972 1973 1896 if (IsRelTimes()) 1974 1897 { … … 1996 1919 tlist.AddToList(&fill9); 1997 1920 1921 /* 1922 MFillH fillP("MHPulseShape", "", "FillPulseShape"); 1923 fillP.SetNameTab("Pulse"); 1924 tlist.AddToList(&fillP); 1925 */ 1998 1926 1999 1927 // Create and setup the eventloop … … 2103 2031 // The following containers are written: 2104 2032 // - MStatusDisplay 2105 // - MCalibrationChargeCam or MCalibrationIntensityChargeCam2106 // - MCalibrationBlindCam or MCalibrationIntensityBlindCam2107 // - MCalibrationQECam or MCalibrationIntensityQECam2033 // - MCalibrationChargeCam 2034 // - MCalibrationBlindCam 2035 // - MCalibrationQECam 2108 2036 // - MCalibrationChargePINDiode 2109 2037 // - MBadPixelsCam 2038 // 2110 2039 // If the flag kRelTimes is set, then also: 2111 2040 // - MCalibrationRelTimeCam or MCalibrationIntensityRelTimeCam … … 2117 2046 2118 2047 TObjArray cont; 2119 2120 if (IsIntensity()) 2121 { 2122 cont.Add(&fIntensBadCam); 2123 cont.Add(&fIntensCalibCam); 2124 cont.Add(&fIntensQECam); 2125 cont.Add(&fIntensBlindCam); 2126 } 2127 else 2128 { 2129 cont.Add(&fBadPixels); 2130 cont.Add(&fCalibrationCam); 2131 cont.Add(&fQECam); 2132 cont.Add(&fCalibrationBlindCam); 2133 } 2048 cont.Add(&fBadPixels); 2049 cont.Add(&fCalibrationCam); 2050 cont.Add(&fQECam); 2051 cont.Add(&fCalibrationBlindCam); 2134 2052 cont.Add(&fCalibrationPINDiode); 2135 2053 2136 //if (IsRelTimes())2137 cont.Add(IsIntensity() ? (TObject*)&fIntensRelTimeCam : (TObject*)&fRelTimeCam);2054 if (IsRelTimes()) 2055 cont.Add(&fRelTimeCam); 2138 2056 2139 2057 if (fExtractorCam.GetSize() != 0)
Note:
See TracChangeset
for help on using the changeset viewer.