Ignore:
Timestamp:
09/09/04 19:10:12 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mcalib
Files:
2 edited

Legend:

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

    r4908 r4912  
    257257// - flag debug         to kFALSE
    258258//
     259// Sets all checks
     260//
    259261// Calls:
    260262// - Clear()
     
    282284  SetOutputFile        ();
    283285  SetDebug       ( kFALSE );
     286
     287  SetCheckDeadPixels       ();
     288  SetCheckExtractionWindow ();
     289  SetCheckHistOverflow     ();
     290  SetCheckDeviatingBehavior();
    284291
    285292  Clear();
     
    10151022      MCalibrationPix  &pix    = fIntensCam ? (*fIntensCam)[i] : (*fCam)[i];
    10161023
    1017       if (bad.IsUncalibrated( MBadPixelsPix::kChargeIsPedestal))
    1018         bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun   );
     1024      if (IsCheckDeadPixels())
     1025        {
     1026          if (bad.IsUncalibrated( MBadPixelsPix::kChargeIsPedestal))
     1027            bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun   );
    10191028 
    1020       if (bad.IsUncalibrated( MBadPixelsPix::kChargeErrNotValid ))
    1021         bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
    1022 
    1023       if (bad.IsUncalibrated( MBadPixelsPix::kChargeRelErrNotValid ))
    1024         bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
    1025  
    1026       if (bad.IsUncalibrated( MBadPixelsPix::kMeanTimeInFirstBin ))
    1027         bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
    1028 
    1029       if (bad.IsUncalibrated( MBadPixelsPix::kMeanTimeInLast2Bins ))
    1030         bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
    1031 
    1032       if (bad.IsUncalibrated( MBadPixelsPix::kDeviatingNumPhes ))
    1033         bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
    1034 
    1035       if (bad.IsUncalibrated( MBadPixelsPix::kHiGainOverFlow   ))
    1036         bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
    1037 
    1038       if (bad.IsUncalibrated( MBadPixelsPix::kLoGainOverFlow   ))
    1039         bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
    1040 
     1029          if (bad.IsUncalibrated( MBadPixelsPix::kChargeErrNotValid ))
     1030            bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
     1031
     1032          if (bad.IsUncalibrated( MBadPixelsPix::kChargeRelErrNotValid ))
     1033            bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
     1034        }
     1035     
     1036      if (IsCheckExtractionWindow())
     1037        {
     1038          if (bad.IsUncalibrated( MBadPixelsPix::kMeanTimeInFirstBin ))
     1039            bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
     1040         
     1041          if (bad.IsUncalibrated( MBadPixelsPix::kMeanTimeInLast2Bins ))
     1042            bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
     1043        }
     1044     
     1045      if (IsCheckDeviatingBehavior())
     1046        {
     1047          if (bad.IsUncalibrated( MBadPixelsPix::kDeviatingNumPhes ))
     1048            bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
     1049        }
     1050     
     1051      if (IsCheckHistOverflow())
     1052        {
     1053          if (bad.IsUncalibrated( MBadPixelsPix::kHiGainOverFlow   ))
     1054            bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
     1055         
     1056          if (bad.IsUncalibrated( MBadPixelsPix::kLoGainOverFlow   ))
     1057            bad.SetUnsuitable(   MBadPixelsPix::kUnsuitableRun    );
     1058        }
     1059     
    10411060      if (bad.IsUnsuitable(   MBadPixelsPix::kUnsuitableRun    ))
    10421061        pix.SetExcluded();
     
    12491268                << Form("[%7.2f,%7.2f] pixel%4i",lowlim[aidx],upplim[aidx],i) << endl;
    12501269          bad.SetUncalibrated( MBadPixelsPix::kDeviatingNumPhes );
    1251           bad.SetUnsuitable  ( MBadPixelsPix::kUnsuitableRun    );
    1252           pix.SetFFactorMethodValid(kFALSE);
     1270          if (IsCheckDeviatingBehavior())
     1271            {
     1272              bad.SetUnsuitable  ( MBadPixelsPix::kUnsuitableRun    );
     1273              pix.SetFFactorMethodValid(kFALSE);
     1274            }
    12531275          continue;
    12541276        }
     
    13851407                    << endl;
    13861408              bad.SetUncalibrated( MBadPixelsPix::kDeviatingNumPhes );
    1387               bad.SetUnsuitable  ( MBadPixelsPix::kUnsuitableRun    );
     1409              if (IsCheckDeviatingBehavior())
     1410                bad.SetUnsuitable  ( MBadPixelsPix::kUnsuitableRun    );
    13881411            }
    13891412        }
     
    17091732        {
    17101733          (*fBadPixels)[i].SetUncalibrated( MBadPixelsPix::kDeviatingFFactor );
    1711           (*fBadPixels)[i].SetUnsuitable  ( MBadPixelsPix::kUnreliableRun    );
     1734          if (IsCheckDeviatingBehavior())
     1735            (*fBadPixels)[i].SetUnsuitable  ( MBadPixelsPix::kUnreliableRun    );
    17121736          continue;
    17131737        }
     
    18151839
    18161840          bad.SetUncalibrated( MBadPixelsPix::kDeviatingFFactor );
    1817           bad.SetUnsuitable  ( MBadPixelsPix::kUnsuitableRun    );
     1841          if (IsCheckDeviatingBehavior())
     1842            bad.SetUnsuitable  ( MBadPixelsPix::kUnsuitableRun    );
    18181843        }
    18191844    }
  • trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.h

    r4908 r4912  
    9494
    9595  // enums
     96  enum  Check_t
     97    {
     98      kCheckDeadPixels,
     99      kCheckExtractionWindow,
     100      kCheckHistOverflow,
     101      kCheckDeviatingBehavior
     102    };                                         // Possible Checks
     103
     104  Byte_t fCheckFlags;                          // Bit-field to hold the possible check flags
     105 
    96106  enum  { kDebug, kPheFitOK, kFFactorFitOK, kBlindPixelFitOK, kBlindPixelPedFitOK, kPINDiodeFitOK };
    97107
     
    113123  void   PrintUncalibrated( MBadPixelsPix::UncalibratedType_t typ, const char *text) const;
    114124
     125  // Global fit results
    115126  void   SetPheFitOK          ( const Int_t aidx, const Bool_t b=kTRUE ) {
    116127    b ? SETBIT(fResultFlags[aidx], kPheFitOK)
     
    129140      : CLRBIT(fPINDiodeFlags[idx], kPINDiodeFitOK); }
    130141
     142  Bool_t IsCheckDeadPixels       () const { return TESTBIT(fCheckFlags,kCheckDeadPixels);        }
     143  Bool_t IsCheckExtractionWindow () const { return TESTBIT(fCheckFlags,kCheckExtractionWindow);  }
     144  Bool_t IsCheckHistOverflow     () const { return TESTBIT(fCheckFlags,kCheckHistOverflow);      }
     145  Bool_t IsCheckDeviatingBehavior() const { return TESTBIT(fCheckFlags,kCheckDeviatingBehavior); }
     146 
    131147  Int_t  PreProcess (MParList *pList);
    132148  Bool_t ReInit     (MParList *pList);
     
    156172  void SetPulserColor       ( const MCalibrationCam::PulserColor_t col ) { fPulserColor       = col;   }
    157173
     174  // Checks
     175  void SetCheckDeadPixels( const Bool_t b=kTRUE ) {
     176    b ? SETBIT(fCheckFlags,kCheckDeadPixels)
     177      : CLRBIT(fCheckFlags,kCheckDeadPixels); }
     178  void SetCheckExtractionWindow( const Bool_t b=kTRUE ) {
     179    b ? SETBIT(fCheckFlags,kCheckExtractionWindow)
     180      : CLRBIT(fCheckFlags,kCheckExtractionWindow); }
     181  void SetCheckHistOverflow( const Bool_t b=kTRUE ) {
     182    b ? SETBIT(fCheckFlags,kCheckHistOverflow)
     183      : CLRBIT(fCheckFlags,kCheckHistOverflow); }
     184  void SetCheckDeviatingBehavior( const Bool_t b=kTRUE ) {
     185    b ? SETBIT(fCheckFlags,kCheckDeviatingBehavior)
     186      : CLRBIT(fCheckFlags,kCheckDeviatingBehavior); }
    158187
    159188  ClassDef(MCalibrationChargeCalc, 1)   // Task calculating Calibration Containers and Quantum Efficiencies
Note: See TracChangeset for help on using the changeset viewer.