Ignore:
Timestamp:
03/01/04 17:18:18 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/manalysis/MMcCalibrationUpdate.cc

    r3344 r3374  
    9999    }
    100100
    101     return  run->GetRunType() == kRTMonteCarlo;
     101    return run->IsMonteCarloRun();
    102102}
    103103
     
    108108Int_t MMcCalibrationUpdate::PreProcess(MParList *pList)
    109109{
    110   fCalCam = (MCalibrationChargeCam*) pList->FindObject(AddSerialNumber("MCalibrationChargeCam"));
    111   if ( !fCalCam )
    112     {
    113       *fLog << inf << dbginf << AddSerialNumber("MCalibrationChargeCam") << " does not exist... Creating." << endl;
    114 
    115       fCalCam = (MCalibrationChargeCam*) pList->FindCreateObj(AddSerialNumber("MCalibrationChargeCam"));
    116       if ( !fCalCam )
    117         {
    118           *fLog << err << dbginf << "Cannot create " << AddSerialNumber("MCalibrationChargeCam") << "... aborting." << endl;
    119           return kFALSE;
    120         }
    121     }
    122   else
    123     {
    124       fFillCalibrationCam = kFALSE;
    125       *fLog << inf << AddSerialNumber("MCalibrationChargeCam") << " already exists... " << endl;
    126     }
    127 
    128   fPedPhotCam = (MPedPhotCam*) pList->FindCreateObj(AddSerialNumber("MPedPhotCam"));
    129   if ( ! fPedPhotCam)
    130     {
    131       *fLog << err << dbginf << "Cannot create " << AddSerialNumber("MPedPhotCam") << "... aborting." << endl;
    132       return kFALSE;
    133     }
    134 
    135   fSignalCam = (MExtractedSignalCam*) pList->FindObject(AddSerialNumber("MExtractedSignalCam"));
    136   if ( ! fSignalCam)
    137     {
    138       *fLog << err << dbginf << "Cannot find " << AddSerialNumber("MExtractedSignalCam") << "... aborting." << endl;
    139       return kFALSE;
    140     }
    141 
    142   return kTRUE;
    143 
     110    fCalCam = (MCalibrationChargeCam*) pList->FindObject(AddSerialNumber("MCalibrationChargeCam"));
     111    if (!fCalCam)
     112    {
     113        fCalCam = (MCalibrationChargeCam*) pList->FindCreateObj(AddSerialNumber("MCalibrationChargeCam"));
     114        if (!fCalCam)
     115            return kFALSE;
     116    }
     117    else
     118    {
     119        fFillCalibrationCam = kFALSE;
     120        *fLog << inf << AddSerialNumber("MCalibrationChargeCam") << " already exists... " << endl;
     121    }
     122
     123    fPedPhotCam = (MPedPhotCam*) pList->FindCreateObj(AddSerialNumber("MPedPhotCam"));
     124    if (!fPedPhotCam)
     125        return kFALSE;
     126
     127    fSignalCam = (MExtractedSignalCam*) pList->FindObject(AddSerialNumber("MExtractedSignalCam"));
     128    if (!fSignalCam)
     129    {
     130        *fLog << err << AddSerialNumber("MExtractedSignalCam") << " not found... aborting." << endl;
     131        return kFALSE;
     132    }
     133
     134    return kTRUE;
    144135}
    145136
     
    156147    //
    157148    if (!CheckRunType(pList))
    158       {
    159         *fLog << inf << "This is no MC file... skipping." << endl;
     149    {
     150        *fLog << inf << "This is no MC file... skipping." << endl;
    160151        return kTRUE;
    161       }
     152    }
    162153       
    163154    //
    164155    // Now check the existence of all necessary containers.
    165156    //
    166 
    167157    fGeom = (MGeomCam*) pList->FindObject(AddSerialNumber("MGeomCam"));
    168     if ( ! fGeom )
    169       {
    170         *fLog << err << dbginf << "Cannot find " << AddSerialNumber("MGeomCam") << "... aborting." << endl;
    171         return kFALSE;
    172       }
     158    if (!fGeom)
     159    {
     160        *fLog << err << AddSerialNumber("MGeomCam") << " not found... aborting." << endl;
     161        return kFALSE;
     162    }
    173163
    174164    fHeaderFadc = (MMcFadcHeader*)pList->FindObject(AddSerialNumber("MMcFadcHeader"));
    175165    if (!fHeaderFadc)
    176166    {
    177       *fLog << err << dbginf << AddSerialNumber("MMcFadcHeader") << " not found... aborting." << endl;
     167        *fLog << err << AddSerialNumber("MMcFadcHeader") << " not found... aborting." << endl;
    178168        return kFALSE;
    179169    }
     
    182172    // Initialize Fadc simulation parameters:
    183173    //
    184     if ( fAmplitude < 0. )
    185       {
     174    if (fAmplitude < 0)
     175    {
    186176        fAmplitude = fHeaderFadc->GetAmplitud();
    187177        fAmplitudeOuter = fHeaderFadc->GetAmplitudOuter();
    188178        fConversionHiLo = fHeaderFadc->GetLow2HighGain();
    189       }
     179    }
    190180    else   // Check that following files have all the same FADC parameters
    191       {
    192         if ( fabs(fHeaderFadc->GetAmplitud()-fAmplitude) > 1.e-6  ||
     181    {
     182        if ( fabs(fHeaderFadc->GetAmplitud()-fAmplitude)           > 1.e-6  ||
    193183             fabs(fHeaderFadc->GetAmplitudOuter()-fAmplitudeOuter) > 1.e-6  ||
    194              fabs(fConversionHiLo-fHeaderFadc->GetLow2HighGain()) > 1.e-6 )
     184             fabs(fConversionHiLo-fHeaderFadc->GetLow2HighGain())  > 1.e-6 )
    195185          {
    196             *fLog << err << endl << endl << dbginf << "Parameters of MMcFadcHeader are not the same for all the read files. Aborting..." << endl << endl;
    197             return kFALSE;
    198           }
    199       }
     186              *fLog << err << "Parameters of MMcFadcHeader are not the same for all files... aborting." << endl;
     187            return kFALSE;
     188          }
     189    }
    200190
    201191    //
     
    205195    // else has to be done in ReInit:
    206196    //
    207     if ( !fFillCalibrationCam )
    208       return kTRUE;
     197    if (!fFillCalibrationCam)
     198        return kTRUE;
    209199
    210200    //
     
    278268        // counts for the RMS per slice:
    279269        //
    280 
    281         const Float_t pedestrms  = sigpix.IsLoGainUsed()?
    282           sqrt((Double_t)(fSignalCam->GetNumUsedLoGainFADCSlices())) *
    283           (fHeaderFadc->GetPedestalRmsLow(i)>0.? fHeaderFadc->GetPedestalRmsLow(i): 0.01)
    284           :
    285           sqrt((Double_t)(fSignalCam->GetNumUsedHiGainFADCSlices())) *
    286           (fHeaderFadc->GetPedestalRmsHigh(i)>0.? fHeaderFadc->GetPedestalRmsHigh(i) : 0.01);
     270        const Double_t used = (Double_t)(sigpix.IsLoGainUsed() ?
     271                                         fSignalCam->GetNumUsedLoGainFADCSlices() :
     272                                         fSignalCam->GetNumUsedHiGainFADCSlices());
     273
     274        const Float_t rms0 = sigpix.IsLoGainUsed() ?
     275            fHeaderFadc->GetPedestalRmsLow(i) :
     276            fHeaderFadc->GetPedestalRmsHigh(i);
     277
     278        const Float_t pedestrms = TMath::Sqrt(used) * (rms0>0 ? rms0 : 0.01);
    287279
    288280        //
     
    297289
    298290        if (sigpix.IsLoGainUsed())
    299           pedpix.Set(adc2phot*hi2lo*pedestmean,
    300                      adc2phot*hi2lo*pedestrms);
     291            pedpix.Set(adc2phot*hi2lo*pedestmean, adc2phot*hi2lo*pedestrms);
    301292        else
    302           pedpix.Set(adc2phot*pedestmean, adc2phot*pedestrms);
     293            pedpix.Set(adc2phot*pedestmean, adc2phot*pedestrms);
    303294
    304295    }
Note: See TracChangeset for help on using the changeset viewer.