/* ======================================================================== *\ ! ! * ! * This file is part of MARS, the MAGIC Analysis and Reconstruction ! * Software. It is distributed to you in the hope that it can be a useful ! * and timesaving tool in analysing Data of imaging Cerenkov telescopes. ! * It is distributed WITHOUT ANY WARRANTY. ! * ! * Permission to use, copy, modify and distribute this software and its ! * documentation for any purpose is hereby granted without fee, ! * provided that the above copyright notice appear in all copies and ! * that both that copyright notice and this permission notice appear ! * in supporting documentation. It is provided "as is" without express ! * or implied warranty. ! * ! ! ! Author(s): Markus Gaug 02/2004 ! ! Copyright: MAGIC Software Development, 2000-2004 ! ! \* ======================================================================== */ ////////////////////////////////////////////////////////////////////////////// // // MHCalibrationChargeLoGainPix // // Performs all the necessary fits to extract the mean number of summed FADC slices // ////////////////////////////////////////////////////////////////////////////// #include "MHCalibrationChargeLoGainPix.h" #include #include #include #include #include "MLog.h" #include "MLogManip.h" #include "MParList.h" #include "MExtractedSignalCam.h" ClassImp(MHCalibrationChargeLoGainPix); using namespace std; const Int_t MHCalibrationChargeLoGainPix::fgChargeNbins = 200; const Axis_t MHCalibrationChargeLoGainPix::fgChargeFirst = -0.5; const Axis_t MHCalibrationChargeLoGainPix::fgChargeLast = 199.5; const Int_t MHCalibrationChargeLoGainPix::fgAbsTimeNbins = 15; const Axis_t MHCalibrationChargeLoGainPix::fgAbsTimeFirst = -0.5; const Axis_t MHCalibrationChargeLoGainPix::fgAbsTimeLast = 14.5; // -------------------------------------------------------------------------- // // Default Constructor. // MHCalibrationChargeLoGainPix::MHCalibrationChargeLoGainPix(const char *name, const char *title) { fName = name ? name : "MHCalibrationChargeLoGainPix"; fTitle = title ? title : "Fill the FADC sums of the Low Gain events and perform the fits Pixel "; SetChargeNbins(); SetChargeFirst(); SetChargeLast(); SetAbsTimeNbins(); SetAbsTimeFirst(); SetAbsTimeLast(); } void MHCalibrationChargeLoGainPix::Init() { fHGausHist.SetName("HCalibrationChargeLoGainPix"); fHGausHist.SetTitle("Distribution of Summed Hi Gain FADC slices Pixel "); fHGausHist.SetXTitle("Sum FADC Slices"); fHGausHist.SetYTitle("Nr. of events"); fHGausHist.SetBins(fChargeNbins,fChargeFirst,fChargeLast); // fHGausHist.Sumw2(); fHAbsTime.SetName("HAbsTimeLoGainPix"); fHAbsTime.SetTitle("Distribution of Absolute Arrival Times Hi Gain Pixel "); fHAbsTime.SetXTitle("Absolute Arrival Time [FADC slice nr]"); fHAbsTime.SetYTitle("Nr. of events"); fHAbsTime.SetBins(fAbsTimeNbins,fAbsTimeFirst,fAbsTimeLast); } void MHCalibrationChargeLoGainPix::ChangeHistId(Int_t id) { fPixId = id; fHGausHist.SetName(Form("%s%d", fHGausHist.GetName(), id)); fHGausHist.SetTitle(Form("%s%d", fHGausHist.GetTitle(), id)); fHAbsTime.SetName(Form("%s%d", fHAbsTime.GetName(), id)); fHAbsTime.SetTitle(Form("%s%d", fHAbsTime.GetTitle(), id)); fName = Form("%s%d", fName.Data(), id); fTitle = Form("%s%d", fTitle.Data(), id); }