Index: fact/FADctrl/FAD.cc
===================================================================
--- fact/FADctrl/FAD.cc	(revision 10099)
+++ fact/FADctrl/FAD.cc	(revision 10100)
@@ -71,5 +71,5 @@
   BoardList = Tokenize(GetConfig("BoardList","129.217.160.119"));
   BoardList = Tokenize("192.33.99.225");
-printf("%s ", BoardList[0].c_str());
+
   for (unsigned int i=0; i<BoardList.size(); i++) {
     Boards.push_back(new class FADBoard(BoardList[i], 5000, this, i));
@@ -689,5 +689,5 @@
 
 		// Switch off SCLK
-		Boards[Brd]->Send(CMD_SCLK_OFF);
+		//Boards[Brd]->Send(CMD_SCLK_OFF);
 
 	// Start accumulation
@@ -705,14 +705,15 @@
 	}
   }
-  printf("Got first average\n");
 
   for (unsigned int Brd=0; Brd<Boards.size(); Brd++) {
 	// Determine baseline
 	for (unsigned int i=0; i<NChips; i++) for (unsigned int j=0; j<NChannels; j++) {
-	  for (unsigned int k=0; k<NBins; k++) Boards[Brd]->Baseline[i][j][k] = Boards[Brd]->Sum[i][j][k] / NumCalibEvents;
-	}
-		// Switch on SCLK
-		Boards[Brd]->Send(CMD_SCLK_ON);
-
+	  for (unsigned int k=0; k<NBins; k++) {
+	  	Boards[Brd]->Baseline[i][j][k] = Boards[Brd]->Sum[i][j][k] / NumCalibEvents;
+	  }
+	}
+
+	// Switch on SCLK
+	Boards[Brd]->Send(CMD_SCLK_ON);
 
 	// Set second DAC value
@@ -723,5 +724,5 @@
 
 		// Switch off SCLK
-		Boards[Brd]->Send(CMD_SCLK_OFF);
+		//Boards[Brd]->Send(CMD_SCLK_OFF);
 
 	// Start accumulation
@@ -749,5 +750,7 @@
 	// Determine gain
 	for (unsigned int i=0; i<NChips; i++) for (unsigned int j=0; j<NChannels; j++) {
-	  for (unsigned int k=0; k<NBins; k++) Boards[Brd]->Gain[i][j][k] = ((Boards[Brd]->Sum[i][j][k] / NumCalibEvents)-Boards[Brd]->Baseline[i][j][k])/3000;
+	  for (unsigned int k=0; k<NBins; k++) {
+		Boards[Brd]->Gain[i][j][k] = (Boards[Brd]->Sum[i][j][k] / NumCalibEvents)-Boards[Brd]->Baseline[i][j][k];
+	  }
 	}
 
@@ -803,4 +806,5 @@
   bool Update;
   struct FADBoard::BoardStatus S;
+  double Temp;
 
   gettimeofday(&LastUpdate, NULL);
@@ -891,5 +895,10 @@
 		  for (int i=0; i<S.ROI[Chip][Chan]; i++) {
 			if (Boards[Brd]->ACalibTime == -1) Data[Count++] = Boards[Brd]->Data[Chip][Chan][i];
-			else Data[Count++] = (Boards[Brd]->Data[Chip][Chan][i] - Boards[Brd]->Baseline[Chip][Chan][(i+S.TriggerCell[Chip])%NBins]) * Boards[Brd]->Gain[Chip][Chan][(i+S.TriggerCell[Chip])%NBins];
+			else {
+			//Data[Count++] = (Boards[Brd]->Data[Chip][Chan][i] - Boards[Brd]->Baseline[Chip][Chan][(i+S.TriggerCell[Chip])%NBins]) * Boards[Brd]->Gain[Chip][Chan][(i+S.TriggerCell[Chip])%NBins];
+		      Temp = (Boards[Brd]->Data[Chip][Chan][i] - Boards[Brd]->Baseline[Chip][Chan][(i+S.TriggerCell[Chip])%NBins]);
+			  Temp *= Boards[Brd]->Gain[Chip][Chan][0]/Boards[Brd]->Gain[Chip][Chan][(i+S.TriggerCell[Chip])%NBins];
+			  Data[Count++] = (short) Temp;
+			}
 		  }
 		  Count += NBins - S.ROI[Chip][Chan];
Index: fact/FADctrl/FAD.h
===================================================================
--- fact/FADctrl/FAD.h	(revision 10099)
+++ fact/FADctrl/FAD.h	(revision 10100)
@@ -41,5 +41,5 @@
 	static void LaunchEventThread(class FAD *);
 	pthread_t Thread;
-	int EventUpdateDelay;
+	float EventUpdateDelay;
 
 	int NumCalibEvents;
