Ignore:
Timestamp:
09/25/04 12:51:35 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mcalib
Files:
4 edited

Legend:

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

    r5046 r5133  
    1  /* ======================================================================== *\
     1/* ======================================================================== *\
    22!
    33! *
     
    2222!
    2323\* ======================================================================== */
    24 
    2524//////////////////////////////////////////////////////////////////////////////
    2625//
     
    193192#include "MParList.h"
    194193
     194#include "MStatusDisplay.h"
     195
    195196#include "MRawEvtHeader.h"
    196197
     
    205206#include "MCalibrationIntensityQECam.h"
    206207#include "MCalibrationIntensityBlindCam.h"
     208
     209#include "MHCalibrationChargeCam.h"
     210#include "MHCalibrationChargeBlindCam.h"
    207211
    208212#include "MCalibrationChargeCam.h"
     
    320324    fIntensCam   = NULL;
    321325    fCam         = NULL;
     326    fHCam        = NULL;
    322327    fIntensQE    = NULL;
    323328    fQECam       = NULL;
    324329    fIntensBlind = NULL;
    325330    fBlindCam    = NULL;
     331    fHBlindCam   = NULL;
    326332    fPINDiode    = NULL;
    327333    fPedestals   = NULL;
     
    433439    }
    434440 
     441  fHCam = (MHCalibrationChargeCam*)pList->FindObject(AddSerialNumber("MHCalibrationChargeCam"));
     442  if (!fHCam)
     443    {
     444      *fLog << err << "Cannot find MHCalibrationChargeCam ... abort." << endl;
     445      *fLog << err << "Maybe you forget to call an MFillH for the MHCalibrationChargeCam before..." << endl;
     446      return kFALSE;
     447    }
     448
    435449  fIntensQE = (MCalibrationIntensityQECam*)pList->FindObject(AddSerialNumber("MCalibrationIntensityQECam"));
    436450  if (fIntensQE)
     
    458472          *fLog << warn << GetDescriptor()
    459473                << ": No MCalibrationBlindCam found... no Blind Pixel method! " << endl;
    460           return kFALSE;
    461         }
    462     }
    463  
     474        }
     475    }
     476 
     477  fHBlindCam = (MHCalibrationChargeBlindCam*)pList->FindObject(AddSerialNumber("MHCalibrationChargeBlindCam")); 
     478  if (!fHBlindCam)
     479    {
     480      *fLog << endl;
     481      *fLog << warn << GetDescriptor()
     482            << ": No MHCalibrationChargeBlindCam found... no Blind Pixel method! " << endl;
     483    }
     484
    464485  fIntensBad = (MBadPixelsIntensityCam*)pList->FindObject(AddSerialNumber("MBadPixelsIntensityCam"));
    465486  if (fIntensBad)
     
    492513  fSqrtLoGainSamples =  TMath::Sqrt(fNumLoGainSamples);
    493514 
     515
     516  MCalibrationQECam     *qecam     = fIntensQE     
     517    ? (MCalibrationQECam*)    fIntensQE->GetCam()   : fQECam;
     518  MCalibrationChargeCam *chargecam = fIntensCam
     519    ? (MCalibrationChargeCam*)fIntensCam->GetCam()  : fCam;
     520  MBadPixelsCam         *badcam    = fIntensBad
     521    ? (MBadPixelsCam*)        fIntensBad->GetCam()  : fBadPixels;
     522
    494523  UInt_t npixels     = fGeom->GetNumPixels();
    495524 
     
    497526    {
    498527     
    499       MCalibrationChargePix &pix = fIntensCam
    500         ? (MCalibrationChargePix&)(*fIntensCam)[i]
    501         : (MCalibrationChargePix&)(*fCam)      [i];
    502       MCalibrationQEPix     &pqe = fIntensQE
    503         ? (MCalibrationQEPix&)    (*fIntensQE)[i]
    504         : (MCalibrationQEPix&)    (*fQECam)[i];
    505       MBadPixelsPix         &bad = fIntensBad
    506         ? (*fIntensBad)[i]
    507         : (*fBadPixels)[i];
     528      MCalibrationChargePix &pix = (MCalibrationChargePix&)(*chargecam)[i];
     529      MCalibrationQEPix     &pqe = (MCalibrationQEPix&)    (*qecam)    [i];
     530      MBadPixelsPix         &bad = (*badcam)   [i];
    508531     
    509532      pix.SetPixId(i);
     
    608631  *fLog << endl;
    609632 
     633  MCalibrationBlindCam     *blindcam  = fIntensBlind     
     634    ? (MCalibrationBlindCam*) fIntensBlind->GetCam()   : fBlindCam;
     635  MCalibrationChargeCam *chargecam = fIntensCam
     636    ? (MCalibrationChargeCam*)fIntensCam->GetCam()  : fCam;
     637
    610638  //
    611639  // Initialize the pulser colours
    612640  //
    613   if (fIntensCam)
    614     fIntensCam->SetPulserColor( fPulserColor );
    615   else
    616     fCam->SetPulserColor( fPulserColor );
    617  
    618   if (fIntensBlind)
    619     fIntensBlind->SetPulserColor( fPulserColor );
    620   else if (fBlindCam)
    621     fBlindCam->SetPulserColor( fPulserColor );
    622  
     641  chargecam ->SetPulserColor( fPulserColor );
     642  blindcam  ->SetPulserColor( fPulserColor );
     643  fHCam     ->SetColor      ( fPulserColor );
     644  fHBlindCam->SetColor      ( fPulserColor );
     645
    623646  if (fPINDiode)
    624647    fPINDiode->SetColor( fPulserColor );
    625648
    626649  return kTRUE;
     650}
     651
     652// -----------------------------------------------------------------------
     653//
     654// Analogue to the MTask::CallPostProcess, but without the manipulation
     655// of the bit fIsPreProcessed. Needed in order to call PostProcess multiple
     656// times in the intensity calibration.
     657//
     658Int_t MCalibrationChargeCalc::CallPostProcess()
     659{
     660
     661  //  if (!fIsPreprocessed)
     662  //    return kTRUE;
     663
     664  *fLog << all << fName << "... " << flush;
     665  if (fDisplay)
     666    fDisplay->SetStatusLine2(*this);
     667 
     668  return PostProcess();
    627669}
    628670
     
    13441386      *fLog << inf << GetDescriptor()
    13451387            << ": Average number phes per area in sector " << sector << ": "
    1346             << Form("%5.2f+-%4.2f  [phe/mm^2]",sectorphes[sector],TMath::Sqrt(sectorweights[sector]))
     1388            << Form("%5.3f+-%4.3f  [phe/mm^2]",sectorphes[sector],TMath::Sqrt(sectorweights[sector]))
    13471389            << endl;
    13481390
  • trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h

    r5023 r5133  
    3131class MPedestalPix;
    3232class MCalibrationChargePINDiode;
     33class MHCalibrationChargeBlindCam;
    3334class MCalibrationIntensityBlindCam;
    3435class MCalibrationBlindCam;
     
    3637class MCalibrationIntensityChargeCam;
    3738class MCalibrationChargeCam;
     39class MHCalibrationChargeCam;
    3840class MCalibrationIntensityQECam;
    3941class MCalibrationQECam;
     
    8587  MBadPixelsIntensityCam         *fIntensBad;      //!  Bad Pixels 
    8688  MBadPixelsCam                  *fBadPixels;      //!  Bad Pixels
    87   MCalibrationIntensityChargeCam *fIntensCam;      //!  Calibrated Charges of all pixels   
    88   MCalibrationChargeCam          *fCam;            //!  Calibrated Charges of all pixels
    89   MCalibrationIntensityBlindCam  *fIntensBlind;    //!  Calibrated Charges of the Blind Pixels
    90   MCalibrationBlindCam           *fBlindCam;       //!  Calibrated Charges of the Blind Pixels 
     89  MCalibrationIntensityChargeCam *fIntensCam;      //!  Intensity Calibration results of all pixels   
     90  MCalibrationChargeCam          *fCam;            //!  Calibrated Charges results of all pixels
     91  MHCalibrationChargeCam         *fHCam;           //!  Charges histograms of all pixels   
     92  MCalibrationIntensityBlindCam  *fIntensBlind;    //!  Intensity Calibration results of the Blind Pixels
     93  MCalibrationBlindCam           *fBlindCam;       //!  Calibrated Charges of the Blind Pixels
     94  MHCalibrationChargeBlindCam    *fHBlindCam;      //!  Charges histograms of the Blind Pixels 
    9195  MCalibrationChargePINDiode     *fPINDiode;       //!  Calibrated Charges of the PIN Diode
    92   MCalibrationIntensityQECam     *fIntensQE;       //!  Calibrated Quantum Efficiencies of all pixels
     96  MCalibrationIntensityQECam     *fIntensQE;       //!  Intensity Calibration Quantum Efficiencies of all pixels
    9397  MCalibrationQECam              *fQECam;          //!  Calibrated Quantum Efficiencies of all pixels
    9498  MGeomCam                       *fGeom;           //!  Camera geometry
     
    161165  MCalibrationChargeCalc(const char *name=NULL, const char *title=NULL);
    162166
     167  Int_t CallPostProcess();
     168
    163169  void Clear(const Option_t *o="");
    164170
  • trunk/MagicSoft/Mars/mcalib/MCalibrationQEPix.cc

    r5044 r5133  
    9494// The number gkDefaultAverageQE = 0.18 +- 0.02 can be obtained in the following way:
    9595//
    96 // * Transmission probability Plexiglass: 0.96
     96// * Transmission probability Plexiglass: 0.92
    9797//
    9898// * Averaged QE coated PMTs: zenith     value
     
    201201const Float_t MCalibrationQEPix::gkDefaultAverageQEErr = 0.02 ; 
    202202const Float_t MCalibrationQEPix::gkPMTCollectionEff    = 0.90 ;
    203 const Float_t MCalibrationQEPix::gkPMTCollectionEffErr = 0.01 ;
     203const Float_t MCalibrationQEPix::gkPMTCollectionEffErr = 0.05 ;
    204204const Float_t MCalibrationQEPix::gkLightGuidesEffGreen    = 0.94 ;
    205205const Float_t MCalibrationQEPix::gkLightGuidesEffGreenErr = 0.03 ;
  • trunk/MagicSoft/Mars/mcalib/MCalibrationRelTimeCalc.h

    r5053 r5133  
    6464  MCalibrationRelTimeCalc(const char *name=NULL, const char *title=NULL);
    6565
     66  Int_t CallPostProcess();
     67 
    6668  void Clear(const Option_t *o="");
    6769 
Note: See TracChangeset for help on using the changeset viewer.