Ignore:
Timestamp:
01/28/04 21:50:34 (21 years ago)
Author:
gaug
Message:
*** empty log message ***
File:
1 edited

Legend:

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

    r2917 r2951  
    5858#include "MPedestalCam.h"
    5959
     60#include "MExtractedSignalPix.h"
     61#include "MExtractedSignalCam.h"
     62
     63
    6064#include "MGeomCamMagic.h"
    6165
     
    6973//
    7074MPedCalcPedRun::MPedCalcPedRun(const char *name, const char *title)
     75    : fRawEvt(NULL), fPedestals(NULL), fSignals(NULL)
    7176{
    7277    fName  = name  ? name  : "MPedCalcPedRun";
     
    7580    AddToBranchList("fHiGainPixId");
    7681    AddToBranchList("fHiGainFadcSamples");
    77 }
     82
     83    Clear();
     84}
     85
     86void MPedCalcPedRun::Clear(const Option_t *o)
     87{
     88
     89  fNumHiGainSamples = 0;
     90  fNumPixels        = 0;
     91  fNumSamplesTot    = 0;
     92  fUseHists         = kFALSE;
     93 
     94  fRawEvt    = NULL;
     95  fPedestals = NULL;
     96  fSignals   = NULL;
     97
     98  return;
     99 
     100}
     101
    78102
    79103// --------------------------------------------------------------------------
     
    101125        return kFALSE;
    102126
     127    fSignals = (MExtractedSignalCam*)pList->FindObject("MExtractedSignalCam");
     128
     129    if (!fSignals && fUseHists)
     130    {
     131        *fLog << warn << "Cannot find MExtractedSignalCam... will not use histograms!" << endl;
     132        fUseHists = kFALSE;
     133    }
     134
    103135    fNumSamplesTot=0;
    104136
     
    141173    // the other one
    142174    fNumHiGainSamples = runheader->GetNumSamplesHiGain() & ~1;
     175
     176    if (fUseHists)
     177      fPedestals->InitUseHists();
    143178
    144179    return kTRUE;
     
    170205       
    171206        const Float_t msum = (Float_t)sum;
    172         const Float_t msqr = (Float_t)sqr;
    173        
    174         const Float_t higainped = msum/fNumHiGainSamples;
    175         const Float_t higainrms = TMath::Sqrt((msqr-msum*msum/fNumHiGainSamples)/(fNumHiGainSamples-1.));
    176        
     207
    177208        const UInt_t idx = pixel.GetPixelId();
    178         (*fPedestals)[idx].Set(higainped, higainrms);
     209        //
     210        // These three lines have been uncommented by Markus Gaug
     211        // If anybody needs them, please contact me!!
     212        //
     213        //      const Float_t higainped = msum/fNumHiGainSamples;
     214        //      const Float_t higainrms = TMath::Sqrt((msqr-msum*msum/fNumHiGainSamples)/(fNumHiGainSamples-1.));
     215        //      (*fPedestals)[idx].Set(higainped, higainrms);
    179216       
    180217        fSumx[idx]  += msum;
     
    182219        // The old version:
    183220        //
     221        //       const Float_t msqr = (Float_t)sqr;
    184222        //      fSumx2[idx] += msqr;
    185223        //
     
    187225        //
    188226        fSumx2[idx] += msum*msum;
     227
     228        if (fUseHists)
     229          {
     230            MExtractedSignalPix &sig =  (*fSignals)[idx];           
     231            const Float_t signal = sig.GetExtractedSignalHiGain();
     232            const Float_t signalPerSlice = signal/(Float_t)fSignals->GetNumUsedFADCSlices();
     233            (*fPedestals)[idx].FillHists(signalPerSlice);
     234          }
    189235    }
    190236   
    191237    fPedestals->SetReadyToSave();
    192238    fNumSamplesTot += fNumHiGainSamples;
     239
    193240   
    194241    return kTRUE;
     
    225272     
    226273      (*fPedestals)[pixid].Set(higainped, higainrms);
     274
     275      if (fUseHists)
     276        (*fPedestals)[pixid].FitCharge();
     277     
    227278    }
    228279 
Note: See TracChangeset for help on using the changeset viewer.