Changeset 8484 for trunk/MagicSoft
- Timestamp:
- 05/10/07 13:16:56 (18 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r8483 r8484 18 18 19 19 -*-*- END OF LINE -*-*- 20 21 2007/05/10 Thomas Bretz 22 23 * callisto.rc, callisto_Dec04Jan05.rc, callisto_MarApr05.rc: 24 - cleanup of some comments 25 26 * mbase/MMath.cc: 27 - removed the usage of a storage space for the index in 28 GetMedianDev because the index is reacalculated anyhow 29 30 * mbase/MStatusArray.cc: 31 - if several objects of the same name (but different class 32 types) are in a pad we don't stop searching if an object 33 with the right name has been found 34 35 * mcalib/MCalibrateData.cc, mcalib/MCalibrationChargeCalc.cc, 36 mcalib/MCalibrationRelTimeCalc.cc: 37 - updated output 38 39 * mhist/MHCamera.[h,cc] 40 - added two new member functions to count the number of bins 41 above or below a threshold 42 43 * mjobs/MJCalibrateSignal.cc: 44 - added a new Tab to show the time development of the unsuitable 45 pixels 46 47 * mjobs/MJCalibration.cc: 48 - updated texts in bad pixel display 49 50 20 51 21 52 2007/05/09 Daniela Dorner -
trunk/MagicSoft/Mars/NEWS
r8481 r8484 13 13 properly because the callisto output was currupted 14 14 15 - general: a script called scripts/makemovie has been added which 16 simplified the process of producing several movies from a single 17 sequence with different setup. 18 15 19 - callisto: the ArrTimeRmsLimit is now is a check of the deviation from 16 20 the median rms of the absolute arrival time and expressed in significance … … 19 23 all arrival times are shifted at the same time (in fact it might be 20 24 a shift of the artificial trigger w.r.t. to the light flash). 25 26 - callisto: Added a new tab "BadPixTm" which shows the time evolution 27 of the number of unsuitable pixels over the whole sequence. This 28 is usefull mainly to judge if an intermediate calibration had 29 problems. 21 30 22 31 - callisto: It is now possible to use the position of the maximum -
trunk/MagicSoft/Mars/callisto.rc
r8478 r8484 384 384 #MJCalibrateSignal.MCalibrateData.CalibConvMaxLimit: 5. 385 385 #MJCalibrateSignal.Interlaced: yes 386 #MJCalibrateSignal.RelTimesUpdate: no 387 #MJCalibrateSignal.PulsePosCheck: yes 386 #MJCalibrateSignal.RelTimesUpdate: yes 388 387 389 388 # ------------------------------------------------------------------------- -
trunk/MagicSoft/Mars/callisto_Dec04Jan05.rc
r8478 r8484 409 409 #MJCalibrateSignal.MCalibrateData.CalibConvMaxLimit: 5. 410 410 #MJCalibrateSignal.Interlaced: yes 411 #MJCalibrateSignal.RelTimesUpdate: no 412 #MJCalibrateSignal.PulsePosCheck: yes 411 #MJCalibrateSignal.RelTimesUpdate: yes 413 412 414 413 # ------------------------------------------------------------------------- -
trunk/MagicSoft/Mars/callisto_MarApr05.rc
r8478 r8484 323 323 # ------------------------------------------------------------------------- 324 324 #MJPedestalY2.PulsePosCheck: yes 325 MJPedestalY2.ExtractWinLeft: 4.0326 MJPedestalY2.ExtractWinRight: 4.5325 #MJPedestalY2.ExtractWinLeft: 0.0 326 #MJPedestalY2.ExtractWinRight: 0.5 327 327 328 328 # ------------------------------------------------------------------------- … … 403 403 #MJCalibrateSignal.MCalibrateData.CalibConvMaxLimit: 5. 404 404 #MJCalibrateSignal.Interlaced: yes 405 #MJCalibrateSignal.RelTimesUpdate: no 406 #MJCalibrateSignal.HiLoCalibration: no 407 #MJCalibrateSignal.PulsePosCheck: yes 405 #MJCalibrateSignal.RelTimesUpdate: yes 408 406 409 407 # ------------------------------------------------------------------------- -
trunk/MagicSoft/Mars/mbase/MMath.cc
r8178 r8484 1 1 /* ======================================================================== *\ 2 ! $Name: not supported by cvs2svn $:$Id: MMath.cc,v 1.3 0 2006-10-30 12:46:12tbretz Exp $2 ! $Name: not supported by cvs2svn $:$Id: MMath.cc,v 1.31 2007-05-10 12:14:54 tbretz Exp $ 3 3 ! -------------------------------------------------------------------------- 4 4 ! … … 196 196 arr[i] = TMath::Abs(a[i]-med); 197 197 198 // FIXME: GausProb() is a workaround. It should be taken into account in Median! 199 //return TMath::Median(n, arr); 200 201 // Sort distribution 202 Long64_t idx[n]; 203 TMath::SortImp(n, arr, idx, kTRUE); 204 205 // Define where to divide 206 const Int_t div = TMath::Nint(n*prob); 198 // Define where to divide (floor because the highest possible is n-1) 199 const Int_t div = TMath::FloorNint(n*prob); 207 200 208 201 // Calculate result 209 Double_t dev = TMath::KOrdStat(n, arr, div , idx);202 Double_t dev = TMath::KOrdStat(n, arr, div); 210 203 if (n%2 == 0) 211 204 { 212 dev += TMath::KOrdStat(n, arr, div-1 , idx);205 dev += TMath::KOrdStat(n, arr, div-1); 213 206 dev /= 2; 214 207 } -
trunk/MagicSoft/Mars/mbase/MStatusArray.cc
r8299 r8484 93 93 TObject *MStatusArray::FindObjectInPad(TVirtualPad *pad, const char *object, TClass *cls) const 94 94 { 95 TObject *o = pad->FindObject(object);96 if (o && o->InheritsFrom(cls))97 return o;95 TObject *o = NULL;//pad->FindObject(object); 96 // if (o && o->InheritsFrom(cls)) 97 // return o; 98 98 99 99 TIter Next(pad->GetListOfPrimitives()); 100 100 while ((o=Next())) 101 101 { 102 if (o->GetName()==(TString)object && o->InheritsFrom(cls)) 103 return o; 104 102 105 if (o==pad || !o->InheritsFrom(TVirtualPad::Class())) 103 106 continue; 104 107 105 108 if ((o = FindObjectInPad((TVirtualPad*)o, object, cls))) 106 if (o->InheritsFrom(cls)) 107 return o; 109 return o; 110 // if (o->InheritsFrom(cls)) 111 // return o; 108 112 } 109 113 return 0; -
trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc
r8452 r8484 1 1 /* ======================================================================== *\ 2 ! $Name: not supported by cvs2svn $:$Id: MCalibrateData.cc,v 1.6 8 2007-04-27 10:04:46tbretz Exp $2 ! $Name: not supported by cvs2svn $:$Id: MCalibrateData.cc,v 1.69 2007-05-10 12:14:54 tbretz Exp $ 3 3 ! -------------------------------------------------------------------------- 4 4 ! … … 666 666 calibConv = -1.; 667 667 calibFFactor = -1.; 668 *fLog << warn << GetDescriptor() << ": WARNING -";669 *fLog << "Conv ersionfactor " << calibConv << " of Pixel " << pixidx << " out of range ]";668 *fLog << warn << GetDescriptor() << ": "; 669 *fLog << "Conv.factor " << calibConv << " of Pixel " << pixidx << " out of range ]"; 670 670 *fLog << fCalibConvMinLimit << "," << fCalibConvMaxLimit << "[... set to 0. " << endl; 671 671 } -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
r8478 r8484 1 1 /* ======================================================================== *\ 2 ! $Name: not supported by cvs2svn $:$Id: MCalibrationChargeCalc.cc,v 1.17 8 2007-05-09 12:15:52tbretz Exp $2 ! $Name: not supported by cvs2svn $:$Id: MCalibrationChargeCalc.cc,v 1.179 2007-05-10 12:14:54 tbretz Exp $ 3 3 ! -------------------------------------------------------------------------- 4 4 ! … … 745 745 if (res<0) //FIXME!!! How does this happen? 746 746 { 747 *fLog << warn << "Pixel " << setw(4) << i << ": Abs-time r esolutioncould not be calculated." << endl;747 *fLog << warn << "Pixel " << setw(4) << i << ": Abs-time rms could not be calculated." << endl; 748 748 (*fBadPixels)[i].SetUncalibrated(MBadPixelsPix::kDeviatingTimeResolution); 749 749 continue; … … 753 753 if (res<=lolim || res>=hilim) 754 754 { 755 *fLog << warn << "Pixel " << setw(4) << i << ": Deviati ng abs-time resolution: "755 *fLog << warn << "Pixel " << setw(4) << i << ": Deviation from abs-time rms: " 756 756 << Form("%5.2f", res) << " out of range " 757 757 << Form("[%4.2f,%4.2f]", lolim, hilim) << endl; -
trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.cc
r8478 r8484 228 228 229 229 PrintUncalibrated(MBadPixelsPix::kDeviatingTimeResolution, 230 Form("%s%2.1f%s"," Time resol. less than ", fRelTimeResolutionLimit, " med-dev from median:"));230 Form("%s%2.1f%s","Rel.time rms more than ", fRelTimeResolutionLimit, " dev from median:")); 231 231 PrintUncalibrated(MBadPixelsPix::kRelTimeOscillating, 232 232 "Pixels with changing Rel. Times over time:"); … … 308 308 if (res<0) //FIXME!!! How does this happen? 309 309 { 310 *fLog << warn << "Pixel " << setw(4) << i << ": Rel-time r esolutioncould not be calculated." << endl;310 *fLog << warn << "Pixel " << setw(4) << i << ": Rel-time rms could not be calculated." << endl; 311 311 (*fBadPixels)[i].SetUncalibrated(MBadPixelsPix::kDeviatingTimeResolution); 312 312 continue; … … 316 316 if (res<=lolim || res>=hilim) 317 317 { 318 *fLog << warn << "Pixel " << setw(4) << i << ": Deviati ng rel-time resolution: "318 *fLog << warn << "Pixel " << setw(4) << i << ": Deviation from rel-time rms: " 319 319 << Form("%5.2f", res) << " out of range " 320 320 << Form("[%4.2f,%4.2f]", lolim, hilim) << endl; -
trunk/MagicSoft/Mars/mhist/MHCamera.cc
r8423 r8484 1 1 /* ======================================================================== *\ 2 ! $Name: not supported by cvs2svn $:$Id: MHCamera.cc,v 1.10 3 2007-04-20 08:55:19tbretz Exp $2 ! $Name: not supported by cvs2svn $:$Id: MHCamera.cc,v 1.104 2007-05-10 12:14:54 tbretz Exp $ 3 3 ! -------------------------------------------------------------------------- 4 4 ! … … 514 514 // ------------------------------------------------------------------------ 515 515 // 516 // Return the number of bins (excluding under- and overflow) for which 517 // GetBinContent returns a value > t 518 // 519 Int_t MHCamera::GetNumBinsAboveThreshold(Double_t t) const 520 { 521 Int_t n = 0; 522 for (Int_t i=0; i<fNcells-2; i++) 523 if (GetBinContent(i+1)>t) 524 n++; 525 526 return n; 527 } 528 529 // ------------------------------------------------------------------------ 530 // 531 // Return the number of bins (excluding under- and overflow) for which 532 // GetBinContent returns a value < t 533 // 534 Int_t MHCamera::GetNumBinsBelowThreshold(Double_t t) const 535 { 536 Int_t n = 0; 537 for (Int_t i=0; i<fNcells-2; i++) 538 if (GetBinContent(i+1)>t) 539 n++; 540 541 return n; 542 } 543 544 // ------------------------------------------------------------------------ 545 // 516 546 // Call this function to draw the camera layout into your canvas. 517 547 // Setup a drawing canvas. Add this object and all child objects -
trunk/MagicSoft/Mars/mhist/MHCamera.h
r8284 r8484 1 1 /* ======================================================================== *\ 2 ! $Name: not supported by cvs2svn $:$Id: MHCamera.h,v 1.6 3 2007-02-01 14:42:02tbretz Exp $2 ! $Name: not supported by cvs2svn $:$Id: MHCamera.h,v 1.64 2007-05-10 12:14:54 tbretz Exp $ 3 3 \* ======================================================================== */ 4 4 #ifndef MARS_MHCamera … … 40 40 public: 41 41 enum { 42 // DO NOT USE BIT(14) (MStatusArray WORKAROUND!) 43 // BIT(15)/BIT(16)/BIT(17) used by TH1 42 44 kProfile = BIT(18), // FIXME: When changing change max/min! 43 45 kFreezed = BIT(19), … … 45 47 kNoScale = BIT(21), 46 48 kNoUnused = BIT(22), 47 kErrorMean = BIT(23)/*, 49 kErrorMean = BIT(23)/*, // NO MORE BITS ALLOWED! 48 50 kSqrtVariance = BIT(21), 49 51 kSinglePixelProfile = BIT(22)*/ … … 197 199 Double_t GetMinimumSectors(const TArrayI §or, const TArrayI &aidx, Bool_t ball=kFALSE) const; 198 200 Double_t GetMaximumSectors(const TArrayI §or, const TArrayI &aidx, Bool_t ball=kFALSE) const; 201 202 Int_t GetNumBinsAboveThreshold(Double_t t=0) const; 203 Int_t GetNumBinsBelowThreshold(Double_t t=0) const; 199 204 200 205 void SetLevels(const TArrayF &arr); -
trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
r8474 r8484 75 75 #include "MHCalibrationRelTimeCam.h" 76 76 #include "MHCalibrationPulseTimeCam.h" 77 #include "MHVsTime.h" 77 78 #include "MHCamera.h" 78 79 … … 121 122 // - fIsRelTimesUpdate to kFALSE 122 123 // - fIsHiLoCalibration to kFALSE 123 // - fPulsePosCheck to kTRUE124 124 // 125 125 MJCalibrateSignal::MJCalibrateSignal(const char *name, const char *title) … … 128 128 fName = name ? name : "MJCalibrateSignal"; 129 129 fTitle = title ? title : "Tool to calibrate data"; 130 131 SetPulsePosCheck();132 //fCruns = NULL;133 130 } 134 131 … … 600 597 MFillH fillR(&evtR, "MExtractedSignalCam", "FillHiLoCal"); 601 598 MFillH fillO(&evtO, "MArrivalTimeCam", "FillHiLoOff"); 599 600 MHVsTime histbp("MBadPixelsCam.GetNumUnsuitable"); 601 histbp.SetName("BadPixTm"); 602 histbp.SetTitle("Number of unsuitable pixels;;N"); 603 histbp.SetMinimum(0); 604 605 // Task to fill the histogram 606 MFillH fillB(&histbp, "MTime", "FillBadTime"); 607 fillB.SetNameTab("BadPixTm"); 602 608 603 609 /* … … 758 764 // tlist2.AddToList(&fill7); 759 765 tlist2.AddToList(&fill9); 766 tlist2.AddToList(&fillB); 760 767 if (extractor1->HasLoGain()) 761 768 { -
trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
r8478 r8484 854 854 DrawBadPixel(*pave, disp24, 5, f, "Presumably dead from Ped. Rms: "); 855 855 DrawBadPixel(*pave, disp24, 6, f, "Deviating Number of Photo-electrons: "); 856 DrawBadPixel(*pave, disp24, 7, f, " Fluctuating Pulse Arrival Times:");857 DrawBadPixel(*pave, disp24, 8, f, "Deviati ng Rel. Arrival Time RMS:");856 DrawBadPixel(*pave, disp24, 7, f, "Deviation from median abs.arr-time rms: "); 857 DrawBadPixel(*pave, disp24, 8, f, "Deviation from median rel.arr-time rms: "); 858 858 DrawBadPixel(*pave, disp24, 9, f, "Too many Low-Gain Blackout Events: "); 859 859 DrawBadPixel(*pave, disp24, 10, f, "Previously Excluded: ");
Note:
See TracChangeset
for help on using the changeset viewer.