- Timestamp:
- 03/05/04 16:27:54 (21 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r3413 r3414 8 8 - fixed a little bug (exchanged a - with a + in the Calc() method) 9 9 10 10 11 2004/03/05: Markus Gaug 11 12 * mcalib/MCalibraitonChargeCalc.cc … … 14 15 return kTRUE; 15 16 which gave always true since this week, don't know why. 17 - added some information in class description 16 18 17 19 -
trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
r3411 r3414 34 34 // for every pixel. It is filled in the following way: 35 35 // 36 // ProProcess: Search for MPedestalCam, MExtractedSignalCam and MExtractedSignalBlindPixel 37 // Initialize MCalibrationCam 36 // ProProcess: Initialize MCalibrationCam 38 37 // Initialize pulser light wavelength 39 38 // 40 39 // ReInit: MCalibrationCam::InitSize(NumPixels) is called which allocates 41 40 // memory in a TClonesArray of type MCalibrationChargePix 42 // Initialize number of used FADC slices 43 // Optionally exclude pixels from calibration 44 // 45 // Process: Every MCalibrationChargePix holds a histogram class, 46 // MHCalibrationPixel which itself hold histograms of type: 47 // HCharge(npix) (distribution of summed FADC time slice 48 // entries) 49 // HTime(npix) (distribution of position of maximum) 50 // HChargevsN(npix) (distribution of charges vs. event number. 51 // 52 // PostProcess: All histograms HCharge(npix) are fitted to a Gaussian 53 // All histograms HTime(npix) are fitted to a Gaussian 54 // The histogram HBlindPixelCharge (blind pixel) is fitted to 55 // a single PhE fit 56 // 57 // The histograms of the PIN Diode are fitted to Gaussians 58 // 59 // Fits can be excluded via the commands: 60 // MalibrationCam::SkipBlindPixelFits() (skip all blind 61 // pixel fits) 41 // 42 // Process: Nothing done by this class, histograms are filled by 43 // MHCalibrationChargeCam 44 // 45 // PstProcess: Fit results from MHCalibrationChargeCam are retrieved 46 // and used for the calculation of the reduced sigma, 47 // the F-Factor method, the blind pixel method (photon flux 48 // inside plexiglass) and 49 // the PINDiode method (photon flux 50 // outside plexiglass) 62 51 // 63 52 // Hi-Gain vs. Lo-Gain Calibration (very memory-intensive) … … 68 57 // MRawEvtData 69 58 // MPedestalCam 70 // MExtractedSignalCam 71 // MExtractedSignalBlindPixel 59 // MCalibrationCam 72 60 // 73 61 // Output Containers: 74 62 // MCalibrationCam 75 63 // 64 // 65 // Preliminary description of the calibration in photons (email from 12/02/04) 66 // 67 // Why calibrating in photons: 68 // =========================== 69 // 70 // At the Barcelona meeting in 2002, we decided to calibrate the camera in 71 // photons. This for the following reasons: 72 // 73 // * The physical quantity arriving at the camera are photons. This is 74 // the direct physical information from the air shower. The photons 75 // have a flux and a spectrum. 76 // 77 // * The photon fluxes depend mostly on the shower energy (with 78 // corrections deriving from the observation conditions), while the photon 79 // spectra depend mostly on the observation conditions: zenith angle, 80 // quality of the air, also the impact parameter of the shower. 81 // 82 // * The photomultiplier, in turn, has different response properties 83 // (quantum efficiencies) for photons of different colour. (Moreover, 84 // different pixels have slightly different quantum efficiencies). 85 // The resulting number of photo-electrons is then amplified (linearly) 86 // with respect to the photo-electron flux. 87 // 88 // * In the ideal case, one would like to disentagle the effects 89 // of the observation conditions from the primary particle energy (which 90 // one likes to measure). To do so, one needs: 91 // 92 // 1) A reliable calibration relating the FADC counts to the photo-electron 93 // flux -> This is accomplished with the F-Factor method. 94 // 95 // 2) A reliable calibration of the wavelength-dependent quantum efficiency 96 // -> This is accomplished with the combination of the three methods, 97 // together with QE-measurements performed by David in order to do 98 // the interpolation. 99 // 100 // 3) A reliable calibration of the observation conditions. This means: 101 // - Tracing the atmospheric conditions -> LIDAR 102 // - Tracing the observation zenith angle -> Drive System 103 // 4) Some knowlegde about the impact parameter: 104 // - This is the only part which cannot be accomplished well with a 105 // single telescope. We would thus need to convolute the spectrum 106 // over the distribution of impact parameters. 107 // 108 // 109 // How an ideal calibration would look like: 110 // ========================================= 111 // 112 // We know from the combined PIN-Diode and Blind-Pixel Method the response of 113 // each pixel to well-measured light fluxes in three representative 114 // wavelengths (green, blue, UV). We also know the response to these light 115 // fluxes in photo-electrons. Thus, we can derive: 116 // 117 // - conversion factors to photo-electrons 118 // - conversion factors to photons in three wavelengths. 119 // 120 // Together with David's measurements and some MC-simulation, we should be 121 // able to derive tables for typical Cherenkov-photon spectra - convoluted 122 // with the impact parameters and depending on the athmospheric conditions 123 // and the zenith angle (the "outer parameters"). 124 // 125 // From these tables we can create "calibration tables" containing some 126 // effective quantum efficiency depending on these outer parameters and which 127 // are different for each pixel. 128 // 129 // In an ideal MCalibrate, one would thus have to convert first the FADC 130 // slices to Photo-electrons and then, depending on the outer parameters, 131 // look up the effective quantum efficiency and get the mean number of 132 // photons which is then used for the further analysis. 133 // 134 // How the (first) MAGIC calibration should look like: 135 // =================================================== 136 // 137 // For the moment, we have only one reliable calibration method, although 138 // with very large systematic errors. This is the F-Factor method. Knowing 139 // that the light is uniform over the whole camera (which I would not at all 140 // guarantee in the case of the CT1 pulser), one could in principle already 141 // perform a relative calibration of the quantum efficiencies in the UV. 142 // However, the spread in QE at UV is about 10-15% (according to the plot 143 // that Abelardo sent around last time. The spread in photo-electrons is 15% 144 // for the inner pixels, but much larger (40%) for the outer ones. 145 // 146 // I'm not sure if we can already say that we have measured the relative 147 // difference in quantum efficiency for the inner pixels and produce a first 148 // QE-table for each pixel. To so, I would rather check in other wavelengths 149 // (which we can do in about one-two weeks when the optical transmission of 150 // the calibration trigger is installed). 151 // 152 // Thus, for the moment being, I would join Thomas proposal to calibrate in 153 // photo-electrons and apply one stupid average quantum efficiency for all 154 // pixels. This keeping in mind that we will have much preciser information 155 // in about one to two weeks. 156 // 157 // 158 // What MCalibrate should calculate and what should be stored: 159 // =========================================================== 160 // 161 // It is clear that in the end, MCerPhotEvt will store photons. 162 // MCalibrationCam stores the conversionfactors to photo-electrons and also 163 // some tables of how to apply the conversion to photons, given the outer 164 // parameters. This is not yet implemented and not even discussed. 165 // 166 // To start, I would suggest that we define the "average quantum efficiency" 167 // (maybe something like 25+-3%) and apply them equally to all 168 // photo-electrons. Later, this average factor can be easily replaced by a 169 // pixel-dependent factor and later by a (pixel-dependent) table. 170 // 171 // 172 // 76 173 ////////////////////////////////////////////////////////////////////////////// 77 174 #include "MCalibrationChargeCalc.h" … … 399 496 *fLog << err << GetDescriptor() << ": Dear Michele! All pixels have non-valid calibration. " 400 497 << "Did you forget to fill the histograms (filling MHCalibrationChargeCam from MExtractedSignalCam using MFillH) ? " << endl; 401 498 return kFALSE; 402 499 } 403 500 … … 485 582 fCam->SetReadyToSave(); 486 583 487 584 return kTRUE; 488 585 }
Note:
See TracChangeset
for help on using the changeset viewer.