Index: /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 6750)
+++ /trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 6751)
@@ -228,4 +228,25 @@
 
     return o ? (MExtractor*)o->Clone("ExtractSignal") : NULL;
+}
+
+Bool_t MJPedestal::WriteExtractor() const
+{
+
+  const TString name  = Form("pedy%08d.root",fSequence.GetSequence());
+  const TString fname = Form("%s/%s",fPathIn.Data(),name.Data());
+
+  *fLog << inf << "Updating extractor in file: " << fname << endl;
+
+  TFile file(fname, "UPDATE");
+  if (!file.IsOpen())
+    {
+      *fLog << err << dbginf << "ERROR - Could not open file " << fname << endl;
+      return kFALSE;
+    }
+
+  TObjArray cont;
+  cont.Add(fExtractor);
+
+  return WriteContainer(cont,name, fOverwrite?"RECREATE":"NEW");
 }
 
@@ -859,5 +880,5 @@
     cont.Add(&fBadPixels);
 
-    return WriteContainer(cont, GetOutputFileName(), fOverwrite?"RECREATE":"NEW");
+    return WriteContainer(cont, GetOutputFileName(),fOverwrite?"RECREATE":"NEW");
 }
 
@@ -1215,7 +1236,9 @@
               ? (Int_t)(meanpulsetime-1.5*rmspulsetime) 
               : (Int_t)(meanpulsetime-3.);
-            const Int_t wshigain = fExtractor->InheritsFrom("MExtractTimeAndCharge") 
-              ? ((MExtractTimeAndCharge*)fExtractor)->GetWindowSizeHiGain()
+            Int_t wshigain = fExtractor->InheritsFrom("MExtractTimeAndCharge") 
+              ?  ((MExtractTimeAndCharge*)fExtractor)->GetWindowSizeHiGain()
               : 6;
+            if (wshigain > 6)
+              wshigain = 6;
             const Int_t wslogain = fExtractor->InheritsFrom("MExtractTimeAndCharge") 
               ? ((MExtractTimeAndCharge*)fExtractor)->GetWindowSizeLoGain()
@@ -1243,4 +1266,9 @@
               }
             fExtractor->SetRange(newfirst,newlast+wshigain,newfirst,data->GetNumLoGainSamples());
+            if (!WriteExtractor())
+              {
+                *fLog << err << "Could not write the changes to disk, abort... " << endl;
+                return kFALSE;
+              }
           }
         else
Index: /trunk/MagicSoft/Mars/mjobs/MJPedestal.h
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 6750)
+++ /trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 6751)
@@ -83,4 +83,6 @@
 
     void ReadReferenceFile();
+
+    Bool_t WriteExtractor() const;
     
 public:
