- Timestamp:
- 07/19/04 23:45:15 (20 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 6 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r4402 r4404 19 19 20 20 -*-*- END OF LINE -*-*- 21 22 2004/07/20: Florian Goebel 23 24 * mpedestal/MPedestalPix.[h,cc] 25 - added: 26 - fPedestalABoffset difference between pedestal mean of odd slices and 27 the total pedestal mean (fPedestal) 28 - fNumEvents number of times, the Process was executed 29 (to estimate the error of pedestal) 30 31 * mpedestal/MPedestalCam.cc 32 - calculate error using pixel vise fNumEvents 33 34 * mpedestal/MPedCalcFromLoGain.[h,cc] 35 * mpedestal/Makefile 36 * mpedestal/PedestalLinkDef.h 37 - added class which calculates pedestal values from the low gain slices of 38 a data run 39 - it also calculates the ABoffset values and fills MPedestalPix accordingly 40 41 * macros/ScanPulseABPed.C 42 - macro plotting the pulse shape using MPedCalcFromLoGain 43 and correcting for the AB 150 MHz clock noise. 44 45 * msignal/MExtractSignalABcorr.[h,cc] 46 * msignal/Makefile 47 * msignal/SignalLinkDef.h 48 - example for signal extractor class similar to MExtractSignal 49 correcting for ABoffset which allows to use odd number of slices 50 51 * macros/ScanExtractSignalABCorr.C 52 - macro using MExtractSignalABcorr 21 53 22 54 -
trunk/MagicSoft/Mars/mpedestal/MPedestalCam.cc
r3931 r4404 16 16 ! 17 17 ! 18 ! Author(s): Thomas Bretz 12/2000 <mailto:tbretz@uni-sw.gwdg.de> 19 ! Markus Gaug 02/2004 <mailto:markus@ifae.es> 18 ! Author(s): Thomas Bretz 12/2000 <mailto:tbretz@uni-sw.gwdg.de> 19 ! Markus Gaug 02/2004 <mailto:markus@ifae.es> 20 ! Florian Goebel 06/2004 <mailto:fgoebel@mppmu.mpg.de> 20 21 ! 21 22 ! Copyright: MAGIC Software Development, 2000-2004 … … 310 311 } 311 312 312 Bool_t MPedestalCam::GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type) const 313 { 313 Bool_t MPedestalCam::GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type) const { 314 314 315 315 if (GetSize() <= idx) … … 319 319 return kFALSE; 320 320 321 const Float_t ped = (*this)[idx].GetPedestal(); 322 const Float_t rms = (*this)[idx].GetPedestalRms(); 323 324 const Float_t pederr = rms/TMath::Sqrt((Float_t)fTotalEntries); 325 const Float_t rmserr = rms/TMath::Sqrt((Float_t)fTotalEntries)/2.; 326 327 switch (type) 328 { 321 switch (type) { 329 322 case 0: 330 val = ped;323 val = (*this)[idx].GetPedestal(); 331 324 break; 332 325 case 1: 333 val = pederr; 326 val = fTotalEntries > 0 ? 327 (*this)[idx].GetPedestalRms()/TMath::Sqrt((Float_t)fTotalEntries) 328 : (*this)[idx].GetPedestalError(); 334 329 break; 335 330 case 2: 336 val = rms;331 val = (*this)[idx].GetPedestalRms(); 337 332 break; 338 333 case 3: 339 val = rmserr; 334 val = fTotalEntries > 0 ? 335 (*this)[idx].GetPedestalRms()/TMath::Sqrt((Float_t)fTotalEntries)/2. 336 : (*this)[idx].GetPedestalRmsError(); 340 337 break; 341 338 default: -
trunk/MagicSoft/Mars/mpedestal/MPedestalPix.cc
r3931 r4404 16 16 ! 17 17 ! 18 ! Author(s): Thomas Bretz 12/2000 <mailto:tbretz@uni-sw.gwdg.de> 19 ! Markus Gaug 04/2004 <mailto:markus@ifae.es> 18 ! Author(s): Thomas Bretz 12/2000 <mailto:tbretz@uni-sw.gwdg.de> 19 ! Markus Gaug 04/2004 <mailto:markus@ifae.es> 20 ! Florian Goebel 06/2004 <mailto:fgoebel@mppmu.mpg.de> 20 21 ! 21 22 ! Copyright: MAGIC Software Development, 2000-2004 … … 31 32 // (offset) value of one Pixel (PMT). // 32 33 // // 34 // version 2: // 35 // ---------- // 36 // added: // 37 // fPedestalABoffset difference between pedestal mean of odd slices and // 38 // the total pedestal mean (fPedestal) // 39 // fNumEvents number of times, the Process was executed // 40 // (to estimate the error of pedestal) // 41 // // 33 42 ///////////////////////////////////////////////////////////////////////////// 34 43 #include "MPedestalPix.h" … … 42 51 43 52 MPedestalPix::MPedestalPix() 44 53 : fValid(kTRUE) 45 54 { 46 55 Clear(); … … 54 63 void MPedestalPix::Clear(Option_t *o) 55 64 { 56 fPedestal = -1.; 57 fPedestalRms = -1.; 65 fPedestal = -1.; 66 fPedestalRms = -1.; 67 fPedestalABoffset = -1.; 68 fNumEvents = 0; 58 69 } 59 70 … … 61 72 { 62 73 63 fPedestal = 0.; 64 fPedestalRms = 0.; 74 fPedestal = 0.; 75 fPedestalRms = 0.; 76 fPedestalABoffset = 0.; 77 fNumEvents = 0; 65 78 } 66 79 67 80 68 void MPedestalPix::Set(Float_t m, Float_t r )81 void MPedestalPix::Set(Float_t m, Float_t r, Float_t offs, UInt_t n) 69 82 { 70 fPedestal = m; 71 fPedestalRms = r; 83 fPedestal = m; 84 fPedestalRms = r; 85 fPedestalABoffset = offs; 86 fNumEvents = n; 72 87 } 73 88 74 Bool_t MPedestalPix::IsValid() const 89 90 Bool_t MPedestalPix::IsValid() const 75 91 { 76 92 77 93 if (!fValid) 78 94 return kFALSE; 79 95 80 96 return fPedestal>=0||fPedestalRms>=0; 81 97 } 82 -
trunk/MagicSoft/Mars/mpedestal/MPedestalPix.h
r3931 r4404 12 12 Float_t fPedestal; // mean value of pedestal (PMT offset) 13 13 Float_t fPedestalRms; // root mean square / sigma / standard deviation of pedestal 14 Bool_t fValid; // flag to set pixel valid 14 Float_t fPedestalABoffset; // the difference between odd slice pedestal mean and the 15 // total pedestal mean (fPedestal). For even slices pedestal 16 // use -fPedestalABoffset. 17 UInt_t fNumEvents; // number of times, the Process was executed (to estimate the error of pedestal) 18 Bool_t fValid; // flag to set pixel valid 15 19 16 20 public: … … 23 27 24 28 // Setters 25 void SetPedestal(const Float_t f) { fPedestal = f; } 26 void SetPedestalRms(const Float_t f) { fPedestalRms = f; } 27 28 void Set(const Float_t m, const Float_t r); 29 void SetPedestal(const Float_t f) { fPedestal = f; } 30 void SetPedestalRms(const Float_t f) { fPedestalRms = f; } 31 void SetPedestalABoffset(const Float_t f) { fPedestalABoffset = f; } 32 void SetNumEvents(const UInt_t n) { fNumEvents = n; } 33 34 void Set(const Float_t m, const Float_t r, const Float_t offs=0, const UInt_t n=0); 29 35 void SetValid(const Bool_t b=kTRUE) { fValid = b; } 30 36 … … 32 38 Float_t GetPedestal() const { return fPedestal; } 33 39 Float_t GetPedestalRms() const { return fPedestalRms; } 40 Float_t GetPedestalABoffset() const { return fPedestalABoffset; } 41 Float_t GetPedestalError() const { return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents) : 0; } 42 Float_t GetPedestalRmsError() const { return fNumEvents>0 ? fPedestalRms/TMath::Sqrt((Float_t)fNumEvents/2) : 0; } 34 43 35 44 Bool_t IsValid() const; 36 45 37 ClassDef(MPedestalPix, 1) // Storage Container for Pedestal information of one pixel46 ClassDef(MPedestalPix, 2) // Storage Container for Pedestal information of one pixel 38 47 }; 39 48 -
trunk/MagicSoft/Mars/mpedestal/Makefile
r4355 r4404 32 32 MMcPedestalNSBAdd.cc \ 33 33 MPedCalcPedRun.cc \ 34 MPedCalcFromLoGain.cc \ 34 35 MPedPhotCalc.cc \ 35 36 MPedPhotCam.cc \ 36 37 MPedPhotPix.cc \ 37 38 MPedestalCam.cc \ -
trunk/MagicSoft/Mars/mpedestal/PedestalLinkDef.h
r4355 r4404 13 13 14 14 #pragma link C++ class MPedCalcPedRun++; 15 #pragma link C++ class MPedCalcFromLoGain++; 15 16 #pragma link C++ class MPedestalCam++; 16 17 #pragma link C++ class MPedestalPix++; -
trunk/MagicSoft/Mars/msignal/Makefile
r4340 r4404 41 41 MExtractSignal2.cc \ 42 42 MExtractSignal3.cc \ 43 MExtractSignalABcorr.cc \ 43 44 MExtractPINDiode.cc \ 44 45 MExtractBlindPixel.cc \ -
trunk/MagicSoft/Mars/msignal/SignalLinkDef.h
r4340 r4404 13 13 #pragma link C++ class MExtractSignal2+; 14 14 #pragma link C++ class MExtractSignal3+; 15 #pragma link C++ class MExtractSignalABcorr+; 15 16 16 17 #pragma link C++ class MExtractor+;
Note:
See TracChangeset
for help on using the changeset viewer.