Index: fact/tools/rootmacros/FOscilloscope.c
===================================================================
--- fact/tools/rootmacros/FOscilloscope.c	(revision 12364)
+++ fact/tools/rootmacros/FOscilloscope.c	(revision 12365)
@@ -1,3 +1,4 @@
 #include <cstdio>
+#include "FCalibrateEvent.c"
 int FOscilloscope(fits &datafile, vector<int16_t> &data, vector<int16_t> &data_offset, unsigned int &data_num, UInt_t data_px, vector<float> &drs_basemean, vector<float> &drs_gainmean, vector<float> &drs_triggeroffsetmean, UInt_t data_roi, float threshold, TH2* pulseshape, TH1* spectrum)
 //Data, calibration, data_roi, data_num, data_px, threshold, two histograms
@@ -9,5 +10,7 @@
 	UInt_t integration_delay = 5;
 	
-	float sample, last_sample, integral;
+	vector<float> calevent(data_px*data_roi); //Vector for the calibrated event
+	
+	float integral;
 	UInt_t drs_calib_offset;
 
@@ -18,4 +21,6 @@
 		cout << "Event number: " << data_num << endl;
 		
+		FCalibrateEvent(data, data_offset, drs_basemean, drs_gainmean, drs_triggeroffsetmean, calevent, data_px, data_roi);
+		
 		//Iterate over the pixels
 		for (int j=0; j<data_px; j++)
@@ -24,17 +29,12 @@
 		
 			//Iterate over the slices
-			drs_calib_offset = (start_sample-1+data_offset[j])%data_roi;
-			last_sample = (data[j*data_roi+start_sample-1]*2000/4096.-drs_basemean[j*data_roi+drs_calib_offset]-drs_triggeroffsetmean[j*data_roi+start_sample-1])/drs_gainmean[j*data_roi+drs_calib_offset]*1907.35;
 			for (UInt_t k=start_sample; k<end_sample; k++)
 			{
-				drs_calib_offset = (k+data_offset[j])%data_roi;
-				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;
-				if((last_sample<threshold)&&(sample>threshold))
+				if((calevent[j*data_roi+k-1]<threshold)&&(calevent[j*data_roi+k]>threshold)&&(calevent[j*data_roi+k+2]>threshold))
 				{
 					integral = 0;
 					for(UInt_t l=integration_delay; l<integration_delay+integration_size; l++)
 					{
-						drs_calib_offset = (k+l+data_offset[j])%data_roi;
-						integral+=(data[j*data_roi+k+l]*2000/4096.-drs_basemean[j*data_roi+drs_calib_offset]-drs_triggeroffsetmean[j*data_roi+k+l])/drs_gainmean[j*data_roi+drs_calib_offset]*1907.35;
+						integral+=calevent[j*data_roi+k+l];
 					}
 //					if((integral>60)&&(integral<=300)) {
@@ -42,7 +42,5 @@
 						for(Int_t l=-10; l<60; l++)
 						{
-							drs_calib_offset = (k+l+data_offset[j])%data_roi;
-							sample = (data[j*data_roi+k+l]*2000/4096.-drs_basemean[j*data_roi+drs_calib_offset]-drs_triggeroffsetmean[j*data_roi+k+l])/drs_gainmean[j*data_roi+drs_calib_offset]*1907.35;
-							pulseshape->Fill(l,sample);
+							pulseshape->Fill(l,calevent[j*data_roi+k+l]);
 						}
 //					}
@@ -52,5 +50,4 @@
 				//TBD: mistake that after the deadtime the last_sample must be set new...
 				//Solution: first process full pipeline
-				last_sample = sample;
 			}
 		}
Index: fact/tools/rootmacros/calscope_batch.C
===================================================================
--- fact/tools/rootmacros/calscope_batch.C	(revision 12364)
+++ fact/tools/rootmacros/calscope_batch.C	(revision 12365)
@@ -75,5 +75,7 @@
 	TProfile *pix = new TProfile("pix", title, 1024, -0.5, 1023.5);
 	
-//****
+//-------------------------------------------
+//Start the loop
+//-------------------------------------------
 	char temp;
 	std::cout << "Plot the spectra out of limits: Enter for next, 'a' to abort." << std::endl;
@@ -83,6 +85,12 @@
 		cout << "Event number: " << data_num << endl;
 
+//-------------------------------------------
+//Calibrate the event
+//-------------------------------------------
 		FCalibrateEvent(data, data_offset, drs_basemean, drs_gainmean, drs_triggeroffsetmean, calevent, data_px, data_roi);
 		
+//-------------------------------------------
+//Draw the data
+//-------------------------------------------
 		pix->Reset();
 		std::sprintf(title,"Data: %s, DRS: %s, Px %i Ev %i",name,drsname,pixelnr,eventnr);
@@ -102,15 +110,4 @@
 		if(temp=='a') break;
 	}
-
-//****
-
-//-------------------------------------------
-//Get the calibrated event
-//-------------------------------------------
-	
-	
-//-------------------------------------------
-//Draw the data
-//-------------------------------------------
 	
 	return 0;
Index: fact/tools/rootmacros/peakfinderscope.C
===================================================================
--- fact/tools/rootmacros/peakfinderscope.C	(revision 12364)
+++ fact/tools/rootmacros/peakfinderscope.C	(revision 12365)
@@ -18,5 +18,5 @@
 #define n_peaks 4
 
-int peakfinderscope(const char *name, const char *drsname, size_t eventnr, size_t pixelnr)
+int peakfinderscope(const char *name, const char *drsname, size_t pixelnr)
 {
 //******************************************************************************
@@ -60,5 +60,5 @@
 //-------------------------------------------
 	char title[500];
-	std::sprintf(title,"Data: %s, DRS: %s, Px %i Ev %i",name,drsname,pixelnr,eventnr);
+	std::sprintf(title,"Data: %s, DRS: %s, Px %i",name,drsname,pixelnr);
 	TCanvas *canv = new TCanvas( "canv", "Waveform", 200, 10, 700, 500 );
 //	TProfile *pulseshape = new TProfile("pulseshape", title, 70, -10.5, 59.5);
@@ -73,5 +73,5 @@
 	std::sprintf(title_spect,"Spectrum of all pixels (data: %s, DRS: %s)",name,drsname);
 	TCanvas *canv_spect = new TCanvas( "canv_spect", "Spectrum", 950, 10, 700, 500 );
-	TH1F *spectrum = new TH1F("spectrum", title_spect,300,0,600);
+	TH1F *spectrum = new TH1F("spectrum", title_spect,700,-200,1200);
 	spectrum->GetXaxis()->SetTitle("Pulse size (a.u.)");
 	spectrum->GetYaxis()->SetTitle("Counts");
@@ -139,61 +139,4 @@
 	canv_spect->Update();
 //***********************
-	fits datafile2("20110804_025.fits");
-	if (!datafile2)
-	{
-	cout << "Couldn't properly open the datafile2." << endl;
-	return 1;
-	}
-	FOpenDataFile(datafile2, data, data_offset, data_num, data_n, data_roi, data_px);
-	FOscilloscope(datafile2, data, data_offset, data_num, data_px, drs_basemean, drs_gainmean, drs_triggeroffsetmean, data_roi, threshold, pulseshape, spectrum);
-	
-	canv->cd();
-	pulseshape->Draw();
-	canv->Modified();
-	canv->Update();
-	
-	canv_spect->cd();
-	spectrum->Draw();
-	canv_spect->Modified();
-	canv_spect->Update();
-//***********************
-	fits datafile3("20110804_026.fits");
-	if (!datafile3)
-	{
-	cout << "Couldn't properly open the datafile3." << endl;
-	return 1;
-	}
-	FOpenDataFile(datafile3, data, data_offset, data_num, data_n, data_roi, data_px);
-	FOscilloscope(datafile3, data, data_offset, data_num, data_px, drs_basemean, drs_gainmean, drs_triggeroffsetmean, data_roi, threshold, pulseshape, spectrum);
-	
-	canv->cd();
-	pulseshape->Draw();
-	canv->Modified();
-	canv->Update();
-	
-	canv_spect->cd();
-	spectrum->Draw();
-	canv_spect->Modified();
-	canv_spect->Update();
-//***********************
-	fits datafile4("20110804_027.fits");
-	if (!datafile4)
-	{
-	cout << "Couldn't properly open the datafile4." << endl;
-	return 1;
-	}
-	FOpenDataFile(datafile4, data, data_offset, data_num, data_n, data_roi, data_px);
-	FOscilloscope(datafile4, data, data_offset, data_num, data_px, drs_basemean, drs_gainmean, drs_triggeroffsetmean, data_roi, threshold, pulseshape, spectrum);
-	
-	canv->cd();
-	pulseshape->Draw();
-	canv->Modified();
-	canv->Update();
-	
-	canv_spect->cd();
-	spectrum->Draw();
-	canv_spect->Modified();
-	canv_spect->Update();
-//***********************
 	spectrum->Fit(f_peaks,"R+");
 	f_peaks->GetParameters(&par[0]);
