Ignore:
Timestamp:
08/29/04 17:04:39 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
File:
1 edited

Legend:

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

    r4658 r4793  
    154154using namespace std;
    155155
     156const Int_t   MHCalibrationChargeCam::fgAverageNbinsHiGain       = 3300;
     157const Int_t   MHCalibrationChargeCam::fgAverageNbinsLoGain       = 1950;
    156158const Float_t MHCalibrationChargeCam::fgNumHiGainSaturationLimit = 0.01;
    157159const Float_t MHCalibrationChargeCam::fgNumLoGainSaturationLimit = 0.005;
     
    175177// - fTimeLowerLimit           to fgTimeLowerLimit
    176178// - fTimeUpperLimit           to fgTimeUpperLimit
     179// - fAverageNbins             to fgAverageNbinsHiGain
    177180//
    178181MHCalibrationChargeCam::MHCalibrationChargeCam(const char *name, const char *title)
    179182    : fRawEvt(NULL)
    180183{
     184
    181185  fName  = name  ? name  : "MHCalibrationChargeCam";
    182186  fTitle = title ? title : "Class to fill the calibration histograms ";
     
    187191  SetTimeUpperLimit();
    188192
    189 
     193  SetAverageNbins(fgAverageNbinsHiGain);
    190194}
    191195
     
    220224// Initializes, if empty to MGeomCam::GetNumPixels():
    221225// - MHCalibrationCam::fHiGainArray, MHCalibrationCam::fLoGainArray
     226// - MHCalibrationCam::fHiGainOverflow, MHCalibrationCam::fLoGainOverflow
    222227//
    223228// Initializes, if empty to MGeomCam::GetNumAreas() for:
     
    243248{
    244249
    245   MExtractedSignalCam *signal = (MExtractedSignalCam*)pList->FindObject(AddSerialNumber("MExtractedSignalCam"));
     250  MExtractedSignalCam *signal =
     251    (MExtractedSignalCam*)pList->FindObject(AddSerialNumber("MExtractedSignalCam"));
    246252  if (!signal)
    247253  {
     
    301307        InitHists((*this)[i],(*fBadPixels)[i],i);
    302308      }
     309      fHiGainOverFlow.Set(npixels);
    303310  }
    304311
     
    310317      {
    311318          (*fLoGainArray)[i] = new MHCalibrationChargeLoGainPix;
    312           InitHists((*this)(i),(*fBadPixels)[i],i);
     319          MHGausEvents &lopix = (*this)(i);
     320          //
     321          // Adapt the range for the case, the intense blue is used:
     322          // FIXME: this is a nasty workaround, but for the moment necessary
     323          // in order to avoid default memory space.
     324          //
     325          if (fGeom->InheritsFrom("MGeomCamMagic"))
     326            {
     327              if ( fColor == MCalibrationCam::kBLUE)
     328                {
     329                  lopix.SetLast(999.5);
     330                  lopix.SetNbins(1150);
     331                }
     332            }
     333          InitHists(lopix,(*fBadPixels)[i],i);
    313334      }
    314      
     335      fLoGainOverFlow.Set(npixels); 
    315336  }
    316337
     
    357378
    358379        MHCalibrationChargePix &hist = (MHCalibrationChargePix&)GetAverageLoGainArea(j);
    359 
    360         hist.SetNbins(fAverageNbins);
     380        hist.SetNbins(fgAverageNbinsLoGain);
     381
     382        //
     383        // Adapt the range for the case, the intense blue is used:
     384        // FIXME: this is a nasty workaround, but for the moment necessary
     385        // in order to avoid default memory space.
     386        //
     387        if (fGeom->InheritsFrom("MGeomCamMagic"))
     388            {
     389              if ( fColor == MCalibrationCam::kBLUE)
     390                {
     391                  hist.SetFirst(-10.5);
     392                  hist.SetLast(999.5);
     393                  hist.SetNbins(3030);
     394                }
     395            }
     396
    361397        hist.GetHAbsTime()->SetTitle("Absolute Arrival Time average LoGain Area Idx ");
    362398
     
    410446
    411447          hist.GetHGausHist()->SetTitle("Summed FADC slices average LoGain Sector ");
    412           hist.SetNbins(fAverageNbins);
     448          hist.SetNbins(fgAverageNbinsLoGain);
     449         
     450          //
     451          // Adapt the range for the case, the intense blue is used:
     452          // FIXME: this is a nasty workaround, but for the moment necessary
     453          // in order to avoid default memory space.
     454          //
     455          if (fGeom->InheritsFrom("MGeomCamMagic"))
     456            {
     457              if ( fColor == MCalibrationCam::kBLUE)
     458                {
     459                  hist.SetFirst(-10.5);
     460                  hist.SetLast(999.5);
     461                  hist.SetNbins(3030);
     462                }
     463            }
     464         
    413465          hist.GetHAbsTime()->SetTitle("Absolute Arrival Time average LoGain Sector ");
    414466
    415467          InitHists(hist,fCam->GetAverageBadSector(j),j);
    416          
    417468      }
    418469  }
     
    494545
    495546      if (!histhi.FillHistAndArray(sumhi))
    496         fHiGainOverFlow++;
     547        fHiGainOverFlow[i]++;
     548
    497549      if (!histlo.FillHistAndArray(sumlo))
    498         fLoGainOverFlow++;
    499      
     550        fLoGainOverFlow[i]++;
     551
    500552      const Int_t sathi = (Int_t)pix.GetNumHiGainSaturated();
    501553      const Int_t satlo = (Int_t)pix.GetNumLoGainSaturated();
     
    615667  *fLog << endl;
    616668
    617   if (fHiGainOverFlow)
    618     *fLog << warn << GetDescriptor()
    619           << ": Histogram Overflow has occurred " << fHiGainOverFlow << " in the High-Gain! " << endl;
    620   if (fLoGainOverFlow)
    621     *fLog << warn << GetDescriptor()
    622           << ": Histogram Overflow has occurred " << fLoGainOverFlow << " in the Low-Gain! " << endl;
    623 
    624669  for (Int_t i=0; i<fHiGainArray->GetSize(); i++)
    625670    {
     
    639684        }
    640685
     686      if (fHiGainOverFlow[i])
     687        {
     688          *fLog << warn << GetDescriptor()
     689                << ": Hi-Gain Histogram Overflow occurred " << fHiGainOverFlow[i]
     690                << " times in pixel: " << i << " (without saturation!) " << endl;
     691          bad.SetUncalibrated( MBadPixelsPix::kHiGainOverFlow );
     692        }
     693     
    641694      FinalizeAbsTimes(histhi, pix, bad, fFirstHiGain, fLastHiGain);
    642695    }
     
    659712        }
    660713 
     714      if (fLoGainOverFlow[i])
     715        {
     716          *fLog << warn << GetDescriptor()
     717                << ": Lo-Gain Histogram Overflow occurred " << fLoGainOverFlow[i]
     718                << " times in pixel: " << i << " (without saturation!) " << endl;
     719          bad.SetUncalibrated( MBadPixelsPix::kLoGainOverFlow );
     720        }
     721
    661722      MCalibrationChargePix &pix    = (MCalibrationChargePix&)(*fCam)[i];
    662723     
Note: See TracChangeset for help on using the changeset viewer.