]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
allow to choose minuit strategy (Marta V.)
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Mar 2012 22:40:42 +0000 (22:40 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Mar 2012 22:40:42 +0000 (22:40 +0000)
ANALYSIS/AliUnfolding.cxx
ANALYSIS/AliUnfolding.h

index a34974c8a3a05a9daf736f1d4f0b8fe8dd279b0d..46179a3348c17617e349871875005effb8e2bc6c 100644 (file)
@@ -55,7 +55,8 @@ Float_t AliUnfolding::fgRegularizationWeight = 10000;
 Int_t AliUnfolding::fgSkipBinsBegin = 0;
 Float_t AliUnfolding::fgMinuitStepSize = 0.1;                 // (usually not needed to be changed) step size in minimization
 Float_t AliUnfolding::fgMinuitPrecision = 1e-6;               // minuit precision
-Int_t   AliUnfolding::fgMinuitMaxIterations = 1e6;           // minuit maximum number of iterations
+Int_t   AliUnfolding::fgMinuitMaxIterations = 1e6;            // minuit maximum number of iterations
+Double_t AliUnfolding::fgMinuitStrategy = 1.;                 // minuit strategy
 Bool_t AliUnfolding::fgMinimumInitialValue = kFALSE;          // set all initial values at least to the smallest value among the initial values
 Float_t AliUnfolding::fgMinimumInitialValueFix = -1;
 Bool_t AliUnfolding::fgNormalizeInput = kFALSE;               // normalize input spectrum
@@ -394,6 +395,8 @@ Int_t AliUnfolding::UnfoldWithMinuit(TH2* correlation, TH1* efficiency, TH1* mea
 
   minuit->SetMaxIterations(fgMinuitMaxIterations);
 
+  minuit->ExecuteCommand("SET STRATEGY",&fgMinuitStrategy,1);
+
   for (Int_t i=0; i<fgMaxParams; i++)
     (*fgEntropyAPriori)[i] = 1;
 
index 3471131346e9f2e193cec8bc0548ef3f614ccd16..873bbb95832907ef8858cbc008ef36732998069d 100644 (file)
@@ -41,6 +41,7 @@ class AliUnfolding : public TObject
     static void SetMinuitStepSize(Float_t stepSize) { fgMinuitStepSize = stepSize; }
     static void SetMinuitPrecision(Float_t pres) {fgMinuitPrecision = pres;}
     static void SetMinuitMaxIterations(Int_t iter) {fgMinuitMaxIterations = iter;}
+    static void SetMinuitStrategy(Double_t strat) {fgMinuitStrategy = strat;}
     static void SetMinimumInitialValue(Bool_t flag, Float_t value = -1) { fgMinimumInitialValue = flag; fgMinimumInitialValueFix = value; }
     static void SetNormalizeInput(Bool_t flag) { fgNormalizeInput = flag; }
     static void SetNotFoundEvents(Float_t notFoundEvents) { fgNotFoundEvents = notFoundEvents; }
@@ -120,6 +121,7 @@ class AliUnfolding : public TObject
     static Float_t fgMinuitStepSize;                 // (usually not needed to be changed) step size in minimization
     static Float_t fgMinuitPrecision;                // precision used by minuit. default = 1e-6
     static Int_t   fgMinuitMaxIterations;            // maximum number of iterations used by minuit. default = 5000
+    static Double_t fgMinuitStrategy;                // minuit strategy: 0 (low), 1 (default), 2 (high)
     static Bool_t fgMinimumInitialValue;             // set all initial values at least to the smallest value among the initial values
     static Float_t fgMinimumInitialValueFix;         // use this as the minimum initial value instead of determining it automatically
     static Bool_t fgNormalizeInput;                  // normalize input spectrum