Ignore:
Timestamp:
08/10/04 19:58:55 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mcalib/MCalibrate.cc

    r3964 r4574  
    303303          calibFFactor   = pix.GetMeanFFactorFADC2Phot();
    304304
    305           if (fCalibrationMode== kFlatCharge)
    306           {
     305          MCalibrationQEPix &qe  = (MCalibrationQEPix&) (*fQEs)[pixidx];
     306         
     307          switch(fCalibrationMode)
     308            {
     309            case kFlatCharge:
    307310              calibConv        = avMean / pix.GetMean() / fGeomCam->GetPixRatio(pixidx) ;
    308311              calibConvVar     = (avMeanRelVar + pix.GetMeanRelVar()) * calibConv * calibConv;
    309               calibFFactor     = pix.GetRSigmaPerCharge();
    310           }
    311           else
    312           {
    313 
    314               MCalibrationQEPix &qe  = (MCalibrationQEPix&) (*fQEs)[pixidx];
    315 
    316               switch(fCalibrationMode)
    317               {
    318                   case kBlindPixel:
    319                       if (qe.IsBlindPixelMethodValid())
    320                       {
    321                           calibQE      = qe.GetQECascadesBlindPixel   ( zenith );
    322                           calibQEVar   = qe.GetQECascadesBlindPixelVar( zenith );
    323                       }
    324                       else
    325                           continue;
    326                       break;
    327                   case kPinDiode:
    328                       if (qe.IsPINDiodeMethodValid())
    329                       {
    330                           calibQE      = qe.GetQECascadesPINDiode   ( zenith );
    331                           calibQEVar   = qe.GetQECascadesPINDiodeVar( zenith );
    332                       }
    333                       else
    334                           continue;
    335                       break;
    336                   case kFfactor:
    337                       if (pix.IsFFactorMethodValid())
    338                         {
    339                           calibQE      = qe.GetQECascadesFFactor   ( zenith );
    340                           calibQEVar   = qe.GetQECascadesFFactorVar( zenith );
    341                         }
    342                       else
    343                           continue;
    344                       break;
    345                   case kCombined:
    346                       if (qe.IsCombinedMethodValid())
    347                       {
    348                           calibQE      = qe.GetQECascadesCombined   ( zenith );
    349                           calibQEVar   = qe.GetQECascadesCombinedVar( zenith );
    350                       }
    351                       else
    352                           continue;
    353                       break;
    354                   case kDummy:
    355                       hiloconv     = 1.;
    356                       hiloconverr  = 0.;
    357                       calibQE      = 1.;
    358                       calibQEVar   = 0.;
    359                       break;
    360                      
    361               } /* switch calibration mode */
    362           } /* else fCalibrationMode == kFlatCharge */
    363         } /* if(fCalibrationMode!=kNone) */
     312              if (pix.IsFFactorMethodValid())
     313                {
     314                  const Float_t convmin1 = qe.GetQECascadesFFactor(zenith)/pix.GetMeanConvFADC2Phe();
     315                  if (convmin1 > 0)
     316                    calibFFactor *= TMath::Sqrt(convmin1);
     317                  else
     318                    calibFFactor = -1.;
     319                }
     320              break;
     321            case kBlindPixel:
     322              if (qe.IsBlindPixelMethodValid())
     323                {
     324                  calibQE      = qe.GetQECascadesBlindPixel   ( zenith );
     325                  calibQEVar   = qe.GetQECascadesBlindPixelVar( zenith );
     326                }
     327              else
     328                continue;
     329              break;
     330            case kPinDiode:
     331              if (qe.IsPINDiodeMethodValid())
     332                {
     333                  calibQE      = qe.GetQECascadesPINDiode   ( zenith );
     334                  calibQEVar   = qe.GetQECascadesPINDiodeVar( zenith );
     335                }
     336              else
     337                continue;
     338              break;
     339            case kFfactor:
     340              if (pix.IsFFactorMethodValid())
     341                {
     342                  calibQE      = qe.GetQECascadesFFactor   ( zenith );
     343                  calibQEVar   = qe.GetQECascadesFFactorVar( zenith );
     344                }
     345              else
     346                continue;
     347              break;
     348            case kCombined:
     349              if (qe.IsCombinedMethodValid())
     350                {
     351                  calibQE      = qe.GetQECascadesCombined   ( zenith );
     352                  calibQEVar   = qe.GetQECascadesCombinedVar( zenith );
     353                }
     354              else
     355                continue;
     356              break;
     357            case kDummy:
     358              hiloconv     = 1.;
     359              hiloconverr  = 0.;
     360              calibQE      = 1.;
     361              calibQEVar   = 0.;
     362              break;
     363             
     364            } /* switch calibration mode */
     365        } /* if(fCalibrationMode!=kNone) */
    364366      else
    365       {
     367        {
    366368          hiloconv       = 1.;
    367369          hiloconverr    = 0.;
     
    398400      nphotErr = calibFFactor*TMath::Sqrt(TMath::Abs(nphot));
    399401
    400       if (fCalibrationMode == kFlatCharge)
    401           nphotErr = calibFFactor * signal;
    402 
    403 
    404402      //
    405403      // The following part is the outcommented first version of the error calculation
Note: See TracChangeset for help on using the changeset viewer.