Index: /fact/tools/PyDimCtrl/ScriptsForPyDimCtrl.py
===================================================================
--- /fact/tools/PyDimCtrl/ScriptsForPyDimCtrl.py	(revision 14458)
+++ /fact/tools/PyDimCtrl/ScriptsForPyDimCtrl.py	(revision 14459)
@@ -265,18 +265,4 @@
 
 
-def TakeDataRun():
-  """ Take a 5min Data Run
-  """
-  # check if all subsystems are in the correct state  
-  IsReadyForDataTaking()
-
-  print ' taking Data:FullTriggerArea 5min Run ...'
-  mcp.start( 300, -1, 'data\0')
-
-  print '...waiting for FAD to be in state 8: Writing Data'
-  fad_control.wait(8) # Writing Data
-  print '...waiting for FAD to be in state 4: Connected'
-  fad_control.wait(4) # Connected
-  print '... done'
 
 def TakeExtLpRun():
@@ -287,11 +273,5 @@
 
   print 'taking External Light Pulser with BIAS on 1000 ...'
-  mcp.start(-1, 1000, 'light-pulser-ext\0')
-
-  print '...waiting for FAD to be in state 8: Writing Data'
-  fad_control.wait(8) # Writing Data
-  print '...waiting for FAD to be in state 4: Connected'
-  fad_control.wait(4) # Connected
-  print '... done'
+  Take(-1, 1000, 'light-pulser-ext')
   
 def TakePedestalOnRun():
@@ -302,14 +282,8 @@
 
   print 'taking External Light Pulser with BIAS on 1000 ...'
-  mcp.start(-1, 1000, 'pedestal\0')
-
-  print '...waiting for FAD to be in state 8: Writing Data'
-  fad_control.wait(8) # Writing Data
-  print '...waiting for FAD to be in state 4: Connected'
-  fad_control.wait(4) # Connected
-  print '... done'
-
-
-def Take( time, num_events, runtype):
+  Take(-1, 1000, 'pedestal')
+
+
+def Take( time, num_events, runtype, verbose=False):
   """ more general version of e.g. TakePedestalOnRun
     Note: One has to check, if Ready for *Take* by oneself
@@ -319,12 +293,16 @@
   #IsReadyForDataTaking()
 
-  print ' taking', runtype,'. ', num_events, 'events in', time, 'seconds'
+  if verbose:
+    print ' taking', runtype,'. ', num_events, 'events in', time, 'seconds'
   mcp.start(time, num_events, runtype)
 
-  print '...waiting for FAD to be in state 8: Writing Data'
+  if verbose:
+    print '...waiting for FAD to be in state 8: Writing Data'
   fad_control.wait(8) # Writing Data
-  print '...waiting for FAD to be in state 4: Connected'
-  fad_control.wait(4) # Connected
-  print '... done'
+  if verbose:
+    print '...waiting for FAD to be in state 4: Connected'
+  fad_control.wait_nice(4) # Connected
+  if verbose:
+    print '... done'
 
 
@@ -344,5 +322,14 @@
     print 'taking data run', run+1, 'out of 4'
     IsTracking()
+
     TakeDataRun()
+
+def TakeDataRun():
+  """ Take a 5min Data Run
+  """
+  # check if all subsystems are in the correct state  
+  IsReadyForDataTaking()
+  Take( 300, -1, 'data')
+
 
 def TakeDrsCalibration():
@@ -414,102 +401,4 @@
   print 'DRS-Calibration before Data taking'
   print '----------------------------------------------------'
-
-def DataTaking1():
-  """ Script for taking data when you are tracking wobble position 1
-    take a DRS CaLibration and physics Data afterwards
-  """
-  # Move Telescope to Wobble Position 1
-  print '--------------------------------------'
-  print 'data taking for Wobble 1'
-  print 'starting up...'
-  print '--------------------------------------'
-  print 'OPERATOR:'
-  print 'make sure the telescope is tracking'
-  print 'wobble position 1 of the source'
-  print '--------------------------------------'
-
-  # Take a DRS-Calibration before beginning to take physics Data
-  #TakeDrsCalibration()
-
-  # check feedback state before switching BIAS ON and ramping up to nominal Voltage
-  PrepareBiasForDataTaking()
-
-  # taking a Data Set (1x Pedestal 1000 Bias On, 1x LPext 1000, 4x5min DataRun)
-  TakeData()
-
-  print '--------------------------------------'
-  print 'data taking for Wobble 1 finished'
-  print '--------------------------------------'
-
-def DataTaking2():
-  """ Script for taking data when you are tracking wobble position 2
-  """
-  # Move Telescope to Wobble Position 2
-  print '--------------------------------------'
-  print 'data taking for Wobble 2'
-  print 'starting up...'
-  print '--------------------------------------'
-  print '--------------------------------------'
-  print 'OPERATOR:'
-  print '+ make sure the telescope is tracking'
-  print '  wobble position 2 of the source'
-  print '+ Measure Sky Brightness'
-  print '--------------------------------------'
-
-
-  # taking a Data Set (1x Pedestal 1000 Bias On, 1x LPext 1000, 4x5min DataRun)
-  TakeData()
-
-  print '--------------------------------------'
-  print 'data taking for Wobble 2 finished'
-  print '--------------------------------------'
-
-def TrackCrabWobble1(): 
-  """ changing tracking to "Crab" Wobble 1
-  """
-  print 'moving telescope to wobble position 1'
-  print '...waiting for DRIVE_CONTROL'
-  print '   to be in state 6: Armed'
-
-  drive_control.wait(6) #Armed
-  print 'DRIVE: ARMED'
-  time.sleep(5.)
-
-  drive_control.track_source( 0.6, 50, 'Crab\0')
-  # we store this command in global vars, so it is increadibly easy, to 
-  # do this call again, when needed
-  last_drive_method = drive_control.track_source
-  last_drive_kwargs = { 'wobble_offset' : 0.6,
-                          'wobble_angle' : 50,
-                          'source_name' : 'Crab\0' }
-  # so in case, this call needs to be repeated, just do
-  # last_drive_method(**last_drive_kwargs)
-  
-  print '...sent tracking command for Crab Wobble 1'
-  print 'COMMAND: DRIVE_CONTROL/TRACK_SOURCE 0.6 50 Crab'
-
-def TrackCrabWobble2(): 
-  """ changing tracking to "Crab" Wobble 2
-  """
-  print 'moving telescope to wobble position 2'
-  print '...waiting for DRIVE_CONTROL'
-  print '   to be in state 6: Armed'
-
-  drive_control.wait(6) #Armed
-  print 'DRIVE: ARMED'
-  time.sleep(5.)
-
-  # we store this command in global vars, so it is increadibly easy, to 
-  # do this call again, when needed
-  last_drive_method = drive_control.track_source
-  last_drive_kwargs = { 'wobble_offset' : 0.6,
-                          'wobble_angle' : -130,
-                          'source_name' : 'Crab\0' }
-  # so in case, this call needs to be repeated, just do
-  last_drive_method(**last_drive_kwargs)
-  
-  print '...sent tracking command for Crab Wobble 2'
-  print 'COMMAND: DRIVE_CONTROL/TRACK_SOURCE 0.6 -130 Crab'
-
 
 
@@ -611,19 +500,8 @@
   fad_control.start_drs_calibration()
   time.sleep(0.5)
-  mcp.start(-1, 1000, "drs-pedestal\0")
-
-  print "...waiting for FAD to be in state 8: Writing Data"
-  fad_control.wait(8)
-  print "...waiting for FAD to be in state 4: Connected"
-  fad_control.wait_nice(4)
-  print "... done"
+  Take( -1, 1000, 'drs-pedestal')
 
   print "taking DRS:Gain 1000 ..."
-  mcp.start(-1, 1000, 'drs-gain\0')
-  print "...waiting for FAD to be in state 8: Writing Data"
-  fad_control.wait(8)
-  print "...waiting for FAD to be in state 4: Connected"
-  fad_control.wait_nice(4)
-  print "... done"
+  Take( -1, 1000, 'drs-gain')
 
   time.sleep(2)
@@ -635,10 +513,5 @@
 
   print "taking Pedestal 1000 ..."
-  mcp.start( -1, 1000, 'pedestal\0')
-  print "...waiting for FAD to be in state 8: Writing Data"
-  fad_control.wait(8)
-  print "...waiting for FAD to be in state 4: Connected"
-  fad_control.wait(4)
-  print "... done"
+  Take( -1, 1000, 'pedestal')
 
   # okay this is the DRS calibration for the next few runs.
@@ -648,11 +521,5 @@
   print "taking crosscheck Pedestal 1000 ..."
   fad_control.set_file_format(2)
-
-  mcp.start(-1, 1000, 'pedestal\0')
-  print "...waiting for FAD to be in state 8: Writing Data"
-  fad_control.wait(8)
-  print "...waiting for FAD to be in state 4: Connected"
-  fad_control.wait(4)
-  print "... done"
+  Take(-1, 1000, 'pedestal')
 
   # now we want to take a run, with dark counts events
@@ -693,10 +560,5 @@
   # then the DRS calibration above, and the pedestal run in between have to be changed as well.
   print "taking Pedestal with BIAS on 3000 ..."
-  mcp.start(-1, 3000, 'pedestal\0')
-  print "...waiting for FAD to be in state 8: Writing Data"
-  fad_control.wait(8)
-  print "...waiting for FAD to be in state 4: Connected"
-  fad_control.wait(4)
-  print "... done"
+  Take(-1, 3000, 'pedestal')
 
   # at the end the bias voltage should be ramped down, since in a few seconds a shifter wit ha flashlight
@@ -920,37 +782,4 @@
   return GUII.mean(), GUII.std(), GUII.max(), GUII.min()
 
-def TakeCrab():
-  """ Data taking and tracking script for Crab
-  """
-  print '======================================'
-  print 'Data taking and tracking script for'
-  print 'Crab'
-  print '======================================'
-  print 'starting up...'
-
-  # changing tracking to Crab Wobble 1
-  TrackCrabWobble1()
-
-  # Wait for drivectrl to reply that its tracking the given source
-  WaitForTracking()
-
-  DataTaking1()
-
-  # changing tracking to Crab Wobble 2
-  TrackCrabWobble2()
-
-  # Wait for drivectrl to reply that its tracking the given source
-  WaitForTracking()
-
-  # data taking to Crab Wobble 2
-  DataTaking2()
-
-  # Stop tracking
-  StopTracking()
-
-  print '======================================'
-  print 'Data taking and tracking script for'
-  print 'Crab FINISHED'
-  print '======================================'
   
 
@@ -1011,15 +840,4 @@
 
 
-def TrackCrabWobble1_new(): 
-  """ changing tracking to "Crab" Wobble 1
-  """
-  TrackSourceWobbleX( 'Crab', 1)
-
-def TrackCrabWobble2_new(): 
-  """ changing tracking to "Crab" Wobble 1
-  """
-  TrackSourceWobbleX( 'Crab', 2)
-
-
 def TakeSource( name ):
   if name not in sourcedict:
@@ -1030,10 +848,17 @@
   TrackSourceWobbleX( name, 1) # Track Wobble pos 1 of source
   WaitForTracking()
-  DataTaking1()
+  # Take a DRS-Calibration before beginning to take physics Data
+  TakeDrsCalibration()
+  # check feedback state before switching BIAS ON and ramping up to nominal Voltage
+  PrepareBiasForDataTaking()
+  # taking a Data Set (1x Pedestal 1000 Bias On, 1x LPext 1000, 4x5min DataRun)
+  TakeData()
+  StopTracking()
 
   TrackSourceWobbleX( name, 2) # Track Wobble pos 2 of source
   WaitForTracking()
-  DataTaking2()
-  
+  # taking a Data Set (1x Pedestal 1000 Bias On, 1x LPext 1000, 4x5min DataRun)
+  TakeData()
+
   StopTracking()
 
