Ignore:
Timestamp:
10/22/04 15:59:02 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

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

    r3841 r5307  
    138138Int_t MCalibrateRelTimes::Process()
    139139{
     140    /*
     141     if (fCalibrations->GetNumPixels() != (UInt_t)fSignals->GetSize())
     142     {
     143     // FIXME: MArrivalTime must be of variable size -
     144     //        like MCerPhotEvt - because we must be able
     145     //        to reduce size by zero supression
     146     //        For the moment this check could be done in ReInit...
     147     *fLog << err << "MArrivalTime and MCalibrationCam have different sizes... abort." << endl;
     148     return kFALSE;
     149     }
     150     */
    140151
    141   /*
    142     if (fCalibrations->GetNumPixels() != (UInt_t)fSignals->GetSize())
     152    const UInt_t npix = fSignals->GetSize();
     153
     154    for (UInt_t pixidx=0; pixidx<npix; pixidx++)
    143155    {
    144         // FIXME: MArrivalTime must be of variable size -
    145         //        like MCerPhotEvt - because we must be able
    146         //        to reduce size by zero supression
    147         //        For the moment this check could be done in ReInit...
    148         *fLog << err << "MArrivalTime and MCalibrationCam have different sizes... abort." << endl;
    149         return kFALSE;
    150     }
    151   */
     156        MCalibrationRelTimePix &pix = (MCalibrationRelTimePix&)(*fCalibrations)[pixidx];
    152157
    153   UInt_t npix = fSignals->GetSize();
     158        if (fBadPixels && (*fBadPixels)[pixidx].IsUnsuitable())
     159            continue;
    154160
    155   Float_t offset    = 0.;
    156   Float_t precision = 0.;
    157  
    158   for (UInt_t pixidx=0; pixidx<npix; pixidx++)
    159     {
     161        const Float_t offset    = pix.GetTimeOffset();
     162        const Float_t precision = pix.GetTimePrecision();
    160163
    161       MCalibrationRelTimePix &pix = (MCalibrationRelTimePix&)(*fCalibrations)[pixidx];
    162      
    163       if (fBadPixels)
     164        MArrivalTimePix &sig = (*fSignals)[pixidx];
     165
     166        Float_t signal;
     167        Float_t sigerr;
     168
     169        if (sig.IsLoGainUsed())
    164170        {
    165           MBadPixelsPix          &bad = (*fBadPixels)[pixidx];
    166           if (bad.IsUnsuitable(MBadPixelsPix::kUnsuitableRun))
    167             continue;
     171            signal = sig.GetArrivalTimeLoGain();
     172            sigerr = sig.GetArrivalTimeLoGainError();
    168173        }
    169      
    170       offset     = pix.GetTimeOffset();
    171       precision  = pix.GetTimePrecision();
    172      
    173       MArrivalTimePix &sig =  (*fSignals)[pixidx];
    174      
    175       Float_t signal;
    176       Float_t sigerr;
    177            
    178       if (sig.IsLoGainUsed())
     174        else
    179175        {
    180           signal = sig.GetArrivalTimeLoGain();
    181           sigerr = sig.GetArrivalTimeLoGainError();
     176            signal = sig.GetArrivalTimeHiGain();
     177            sigerr = sig.GetArrivalTimeHiGainError();
    182178        }
    183       else
    184         {
    185           signal = sig.GetArrivalTimeHiGain();
    186           sigerr = sig.GetArrivalTimeHiGainError();
    187         }
    188      
    189       const Float_t time = signal - offset;
    190       Float_t err        = sigerr*sigerr + precision*precision;
    191       if (err > 0)
    192         err = TMath::Sqrt(err);
    193179
    194       fArrivalTime->SetTime(pixidx,time);
    195       fArrivalTime->SetTimeErr(pixidx,err);
     180        const Float_t time = signal - offset;
     181        const Float_t err  = sigerr*sigerr + precision*precision;
     182
     183        fArrivalTime->SetTime(pixidx, time);
     184        fArrivalTime->SetTimeErr(pixidx, err>0 ? TMath::Sqrt(err) : 0);
    196185
    197186    } /* for (UInt_t pixidx=0; pixidx<npix; pixidx++) */
    198  
    199   fArrivalTime->SetReadyToSave();
    200  
    201   return kTRUE;
     187
     188    fArrivalTime->SetReadyToSave();
     189
     190    return kTRUE;
    202191}
Note: See TracChangeset for help on using the changeset viewer.