Changeset 3019


Ignore:
Timestamp:
02/04/04 16:50:23 (21 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r3018 r3019  
    2121
    2222
    23  2004/02/03: Abelardo Moralejo
     23 2004/02/04: Abelardo Moralejo
    2424
    2525  * macros/starmc2.C
     
    2828
    2929
    30  2004/02/03: Markus Gaug
     30 2004/02/04: Markus Gaug
    3131
    3232  * manalysis/MPedestalCam.[h,cc], manalysis/MPedestalPix.[h,cc],
     
    4141  * manalysis/MExtractSignal.cc
    4242    - remove uncommented code
     43
     44  * mcalib/MCalibrationCalc.[h,cc]
     45    - modified way to handle histogram overflow: Now flags are set and
     46      ChargevsN histogram is not tried to be filled subsequently
    4347
    4448
  • trunk/MagicSoft/Mars/mcalib/MCalibrationCalc.cc

    r3015 r3019  
    145145    SETBIT(fFlags, kUseQualityChecks);
    146146
     147    CLRBIT(fFlags, kBlindPixelOverFlow);
     148    CLRBIT(fFlags, kPINDiodeOverFlow);
     149    CLRBIT(fFlags, kHiGainOverFlow);
     150    CLRBIT(fFlags, kLoGainOverFlow);
    147151    // As long as we don't have the PIN Diode:
    148152    CLRBIT(fFlags, kUsePinDiodeFit);
    149153
     154
     155
    150156    fEvents            = 0;
    151157    fCosmics           = 0;
     158
    152159    fNumHiGainSamples  = 0;
    153160    fNumLoGainSamples  = 0;
     
    430437  fEvents++;
    431438
    432   Int_t   overflow      = 0;
    433439  Float_t referencetime = 0.;
    434440 
     
    508514            }
    509515         
    510           if (!blindpixel.FillRChargevsTime(sumhi,fEvents))
    511             *fLog << warn <<
    512               "Overflow or Underflow occurred filling Blind Pixel eventnr = " << fEvents << endl;
     516          if (!TESTBIT(fFlags,kBlindPixelOverFlow))
     517            if (!blindpixel.FillRChargevsTime(sumhi,fEvents))
     518              {
     519                *fLog << warn <<
     520                  "Overflow or Underflow occurred filling Blind Pixel eventnr = " << fEvents << endl;
     521                SETBIT(fFlags,kBlindPixelOverFlow);
     522              }
     523         
    513524          break;
    514525         
     
    529540            }
    530541         
    531           if (!pindiode.FillRChargevsTime(sumhi,fEvents))
    532             *fLog << warn <<
    533               "Overflow or Underflow occurred filling PINDiode: eventnr = " << fEvents << endl;
     542          if (!TESTBIT(fFlags,kPINDiodeOverFlow))
     543            if (!pindiode.FillRChargevsTime(sumhi,fEvents))
     544              {
     545                *fLog << warn
     546                      << "Overflow or Underflow occurred filling PINDiode: eventnr = "
     547                      << fEvents << endl;
     548                SETBIT(fFlags,kPINDiodeOverFlow);
     549              }
    534550          break;
    535551         
     
    538554          pix.FillChargesInGraph(sumhi,sumlo);
    539555
    540           if (!pix.FillRChargevsTimeLoGain(sumlo,fEvents))
    541             overflow++;
    542          
    543           if (!pix.FillRChargevsTimeHiGain(sumhi,fEvents))
    544             overflow++;
     556          if (!TESTBIT(fFlags,kLoGainOverFlow))
     557            if (!pix.FillRChargevsTimeLoGain(sumlo,fEvents))
     558              {
     559                *fLog << warn
     560                      << "Overflow filling Histogram ChargevsNLoGain eventnr = "
     561                      << fEvents << endl;
     562                SETBIT(fFlags,kLoGainOverFlow);
     563              }
     564         
     565          if (!TESTBIT(fFlags,kHiGainOverFlow))
     566            if (!pix.FillRChargevsTimeHiGain(sumhi,fEvents))
     567              {
     568                *fLog << warn
     569                      << "Overflow filling Histogram ChargevsNHiGain eventnr = "
     570                      << fEvents << endl;
     571                SETBIT(fFlags,kHiGainOverFlow);
     572              }
     573
    545574         
    546575          if (sig.IsLoGainUsed())
     
    583612    } /* while (pixel.Next()) */
    584613
    585   if (overflow)
    586     *fLog << warn << "Overflow occurred filling Charges vs. EvtNr " << overflow << " times" << endl;
    587  
    588614  return kTRUE;
    589615}
     
    655681          pederr          = TMath::Sqrt(pederr)*sqrslice;
    656682         
    657           const Float_t pedsigma    = pedhist.GetChargeSigma()*sqrslice;
    658           const Float_t pedsigmaerr = pedhist.GetChargeSigmaErr()*sqrslice;
     683          //
     684          // Fitted sigma: 1. one sqrt(Nr. slices) for the division which is not
     685          //                  not appropriate: sigma(real)/slice = GetSigma*sqrt(nslices)
     686          //               2. another sqrt(Nr. slices) to calculate back to number
     687          //                  of slices
     688          //
     689          const Float_t pedsigma    = pedhist.GetChargeSigma()*nslices;
     690          const Float_t pedsigmaerr = pedhist.GetChargeSigmaErr()*nslices;
    659691         
    660692          hist->SetMeanPedestal(peddiff);
  • trunk/MagicSoft/Mars/mcalib/MCalibrationCalc.h

    r2971 r3019  
    5555  Int_t fEvents;                           // Number of events 
    5656  Int_t fCosmics;                          // Number of events due to supposed cosmics
    57 
     57 
    5858  Byte_t fNumHiGainSamples;
    5959  Byte_t fNumLoGainSamples;
     
    6161 
    6262  Float_t fConversionHiLo;
    63   Byte_t fFlags;                           // Flag for the fits used
     63  Int_t  fFlags;                           // Flag for the fits used
    6464
    6565  TString fExcludedPixelsFile;
     
    6767
    6868  enum  { kUseTimes, kUseBlindPixelFit, kUsePinDiodeFit,
    69           kUseCosmicsRejection, kUseQualityChecks };
     69          kUseCosmicsRejection, kUseQualityChecks,
     70          kBlindPixelOverFlow, kPINDiodeOverFlow,
     71          kHiGainOverFlow, kLoGainOverFlow  };
    7072
    7173public:
Note: See TracChangeset for help on using the changeset viewer.