Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 8368)
+++ trunk/MagicSoft/Mars/Changelog	(revision 8369)
@@ -19,4 +19,23 @@
                                                  -*-*- END OF LINE -*-*-
 
+ 2007/03/05 Thomas Bretz
+
+   * msignal/MExtractTimeAndChargeSpline.cc:
+     - added a default for the extrator resolution in case no predefined
+       value is set
+
+   * mjobs/MJCalib.[h,cc], mjobs/MJCalibration.cc:
+     - removed HiLoCalibration option
+
+   * mjobs/MJCalibration.cc:
+     - use extractor to determine hi-/lo-calibration
+
+   * mjobs/MJPedestal.cc:
+     - do only insist on pedestal events if an extractor without
+       lo-gains is set
+
+
+
+
  2007/03/04 Thomas Bretz
 
Index: trunk/MagicSoft/Mars/callisto_mux.rc
===================================================================
--- trunk/MagicSoft/Mars/callisto_mux.rc	(revision 8369)
+++ trunk/MagicSoft/Mars/callisto_mux.rc	(revision 8369)
@@ -0,0 +1,474 @@
+# ==========================================================================
+#############################################################################
+# ==========================================================================
+#                              General
+# ==========================================================================
+#############################################################################
+# ==========================================================================
+
+# -------------------------------------------------------------------------
+# Use this if you want to setup the logging stream for the jobs
+# (overwrites command line options)
+# -------------------------------------------------------------------------
+#MLog.VerbosityLevel: 2
+#MLog.DebugLevel:     1
+#MLog.NoColors:       yes
+
+# ==========================================================================
+#############################################################################
+# ==========================================================================
+#                             Calibration
+# ==========================================================================
+#############################################################################
+# ==========================================================================
+
+# -------------------------------------------------------------------------
+# Use this if you want to write the MJPedestal output somewhere
+# If you don't want it, it is written to the calibration output anyhow.
+# -------------------------------------------------------------------------
+#MJPedestalC1.PathOut: .
+#MJPedestalC2.PathOut: .
+
+# -------------------------------------------------------------------------
+# Use this if you want to modify the exclusion of pixels from the beginning
+# (default: Pixel 0 and 559)
+# -------------------------------------------------------------------------
+MJPedestalC1.BadPixelsFile: mjobs/badpixels_0_559.rc
+
+# -------------------------------------------------------------------------
+# Use this if you want to modify files containing information about the 
+# reference lines in the status display
+# -------------------------------------------------------------------------
+MJPedestalC1.ReferenceFile: resources/pedestalref_mux.rc
+MJPedestalC2.ReferenceFile: resources/pedestalref_mux.rc
+MJCalibration.ReferenceFile: resources/calibrationref_mux.rc
+MJCalibration.MHCalibrationRelTimeCam.ReferenceFile: resources/calibrationref_mux.rc
+MJCalibration.MHCalibrationChargeCam.ReferenceFile: resources/calibrationref_mux.rc
+
+# -------------------------------------------------------------------------
+# Use this to define where the calibration output is stored. The filename
+# is created from the sequence number. If nothing is specified '.' is
+# assumed. (overwrites command line options)
+# -------------------------------------------------------------------------
+#MJCalibration.PathOut: calped
+
+# -------------------------------------------------------------------------
+# Use this to define where the program should search for the pedestal
+# and calibration files defined in the sequence. To use the local
+# directory use '.' If nothing is specified the default path in the
+# datacenter is used. (overwrites command line options)
+# -------------------------------------------------------------------------
+#MJPedestalC1.PathData:   /data/MAGIC/Period016/
+#MJPedestalC2.PathData:   /data/MAGIC/Period016/
+#MJCalibration.PathData:  /data/MAGIC/Period016/
+
+# -------------------------------------------------------------------------
+# Define here which signal extractor you are going to use for the
+# whole calibration chain
+# -------------------------------------------------------------------------
+MJPedestalC1.ExtractSignal: MExtractTimeAndChargeSpline
+# -------------------------------------------------------------------------
+# Possibilities for a different extractor
+# -------------------------------------------------------------------------
+#MJPedestalC1.ExtractSignal: MExtractTimeAndChargeDigitalFilter, MExtractTimeAndChargeDigitalFilterPeakSearch, MExtractTimeAndChargeSlidingWindow
+# -------------------------------------------------------------------------
+# Define here parameters valid for all extractors above
+# -------------------------------------------------------------------------
+MJPedestalC1.ExtractSignal.HiGainFirst:        15
+MJPedestalC1.ExtractSignal.HiGainLast:         64
+#MJPedestalC1.ExtractSignal.LoGainFirst:         3
+#MJPedestalC1.ExtractSignal.LoGainLast:         14
+MJPedestalC1.ExtractSignal.SaturationLimit:   252
+#MJPedestalC1.ExtractSignal.OffsetLoGain:     1.51
+#MJPedestalC1.ExtractSignal.LoGainSwitch:      150
+#MJPedestalC1.ExtractSignal.LoGainStartShift: -2.8
+# -------------------------------------------------------------------------
+# Define here parameters valid for the spline:
+# -------------------------------------------------------------------------
+#MJPedestalC1.ExtractSignal.Resolution:        0.05
+MJPedestalC1.ExtractSignal.RiseTimeHiGain:    4.0
+MJPedestalC1.ExtractSignal.FallTimeHiGain:    5.0
+#MJPedestalC1.ExtractSignal.LoGainStretch:     1.5
+#MJPedestalC1.ExtractSignal.ExtractionType: Integral <default>
+#MJPedestalC1.ExtractSignal.ExtractionType: Amplitude
+
+# -------------------------------------------------------------------------
+# In the case of the Digital filter you have to overwrite the default
+# weights file depending on what you are extracting
+# -------------------------------------------------------------------------
+#MJPedestalC2.ExtractSignal.WeightsFile:          msignal/calibration_weights_UV4.dat
+#MJPedestalY2.ExtractSignal.WeightsFile:          msignal/cosmics_weights4.dat
+#MJPedestalY3.ExtractSignal.WeightsFile:          msignal/cosmics_weights4.dat
+#MJCalibration.ExtractSignal.WeightsFile:         msignal/calibration_weights_UV4.dat
+#MJCalibrateSignal.ExtractSignal.WeightsFile:     msignal/cosmics_weights4.dat
+#MJCalibrateSignal.ExtractInterlaced.WeightsFile: msignal/calibration_weights_UV4.dat
+#MJCalibrateSignal.ExtractSignal.LoGainStretch:     1.5
+#MJCalibrateSignal.ExtractInterlaced.LoGainStretch: 1.5
+
+# -------------------------------------------------------------------------
+# Configure MJCalibration
+# -------------------------------------------------------------------------
+
+# Switch on relative time calibration
+#MJCalibration.RelTimeCalibration: Yes
+# Switch on intensity calibration
+#MJCalibration.IntensityCalibration: Yes
+# Set color to be used
+#MJCalibration.Color:
+# Type of used data format: raw, root, mc
+#MJCalibration.DataType: Root
+# Type of displayed plots: Full,DataCheck,Normal
+#MJCalibration.Display: datacheck
+# Write additinal debug output
+#MJCalibration.Debug: No
+# Use blind pixel
+#MJCalibration.UseBlindPixel: No
+# Use pin diode
+#MJCalibration.UsePINDiode: No
+# Use pixel check option
+#MJCalibration.PixelCheck: No
+#MJCalibTest.PixelCheck: No
+
+# -------------------------------------------------------------------------
+# Individual events check for calibration results
+# -------------------------------------------------------------------------
+
+#ContCosmics.MaxEmptyPixels:      0.2
+#ContCosmics.MaxExcludedFraction: 1
+#ContCosmics.MinAcceptedFraction: 0
+
+# -------------------------------------------------------------------------
+# In case of MOON DATA, uncomment the following lines:
+# (better: call callisto with option "-moon")
+# -------------------------------------------------------------------------
+#MJPedestalC1.UseHists: yes
+#MJPedestalC2.UseHists: yes
+#MJPedestalY1.UseHists: yes
+#MJPedestalY2.UseHists: yes
+#MJPedestalY3.UseHists: yes
+
+# -------------------------------------------------------------------------
+# You can choose the pedestal extraction algorithm/task. To use
+# MPedCalcPedRun use the lines below. Be carefull, a pedestal file
+# could be (if no pedestal file available) a data-file, too.
+# -------------------------------------------------------------------------
+#MJPedestalC1.ExtractPedestal: MPedCalcPedRun
+#MJPedestalC1.ExtractPedestal.ExtractWinFirst:    0
+#MJPedestalC1.ExtractPedestal.ExtractWinSize:     6
+#MJPedestalC1.ExtractPedestal.PedestalUpdate:    no
+#MJPedestalC1.ExtractPedestal.CheckWinFirst:     0
+#MJPedestalC1.ExtractPedestal.CheckWinSize:     29
+
+#MJPedestalC2.ExtractPedestal: MPedCalcPedRun
+#MJPedestalC2.ExtractPedestal.ExtractWinFirst:    0
+#MJPedestalC2.ExtractPedestal.ExtractWinSize:     6
+#MJPedestalC2.ExtractPedestal.PedestalUpdate:    no
+#MJPedestalC2.ExtractPedestal.CheckWinFirst:     0
+#MJPedestalC2.ExtractPedestal.CheckWinSize:     29
+
+# -------------------------------------------------------------------------
+# You can choose the pedestal extraction algorithm/task. To use
+# MPedCalcFromLoGain use the lines below. Be carefull, a pedestal file
+# could be (if no pedestal file available) a data-file, too.
+# -------------------------------------------------------------------------
+#MJPedestalC1.ExtractPedestal: MPedCalcFromLoGain
+#MJPedestalC1.ExtractPedestal.ExtractWinFirst:    0
+#MJPedestalC1.ExtractPedestal.ExtractWinSize:     6
+#MJPedestalC1.ExtractPedestal.PedestalUpdate:    no
+#MJPedestalC1.ExtractPedestal.CheckWinFirst:     0
+#MJPedestalC1.ExtractPedestal.CheckWinSize:     29
+#MJPedestalC1.ExtractPedestal.MaxSignalVar:     40
+
+#MJPedestalC2.ExtractPedestal: MPedCalcFromLoGain
+#MJPedestalC2.ExtractPedestal.ExtractWinFirst:    0
+#MJPedestalC2.ExtractPedestal.ExtractWinSize:     6
+#MJPedestalC2.ExtractPedestal.PedestalUpdate:    no
+#MJPedestalC2.ExtractPedestal.CheckWinFirst:     0
+#MJPedestalC2.ExtractPedestal.CheckWinSize:     29
+#MJPedestalC2.ExtractPedestal.MaxSignalVar:     40
+
+# -------------------------------------------------------------------------
+# Configure MJPedestalC1 and MJPedestalC2
+# -------------------------------------------------------------------------
+# Possible data type: Raw,Root,MC
+#MJPedestalC1.DataType: Root
+#MJPedestalC2.DataType: Root
+#MJPedestalC3.DataType: Root
+# Type of displayed plots: Full,DataCheck,None
+#MJPedestalC1.Display: datacheck
+#MJPedestalC2.Display: datacheck
+#MJPedestalC3.Display: datacheck
+# Maximum number of event processed in the loop
+#MJPedestalC1.MaxEvents: 1000
+#MJPedestalC2.MaxEvents: 1000
+# Allow to overwrite existing files with the output file
+#MJPedestalC1.AllowOverwrite: No
+#MJPedestalC2.AllowOverwrite: No
+# Use data runs from the sequence instead of calibration runs
+#MJPedestalC1.UseData: No
+#MJPedestalC2.UseData: No
+
+
+# -------------------------------------------------------------------------
+# Use this if you want to change the software low-gain switch
+# -------------------------------------------------------------------------
+#MJCalibration.ExtractSignal.LoGainSwitch:     150
+
+# -------------------------------------------------------------------------
+# Use this if you want to change the higain-vs. logain intercalibration
+# -------------------------------------------------------------------------
+#MJCalibration.HiLoCalibFile:    resources/hilocalib_sp1.rc
+
+# -------------------------------------------------------------------------
+# Use this if you want to change the time extractor for the calibration
+# and automatically the data extraction
+# -------------------------------------------------------------------------
+#MJCalibration.ExtractTime: <dummy>
+#MJCalibration.ExtractTime: MExtractTimeFastSpline
+#MJCalibration.ExtractTime.HiGainFirst:       0
+#MJCalibration.ExtractTime.HiGainLast:        7
+#MJCalibration.ExtractTime.LoGainFirst:       3
+#MJCalibration.ExtractTime.LoGainLast:        8
+#MJCalibration.ExtractTime.WindowSizeHiGain:  6
+#MJCalibration.ExtractTime.WindowSizeLoGain:  6
+#MJCalibration.ExtractTime.OffsetLoGain:    1.51
+
+# -------------------------------------------------------------------------
+# Use this to change the behaviour of the calibration
+# -------------------------------------------------------------------------
+# Type if you set a colour explicitely from outside (only for MC!!!)
+#MJCalibration.MCalibColorSet.ExplicitColor: green,blue,uv,ct1
+
+MJCalibration.MCalibrationChargeCalc.ArrTimeRmsLimit:    2.5
+#MJCalibration.MCalibrationChargeCalc.ChargeLimit:        2.5
+#MJCalibration.MCalibrationChargeCalc.ChargeErrLimit:     0
+#MJCalibration.MCalibrationChargeCalc.ChargeRelErrLimit:  1
+#MJCalibration.MCalibrationChargeCalc.Debug:              no
+
+#MJCalibration.MCalibrationChargeCalc.FFactorErrLimit:    4.5
+#MJCalibration.MCalibrationChargeCalc.LambdaErrLimit:     0.2
+#MJCalibration.MCalibrationChargeCalc.LambdaCheckLimit:   0.5
+#MJCalibration.MCalibrationChargeCalc.PheErrLowerLimit:   9.0
+#MJCalibration.MCalibrationChargeCalc.PheErrUpperLimit:   5.5
+
+#MJCalibration.MHCalibrationChargeCam.Debug:           no
+#MJCalibration.MHCalibrationChargeCam.LoGain:          yes
+#MJCalibration.MHCalibrationChargeCam.Oscillations:    yes
+#MJCalibration.MHCalibrationChargeCam.SizeCheck:       yes
+#MJCalibration.MHCalibrationChargeCam.Averageing:      yes
+MJCalibration.MHCalibrationChargeCam.HiGainNbins:     800
+MJCalibration.MHCalibrationChargeCam.HiGainFirst:     -0.5
+MJCalibration.MHCalibrationChargeCam.HiGainLast:      3999.5
+#MJCalibration.MHCalibrationChargeCam.LoGainNbins:     500
+#MJCalibration.MHCalibrationChargeCam.LoGainFirst:     -100.25
+#MJCalibration.MHCalibrationChargeCam.LoGainLast:      899.75
+#MJCalibration.MHCalibrationChargeCam.TimeLowerLimit:  1. 
+#MJCalibration.MHCalibrationChargeCam.TimeUpperLimit:  3. 
+#MJCalibration.MHCalibrationChargeCam.NumHiGainSaturationLimit: 0.02
+#MJCalibration.MHCalibrationChargeCam.NumLoGainSaturationLimit: 0.005 
+MJCalibration.MHCalibrationChargeCam.ProbLimit:        1.0E-18
+#MJCalibration.MHCalibrationChargeCam.OverflowLimit:   0.005
+#MJCalibration.MHCalibrationChargeCam.PulserFrequency: 500
+
+#MJCalibration.MHCalibrationRelTimeCam.Debug:           no
+#MJCalibration.MHCalibrationRelTimeCam.LoGain:          no
+#MJCalibration.MHCalibrationRelTimeCam.Oscillations:    yes
+#MJCalibration.MHCalibrationRelTimeCam.SizeCheck:       yes
+#MJCalibration.MHCalibrationRelTimeCam.Averageing:      yes
+MJCalibration.MHCalibrationRelTimeCam.Nbins:           751
+MJCalibration.MHCalibrationRelTimeCam.First:           -60
+MJCalibration.MHCalibrationRelTimeCam.Last:             60
+#MJCalibration.MHCalibrationRelTimeCam.NumHiGainSaturationLimit: 0.25
+#MJCalibration.MHCalibrationRelTimeCam.ProbLimit:       0.00001
+#MJCalibration.MHCalibrationRelTimeCam.OverflowLimit:   0.005
+#MJCalibration.MHCalibrationRelTimeCam.PulserFrequency: 500
+
+MJCalibration.MCalibrationRelTimeCalc.RelTimeResolutionLimit: 0.2
+
+# ==========================================================================
+#############################################################################
+# ==========================================================================
+#                            Signal extraction
+# ==========================================================================
+#############################################################################
+# ==========================================================================
+
+# -------------------------------------------------------------------------
+# Use a OutputPath if you want to write the results to a file
+# -------------------------------------------------------------------------
+#MJCalibrateSignal.PathOut:  .
+#MJPedestalY1.PathOut:        .
+#MJPedestalY2.PathOut:        .
+#MJPedestalY3.PathOut:        .
+#MJPedestalY1.PathData:      /data/MAGIC/Period016/
+#MJPedestalY2.PathData:      /data/MAGIC/Period016/
+#MJPedestalY3.PathData:      /data/MAGIC/Period016/
+#MJCalibrateSignal.PathData: /data/MAGIC/Period016/
+#MJCalibrateSignal.PathIn:   .
+
+# -------------------------------------------------------------------------
+# If you want to change the behaviour of the pedestal extraction...
+# -------------------------------------------------------------------------
+# Possible data type: Raw,Root,MC
+#MJPedestalY1.DataType: Root
+#MJPedestalY2.DataType: Root
+#MJPedestalY3.DataType: Root
+#MJPedestalY1.UseData: Yes
+#MJPedestalY2.UseData: Yes
+#MJPedestalY3.UseData: Yes
+MJPedestalY1.MaxEvents:  3500
+MJPedestalY2.MaxEvents: 30000
+MJPedestalY3.MaxEvents:  3500
+
+# -------------------------------------------------------------------------
+# When the starting pedestal is extracted from the first events of
+# the data run also the average pulse position of these events
+# is determined. If the pulse position check is switched on (default)
+# the extraction window of the hi- and lo-gain extractor for the
+# determined average pulse position is not allowed to exceed the
+# extractors search region. In this scenario we assume that the
+# start of the extraction window is at least similar to the
+# rising edge of the pulse.
+# To make sure that the search region and the extraction window
+# does not touch increase the values.
+# -------------------------------------------------------------------------
+#MJPedestalY2.PulsePosCheck: yes
+#MJPedestalY2.ExtractWinLeft:  0.0 
+#MJPedestalY2.ExtractWinRight: 0.0
+
+# -------------------------------------------------------------------------
+# Define the Pulse Position check parameters:
+# -------------------------------------------------------------------------
+MJPedestalY2.MHCalibrationPulseTimeCam.SaturationLimit:  252
+MJPedestalY2.MHCalibrationPulseTimeCam.LowerSignalLimit: 35
+#MJPedestalY2.MHCalibrationPulseTimeCam.NumPixelsRequired: 2
+#MJPedestalY2.PixelCheck: no
+
+#MJPedestalY.ExtractPedestal: MPedCalcFromLoGain
+#MJPedestalY.ExtractPedestal.PedestalUpdate:   no
+
+# -------------------------------------------------------------------------
+# Setup pedestal extractor for running through data
+# -------------------------------------------------------------------------
+#MJCalibrateSignal.MPedCalcFundamental.PedestalUpdate:   yes
+#MJCalibrateSignal.MPedCalcFundamental.NumDump:          500
+#MJCalibrateSignal.MPedCalcFundamental.NumEventsDump:    500
+#MJCalibrateSignal.MPedCalcFundamental.NumAreasDump:     500
+#MJCalibrateSignal.MPedCalcFundamental.NumSectorsDump:   500
+#MJCalibrateSignal.MPedCalcFundamental.ExtractWinFirst:   17
+#MJCalibrateSignal.MPedCalcFundamental.ExtractWinSize:     6
+#MJCalibrateSignal.MPedCalcFundamental.CheckWinFirst:      0
+#MJCalibrateSignal.MPedCalcFundamental.CheckWinSize:      29
+#MJCalibrateSignal.MPedCalcFundamental.MaxSignalVar:      40
+
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.PedestalUpdate:   yes
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.NumDump:          500
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.NumEventsDump:    500
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.NumAreasDump:     500
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.NumSectorsDump:   500
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.ExtractWinFirst:   17
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.ExtractWinSize:     6
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.CheckWinFirst:      0
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.CheckWinSize:      29
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.MaxSignalVar:      40
+
+#MJCalibrateSignal.MPedCalcFromExtractor.PedestalUpdate:   yes
+#MJCalibrateSignal.MPedCalcFromExtractor.NumDump:          500
+#MJCalibrateSignal.MPedCalcFromExtractor.NumEventsDump:    500
+#MJCalibrateSignal.MPedCalcFromExtractor.NumAreasDump:     500
+#MJCalibrateSignal.MPedCalcFromExtractor.NumSectorsDump:   500
+#MJCalibrateSignal.MPedCalcFromExtractor.ExtractWinFirst:   17
+#MJCalibrateSignal.MPedCalcFromExtractor.ExtractWinSize:     6
+#MJCalibrateSignal.MPedCalcFromExtractor.CheckWinFirst:      0
+#MJCalibrateSignal.MPedCalcFromExtractor.CheckWinSize:      29
+#MJCalibrateSignal.MPedCalcFromExtractor.MaxSignalVar:      40
+
+# -------------------------------------------------------------------------
+# Configure the interlaced calibration updates
+# -------------------------------------------------------------------------
+#MJCalibrateSignal.MCalibCalcFromPast.UpdateWithFFactorMethod: yes
+#MJCalibrateSignal.MCalibCalcFromPast.NumEventsDump: 500
+#MJCalibrateSignal.MCalibCalcFromPast.UpdateNumPhes: yes
+#MJCalibrateSignal.MCalibCalcFromPast.NumPhesDump: 10
+#MJCalibrateSignal.MCalibrationChargeCalc.Debug: no
+
+# -------------------------------------------------------------------------
+# Use this if you want to change the signal extractor
+# -------------------------------------------------------------------------
+MJCalibrateSignal.ExtractSignal.LoGainSwitch:    150
+
+# -------------------------------------------------------------------------
+# Setup calibration of data
+# -------------------------------------------------------------------------
+# Type of used data format: raw,root,MC
+#MJCalibrateSignal.DataType: Root
+# Type if you set a colour explicitely from outside (only for MC!!!)
+#MJCalibrateSignal.MCalibColorSet.ExpicitColor: green,blue,uv,ct1
+#MJCalibrateSignal.MCalibrateData.PedestalFlag: Event
+#MJCalibrateSignal.MCalibrateData.ScaleFactor: 0.85182358
+MJCalibrateSignal.MCalibrateData.FileNameScale: resources/calibration_spline.rc
+#MJCalibrateSignal.MCalibrateData.CalibrationMode: Default
+#MJCalibrateSignal.MCalibrateData.CalibConvMinLimit: 0.01
+#MJCalibrateSignal.MCalibrateData.CalibConvMaxLimit: 5.
+#MJCalibrateSignal.Interlaced: yes
+#MJCalibrateSignal.RelTimesUpdate: no
+#MJCalibrateSignal.PulsePosCheck: yes
+
+# -------------------------------------------------------------------------
+# Setup level for determining of bad pixels
+# -------------------------------------------------------------------------
+#MJCalibrateSignal.MBadPixelsCalc.PedestalLevel:         3.0
+#MJCalibrateSignal.MBadPixelsCalc.PedestalLevelVariance: 3.0
+#MJCalibrateSignal.MBadPixelsTreat.NumMinNeighbors:    3
+#MJCalibrateSignal.MBadPixelsTreat.MaxArrivalTimeDiff: 1.0
+#MJCalibrateSignal.MBadPixelsTreat.UseInterpolation:   yes
+#MJCalibrateSignal.MBadPixelsTreat.ProcessPedestalEvt: yes
+#MJCalibrateSignal.MBadPixelsTreat.ProcessPedestalRun: no
+#MJCalibrateSignal.MBadPixelsTreat.ProcessTimes:       yes
+#MJCalibrateSignal.MBadPixelsTreat.UseCentralPixel:    no
+#MJCalibrateSignal.MBadPixelsTreat.HardTreatment:      no
+
+# -------------------------------------------------------------------------
+# Setup interlaced calibration events histogramming
+# -------------------------------------------------------------------------
+#MJCalibrateSignal.MHCalibrationChargeCam.Debug:           no
+#MJCalibrateSignal.MHCalibrationChargeCam.LoGain:          yes
+MJCalibrateSignal.MHCalibrationChargeCam.Oscillations:    no
+#MJCalibrateSignal.MHCalibrationChargeCam.SizeCheck:       yes
+#MJCalibrateSignal.MHCalibrationChargeCam.Averageing:      yes
+#MJCalibrateSignal.MHCalibrationChargeCam.HiGainNbins:     500
+#MJCalibrateSignal.MHCalibrationChargeCam.HiGainFirst:     -100.5
+#MJCalibrateSignal.MHCalibrationChargeCam.HiGainLast:      1899.5
+MJCalibrateSignal.MHCalibrationChargeCam.LoGainNbins:     800
+MJCalibrateSignal.MHCalibrationChargeCam.LoGainFirst:     -0.5
+MJCalibrateSignal.MHCalibrationChargeCam.LoGainLast:      3999.5
+#MJCalibrateSignal.MHCalibrationChargeCam.TimeLowerLimit:  1. 
+#MJCalibrateSignal.MHCalibrationChargeCam.TimeUpperLimit:  3. 
+#MJCalibrateSignal.MHCalibrationChargeCam.NumHiGainSaturationLimit: 0.02
+#MJCalibrateSignal.MHCalibrationChargeCam.NumLoGainSaturationLimit: 0.005 
+#MJCalibrateSignal.MHCalibrationChargeCam.ProbLimit:       0.0001
+#MJCalibrateSignal.MHCalibrationChargeCam.OverflowLimit:   0.005
+MJCalibrateSignal.MHCalibrationChargeCam.PulserFrequency: 25
+
+# -------------------------------------------------------------------------
+# Setup relative time interlaced calibration
+# -------------------------------------------------------------------------
+#MJCalibrateSignal.MHCalibrationRelTimeCam.Debug:           no
+#MJCalibrateSignal.MHCalibrationRelTimeCam.LoGain:          no
+MJCalibrateSignal.MHCalibrationRelTimeCam.Oscillations:    no
+#MJCalibrateSignal.MHCalibrationRelTimeCam.SizeCheck:       yes
+#MJCalibrateSignal.MHCalibrationRelTimeCam.Averageing:      yes
+MJCalibrateSignal.MHCalibrationRelTimeCam.Nbins:           751
+MJCalibrateSignal.MHCalibrationRelTimeCam.First:           -60
+MJCalibrateSignal.MHCalibrationRelTimeCam.Last:             60
+#MJCalibrateSignal.MHCalibrationRelTimeCam.NumHiGainSaturationLimit: 0.25
+#MJCalibrateSignal.MHCalibrationRelTimeCam.ProbLimit:       0.00001
+#MJCalibrateSignal.MHCalibrationRelTimeCam.OverflowLimit:   0.005
+MJCalibrateSignal.MHCalibrationRelTimeCam.PulserFrequency: 25
+
+# -------------------------------------------------------------------------
+# This is a special option for the datacheck. A task executed as last
+# task in the event processing task list - in the standard software it
+# is skipped
+# -------------------------------------------------------------------------
+#MJCalibrateSignal.FinalFantasy: MHCamFlorian
Index: trunk/MagicSoft/Mars/mjobs/MJCalib.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalib.cc	(revision 8368)
+++ trunk/MagicSoft/Mars/mjobs/MJCalib.cc	(revision 8369)
@@ -49,6 +49,6 @@
 //
 MJCalib::MJCalib() : fDataFlag(kIsUseRawData), fStorage(0),
-                     fIsPixelCheck(kFALSE), fIsPulsePosCheck(kFALSE),
-                     fIsHiLoCalibration(kFALSE)
+                     fIsPixelCheck(kFALSE), fIsPulsePosCheck(kFALSE)/*,
+                     fIsHiLoCalibration(kFALSE)*/
 {
   SetUseBlindPixel(kFALSE);
@@ -63,5 +63,5 @@
     SetPulsePosCheck(GetEnv("PulsePosCheck", fIsPulsePosCheck));
     SetCheckedPixId(GetEnv("CheckedPixId",fCheckedPixId));
-    SetHiLoCalibration(GetEnv("HiLoCalibration", fIsHiLoCalibration));
+    //SetHiLoCalibration(GetEnv("HiLoCalibration", fIsHiLoCalibration));
 
     if (HasEnv("StorageType"))
Index: trunk/MagicSoft/Mars/mjobs/MJCalib.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalib.h	(revision 8368)
+++ trunk/MagicSoft/Mars/mjobs/MJCalib.h	(revision 8369)
@@ -46,5 +46,5 @@
 
     Bool_t fIsPulsePosCheck;            // Check pulse position?
-    Bool_t fIsHiLoCalibration;          // Choose to calibrate the high-gain vs. low-gains
+    //Bool_t fIsHiLoCalibration;          // Choose to calibrate the high-gain vs. low-gains
     
     Bool_t CheckEnvLocal();
@@ -76,5 +76,5 @@
     void SetHistsStorage ( const Bool_t b=kTRUE ) { b ? SETBIT(fStorage,kHistsStorage) : CLRBIT(fStorage,kHistsStorage); }
 
-    void SetHiLoCalibration( const Bool_t b=kTRUE )  { fIsHiLoCalibration = b; }
+    //void SetHiLoCalibration( const Bool_t b=kTRUE )  { fIsHiLoCalibration = b; }
     void SetPixelCheck     ( const Bool_t b=kTRUE )  { fIsPixelCheck        = b; }
     void SetPulsePosCheck  ( const Bool_t b=kTRUE )  { fIsPulsePosCheck     = b; }
Index: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 8368)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 8369)
@@ -856,7 +856,8 @@
 void MJCalibrateSignal::DisplayResult(MParList &plist)
 {
+    /*
     if (!fDisplay || !fIsHiLoCalibration)
         return;
-    /*
+
     MCalibrationHiLoCam *hcam = (MCalibrationHiLoCam*)plist.FindObject("MCalibrationHiLoCam");
     MGeomCam            *geom = (MGeomCam*)plist.FindObject("MGeomCam");
Index: trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 8368)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 8369)
@@ -207,5 +207,5 @@
   fTitle = title ? title : "Tool to create the calibration constants for one calibration run";
   
-  SetHiLoCalibration();
+  //SetHiLoCalibration();
   SetRelTimeCalibration();
   SetDebug(kFALSE);
@@ -1471,6 +1471,9 @@
 Bool_t MJCalibration::ReadHiLoCalibFile()
 {
-    if (!fIsHiLoCalibration)
+    if (fExtractor && !fExtractor->HasLoGain())
         return kTRUE;
+
+//    if (!fIsHiLoCalibration)
+//        return kTRUE;
 
     // We use the night time stamp to determine the period
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 8368)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 8369)
@@ -1141,7 +1141,7 @@
     ftp2.SetDefault(kTRUE);
     ftp2.DenyCalibration();
-//    ftp2.RequirePedestal();
-
-    if (!IsUseMC())
+    ftp2.RequirePedestal();
+
+    if (!IsUseMC() && (!fExtractor || !fExtractor->HasLoGain()))
     {
         taskenv.SetFilter(&ftp2);
