#ifndef MARS_MPedCalcPedRun #define MARS_MPedCalcPedRun ///////////////////////////////////////////////////////////////////////////// // // // MPedCalcPedRun // // // // Evaluate the pedestals from pedestal runs // // // ///////////////////////////////////////////////////////////////////////////// #ifndef MARS_MTask #include "MTask.h" #endif #include class MRawRunHeader; class MRawEvtData; class MPedestalCam; class MPedCalcPedRun : public MTask { Byte_t fNumHiGainSamples; Int_t fCounter; // keep number of processed events MRawRunHeader *fRunheader; // raw event run header MRawEvtData *fRawEvt; // raw event data (time slices) MPedestalCam *fPedestals; // Pedestals of all pixels in the camera TArrayF fSumx; // sum of values TArrayF fSumx2; // sum of squared values Float_t CalcHiGainMean(Byte_t *ptr, const Byte_t *end) const; Float_t CalcHiGainRms(Byte_t *ptr, const Byte_t *end, Float_t higainped) const; Float_t GetSumx2(Byte_t* ptr, const Byte_t* end) const; //Float_t CalcHiGainMeanErr(Float_t higainrms) const; //Float_t CalcHiGainRmsErr(Float_t higainrms) const; Bool_t ReInit(MParList *pList); Int_t PreProcess(MParList *pList); Int_t Process(); Int_t PostProcess(); public: MPedCalcPedRun(const char *name=NULL, const char *title=NULL); ClassDef(MPedCalcPedRun, 0) // Task to calculate pedestals from pedestal runs raw data }; #endif