#include int FPedestalAllPx( fits &datafile, vector &data, vector &data_offset, vector &drs_basemean, vector &drs_gainmean, vector &drs_triggeroffsetmean, UInt_t data_px, UInt_t data_roi, float pedestal_mean[], float pedestal_rms[] ) { // TCanvas *canv_base = new TCanvas( "canv_base", "Determine the baseline", 100, 520, 700, 500 ); // canv_base->SetLogy(); char title_base[500]; char name_base[50]; TH1F* baseline[data_px]; for(int i=0; iGetXaxis()->SetTitle("Sample value (mV)"); baseline[i]->GetYaxis()->SetTitle("Entries"); } //------------------------------------------- //Find the baseline //------------------------------------------- for (size_t i=0; ( iFill(sample); //Original code //UInt_t drs_calib_offset = (k+data_offset[j])%data_roi; //float sample = (data[j*data_roi+k]*2000/4096.-drs_basemean[j*data_roi+drs_calib_offset]-drs_triggeroffsetmean[j*data_roi+k])/drs_gainmean[j*data_roi+drs_calib_offset]*1907.35; //baseline->Fill(sample); } } } for (int j=0; jGetXaxis()->GetBinCenter(baseline[j]->GetMaximumBin()); pedestal_rms[j] = baseline[j]->GetRMS(); } // std::cout << "Value of maximal probability Px 1348: " << pedestal_mean[1348] << " +- " << pedestal_rms[1348] << std::endl; // canv_base->cd(); // baseline->Draw(); // canv_base->Modified(); // canv_base->Update(); return 0; }