Index: fact/tools/rootmacros/PulseTemplates/FCalcPulseTemplate.C
===================================================================
--- fact/tools/rootmacros/PulseTemplates/FCalcPulseTemplate.C	(revision 14952)
+++ fact/tools/rootmacros/PulseTemplates/FCalcPulseTemplate.C	(revision 14962)
@@ -102,5 +102,5 @@
 //        TString     InRootFileName          = "20120802_200mV_Stacking_G13B-2AWW8.root",
         TString     InputPath               = "analysis/PulsTemplateAnalysis/20120802/",
-        TString     OutputRootFileName      = "20120802_0mV_Extraction_G11B-2AWW8_model2.root",
+        TString     OutputRootFileName      = "20120802_0mV_Extraction_G11B-2AWW8_model1.root",
 //        TString     OutputRootFileName      = "20120802_200mV_Extraction_G13B-2AWW8_model0.root",
         TString     OutPutPath              = "analysis/PulsTemplateAnalysis/20120802/",
@@ -113,10 +113,10 @@
         int     npixel                  = 1,
         int     pixelSetSize            = 200,
-        int     maxPulseOrder           = 6,
+        int     maxPulseOrder           = 1,
         // ------------{ analysis parameters }------------
         float   meanGain                = 11.,
         float   meanBsl                 = -2.5,
         int     bootstrapIt             = 10,
-        int     pulseModell             = 0,
+        int     pulseModell             = 1,
         float   pixelOverlayXaxisLeft   = 0,
         float   pixelOverlayXaxisRight  = 400,
@@ -381,5 +381,5 @@
         title += i;
         hMedianErrors[i].SetNameTitle(title, title);
-        hMedianErrors[i].SetBins(roi, -0.5, roi + 0.5);
+        hMedianErrors[i].SetBins(roi, -0.5, roi - 0.5);
 
         //hMeanErrors
@@ -388,5 +388,5 @@
         title += i;
         hMeanErrors[i].SetNameTitle(title, title);
-        hMeanErrors[i].SetBins(roi, -0.5, roi + 0.5);
+        hMeanErrors[i].SetBins(roi, -0.5, roi - 0.5);
 
         //hMaxErrors
@@ -395,5 +395,5 @@
         title += i;
         hMaxErrors[i].SetNameTitle(title, title);
-        hMaxErrors[i].SetBins(roi, -0.5, roi + 0.5);
+        hMaxErrors[i].SetBins(roi, -0.5, roi - 0.5);
     }
 
@@ -547,4 +547,15 @@
                 }
 
+                // shifting stacking in y TEST
+                //-------------------------------------
+
+                TH2* temporary = pixel[pixelID]->hEdgeOverlay[pulse_order];
+                temporary->GetYaxis()->UnZoom();
+                    temporary->GetYaxis()->SetLimits(
+                    temporary->GetYaxis()->GetBinLowEdge( temporary->GetYaxis()->GetFirst() ) - 0.25,
+                    temporary->GetYaxis()->GetBinUpEdge(  temporary->GetYaxis()->GetLast() )  - 0.25
+                                          );
+
+
                 // Calculate Max Prop. Value of each slice
                 //-------------------------------------
Index: fact/tools/rootmacros/PulseTemplates/Sample.C
===================================================================
--- fact/tools/rootmacros/PulseTemplates/Sample.C	(revision 14952)
+++ fact/tools/rootmacros/PulseTemplates/Sample.C	(revision 14962)
@@ -217,5 +217,6 @@
     for (int i=0;i<nbins;i++)
     {
-        value       = inputHisto->GetBinLowEdge(i);
+//        value       = inputHisto->GetBinLowEdge(i);
+        value       = inputHisto->GetBinCenter(i);
         quantity    = inputHisto->GetBinContent(i);
         //Loop over bin quantities
Index: fact/tools/rootmacros/PulseTemplates/pulse.C
===================================================================
--- fact/tools/rootmacros/PulseTemplates/pulse.C	(revision 14952)
+++ fact/tools/rootmacros/PulseTemplates/pulse.C	(revision 14962)
@@ -245,4 +245,5 @@
     mModel->SetParNames("BSL", "A0", "t0", "t1", "Tau1", "Tau2", "PhE");
     mModel->SetLineColor(kRed);
+    mModel->FixParameter(0, bsl);
 
     mFitResultPtr   = mHisto->Fit(mModel, fitOptions);
@@ -340,8 +341,10 @@
 
 
-    double para[] = {bsl, 2*amplitude+gain, start, tau*0.1, tau, phe};
+    double para[] = {bsl, 2*amplitude+gain, start, tau*0.5, tau, phe};
     mModel->SetParameters(para);
     mModel->SetParNames("BSL", "A0", "t0", "Tau1", "Tau2", "PhE");
     mModel->SetLineColor(kBlue);
+    mModel->FixParameter(0, bsl);
+    mModel->FixParameter(1, 2*amplitude+gain);
 
     // cout startvalues
Index: fact/tools/rootmacros/PulseTemplates/templateextractors.C
===================================================================
--- fact/tools/rootmacros/PulseTemplates/templateextractors.C	(revision 14952)
+++ fact/tools/rootmacros/PulseTemplates/templateextractors.C	(revision 14962)
@@ -121,17 +121,17 @@
 //----------------------------------------------------------------------------
 
-Double_t MedianOfH1 (
-        TH1*            inputHisto
+double MedianOfH1 ( //THE PROBLEM MUST BE HERE!!!!!!!
+        TH1D*            inputHisto
         )
 {
    //compute the median for 1-d histogram h1
    Int_t nbins = inputHisto->GetXaxis()->GetNbins();
-   Double_t *x = new Double_t[nbins];
-   Double_t *y = new Double_t[nbins];
+   double *x = new double[nbins];
+   double *y = new double[nbins];
    for (Int_t i=0;i<nbins;i++) {
-      x[i] = inputHisto->GetXaxis()->GetBinCenter(i+1);
-      y[i] = inputHisto->GetBinContent(i+1);
+      x[i] = inputHisto->GetXaxis()->GetBinCenter(i);
+      y[i] = inputHisto->GetBinContent(i);
    }
-   Double_t median = TMath::Median(nbins,x,y);
+   double median = TMath::Median(nbins,x,y);
    delete [] x;
    delete [] y;
@@ -189,6 +189,12 @@
     double  Median[numIt];
     double  Max[numIt];
-    double  parameter[3];
-    double  parameterErr[3];
+    double  parameter[3]    = {0,0,0};
+    double  parameterErr[3] = {0,0,0};
+    for (int i = 0; i < numIt; i++)
+    {
+        Mean[i]     = 0;
+        Median[i]   = 0;
+        Max[i]      = 0;
+    }
 
 //    TCanvas test_canvas;
@@ -196,8 +202,9 @@
 //    test_canvas.cd(1);
 //    inputHisto->Draw();
+
     for (int i = 0; i < numIt; i++)
     {
 //        test_canvas.cd(2);
-        TH1* tempHisto = (TH1*)inputHisto->Clone("tempHisto");
+        TH1D* tempHisto = (TH1D*)inputHisto->Clone("tempHisto");
 //                    "",
 //                    "",
@@ -207,12 +214,12 @@
 //                    );
         tempHisto->Reset();
+        sample.SetSeed(sample.GetSeed()+1);
         sample.BootstrapTH1(inputHisto, tempHisto);
 
         Mean[i]     = tempHisto->GetMean();
         Median[i]   = MedianOfH1 ( tempHisto );
-
         Max[i]      = tempHisto->GetBinCenter( tempHisto->GetMaximumBin() );
 
-        //improved determination of maximum
+        //improved determination of modus
 //        TF1 gaus("fgaus", "gaus", Max[i]-10, Max[i]+10);
 //        tempHisto->Fit("fgaus", "WWQRN0");
@@ -540,5 +547,5 @@
     TH1F*   hOutputMeanHisto        = NULL;
     TH1F*   hOutputMedianHisto      = NULL;
-    TH1D*    hTempHisto              = NULL;
+    TH1D*    hTempHisto             = NULL;
     double  max_prop                = 0;
     double  median                  = 0;
@@ -600,12 +607,18 @@
     int slice_max  = hInputHisto->GetXaxis()->GetLast();
 
+    if (verbosityLevel > 2)
+    {
+        cout << "\t...looping over slice range " << slice_min
+             << " to " << slice_max << endl;
+    }
+
     for (Int_t slice=slice_min;slice<=slice_max;slice++)
     {
 
-        hTempHisto  = hInputHisto->ProjectionY("",slice,slice);
+        hTempHisto  = hInputHisto->ProjectionY("",slice,slice,"o");
 
         //containers for errors
-        double slMean[3];
-        double slError[3];
+        double slMean[3]    ={0,0,0};
+        double slError[3]   ={0,0,0};
 
         //calculate Errors with bootstrapping
Index: fact/tools/rootmacros/PulseTemplates/templateextractors.h
===================================================================
--- fact/tools/rootmacros/PulseTemplates/templateextractors.h	(revision 14952)
+++ fact/tools/rootmacros/PulseTemplates/templateextractors.h	(revision 14962)
@@ -54,6 +54,6 @@
         );
 
-Double_t MedianOfH1 (
-        TH1*            inputHisto
+double MedianOfH1(
+        TH1D* inputHisto
         );
 
