Changeset 5853 for trunk


Ignore:
Timestamp:
01/15/05 19:32:28 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r5851 r5853  
    2626    - finished event type recognition and rejection. Only used if
    2727      SetInterlaced() is set.
     28 
     29  * mcalib/MCalibrateData.[h,cc]
     30    - added possibility to re-normalize signal to equiv. photo-electrons
     31      ( SetSignalType(MCalibrateData::kPhe) ).
     32      Default is old version in photons
     33
    2834
    2935 2005/01/14 Hendrik Bartko
     36
    3037  * msignal/calibration_weights_UV.dat
    3138    - fixed a small bug in the noise autocorrelation of the AB-noise
     
    3441  * cosmics_weights.dat
    3542    - fixed a small bug in the noise autocorrelation of the AB-noise
     43
    3644
    3745 2005/01/14 Markus Gaug
  • trunk/MagicSoft/Mars/mcalib/MCalibrateData.cc

    r5729 r5853  
    144144MCalibrateData::MCalibrateData(CalibrationMode_t calmode,const char *name, const char *title)
    145145    : fGeomCam(NULL),   fBadPixels(NULL), fCalibrations(NULL),
    146     fQEs(NULL), fSignals(NULL), fCerPhotEvt(NULL), fPedestalFlag(kNo)
     146      fQEs(NULL), fSignals(NULL), fCerPhotEvt(NULL),
     147      fPedestalFlag(kNo), fSignalType(kPhot), fRenormFactor(1.)
    147148{
    148149
     
    269270    }
    270271
     272    switch (fSignalType)
     273      {
     274      case kPhe:
     275        fRenormFactor = MCalibrationQEPix::gkDefaultAverageQE;
     276        break;
     277      case kPhot:
     278        fRenormFactor = 1.;
     279        break;
     280      }
     281
    271282    return kTRUE;
    272283}
     
    355366    }
    356367
     368    //
     369    // output information or warnings:
     370    //
     371    switch(fSignalType)
     372    {
     373    case kPhe:
     374      *fLog << warn << "WARNING - Renormalization to photo-electrons applied!" << endl;
     375      break;
     376    case kPhot:
     377      break;
     378    }
     379   
    357380    if (TestPedestalFlag(kRun))
    358381        Calibrate(kFALSE, kTRUE);
     
    400423
    401424        switch(fCalibrationMode)
    402         {
    403         case kFlatCharge:
     425          {
     426          case kFlatCharge:
    404427            {
    405                 MCalibrationChargePix &avpix = (MCalibrationChargePix&)fCalibrations->GetAverageArea(0);
    406                 calibConv    = avpix.GetMean() / (pix.GetMean() * fGeomCam->GetPixRatio(pixidx));
    407                 calibConvVar = (avpix.GetMeanRelVar() + pix.GetMeanRelVar()) * calibConv * calibConv;
    408                 if (pix.IsFFactorMethodValid())
     428              MCalibrationChargePix &avpix = (MCalibrationChargePix&)fCalibrations->GetAverageArea(0);
     429              calibConv    = avpix.GetMean() / (pix.GetMean() * fGeomCam->GetPixRatio(pixidx));
     430              calibConvVar = (avpix.GetMeanRelVar() + pix.GetMeanRelVar()) * calibConv * calibConv;
     431              if (pix.IsFFactorMethodValid())
    409432                {
    410                     const Float_t convmin1 = qe.GetQECascadesFFactor(zenith)/pix.GetMeanConvFADC2Phe();
    411                     if (convmin1 > 0)
    412                         calibFFactor *= TMath::Sqrt(convmin1);
    413                     else
    414                         calibFFactor = -1.;
     433                const Float_t convmin1 = qe.GetQECascadesFFactor(zenith)/pix.GetMeanConvFADC2Phe();
     434                if (convmin1 > 0)
     435                  calibFFactor *= TMath::Sqrt(convmin1);
     436                else
     437                  calibFFactor = -1.;
    415438                }
     439              break;
    416440            }
    417             break;
    418 
    419         case kBlindPixel:
     441          case kBlindPixel:
    420442            if (!qe.IsBlindPixelMethodValid())
    421                 return kFALSE;
     443              return kFALSE;
    422444            calibQE     = qe.GetQECascadesBlindPixel   ( zenith );
    423445            calibQEVar  = qe.GetQECascadesBlindPixelVar( zenith );
    424446            break;
    425 
    426         case kPinDiode:
     447           
     448          case kPinDiode:
    427449            if (!qe.IsPINDiodeMethodValid())
    428                 return kFALSE;
     450              return kFALSE;
    429451            calibQE     = qe.GetQECascadesPINDiode   ( zenith );
    430452            calibQEVar  = qe.GetQECascadesPINDiodeVar( zenith );
    431453            break;
    432 
    433         case kFfactor:
     454           
     455          case kFfactor:
    434456            if (!pix.IsFFactorMethodValid())
    435                 return kFALSE;
     457              return kFALSE;
    436458            calibQE     = qe.GetQECascadesFFactor   ( zenith );
    437459            calibQEVar  = qe.GetQECascadesFFactorVar( zenith );
    438460            break;
    439 
    440         case kCombined:
     461           
     462          case kCombined:
    441463            if (!qe.IsCombinedMethodValid())
    442                 return kFALSE;
     464              return kFALSE;
    443465            calibQE     = qe.GetQECascadesCombined   ( zenith );
    444466            calibQEVar  = qe.GetQECascadesCombinedVar( zenith );
    445467            break;
    446 
    447         case kDummy:
     468           
     469          case kDummy:
    448470            hiloconv    = 1.;
    449471            hiloconverr = 0.;
    450472            break;
    451         } /* switch calibration mode */
     473          } /* switch calibration mode */
    452474    } /* if(fCalibrationMode!=kNone) */
    453475    else
    454476    {
    455         calibConv  = 1./fGeomCam->GetPixRatio(pixidx);
     477      calibConv  = 1./fGeomCam->GetPixRatio(pixidx);
    456478    }
    457479
     
    493515            continue;
    494516        }
     517
     518        calibConv *= fRenormFactor;
    495519
    496520        if (data)
  • trunk/MagicSoft/Mars/mcalib/MCalibrateData.h

    r5729 r5853  
    4343  UShort_t fCalibrationMode;             // Flag defining the calibration mode (CalibrationMode_t)
    4444  Byte_t   fPedestalFlag;                // Flags defining to calibrate the pedestal each event or each run
     45  Byte_t   fSignalType;                  // Flag defining the signal type (kphot or kphe)
     46 
     47  Float_t  fRenormFactor;                // Possible renormalization factor for signals (-> phes)
    4548 
    4649  TList fNamesPedestal;                  // Names of input and output pedestal conatainer
     
    8184  };
    8285 
     86  enum SignalType_t
     87  {
     88      kPhe,
     89      kPhot
     90  };
     91 
    8392  MCalibrateData(CalibrationMode_t calmode=kDefault,
    8493                 const char *name=NULL, const char *title=NULL);
     
    8998 
    9099  void   SetCalibrationMode ( CalibrationMode_t calmode=kDefault ) { fCalibrationMode=calmode; }
     100  void   SetSignalType      ( SignalType_t      sigtype=kPhot    ) { fSignalType     =sigtype; } 
    91101
    92102  void   AddPedestal(const char *name="Cam");
    93103  void   AddPedestal(const char *pedestal, const char *pedphot);
    94104
    95   ClassDef(MCalibrateData, 0)   // Task to calibrate FADC counts into Cherenkov photons
     105  ClassDef(MCalibrateData, 1)   // Task to calibrate FADC counts into Cherenkov photons
    96106};
    97107
Note: See TracChangeset for help on using the changeset viewer.