]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RICH/AliRICHCluster.cxx
Check the Minuit status after each fit
[u/mrichter/AliRoot.git] / RICH / AliRICHCluster.cxx
index 71772bc9605d13bdcb478836940a9c9ee7f28d96..58cf9dd41d5a36c776f5b0a70bbc7169d21a5845 100644 (file)
@@ -132,9 +132,15 @@ Int_t AliRICHCluster::Solve(TClonesArray *pCluLst,Bool_t isTryUnfold)
     Double_t fitX,fitY,fitQ,d1,d2,d3; TString sName;                                //vars to get results from TMinuit
     for(Int_t i=0;i<iLocMaxCnt;i++){//local maxima loop
       pMinuit->mnpout(3*i   ,sName,  fitX, d1 , d2, d3, iErrFlg);
-      pMinuit->mnpout(3*i+1 ,sName,  fitY, d1 , d2, d3, iErrFlg);
-      pMinuit->mnpout(3*i+2 ,sName,  fitQ, d1 , d2, d3, iErrFlg);
-      new ((*pCluLst)[iCluCnt++]) AliRICHCluster(C(),fitX,fitY,(Int_t)fitQ);        //add new unfolded clusters
+      if (pMinuit->GetStatus()) {
+       pMinuit->mnpout(3*i+1 ,sName,  fitY, d1 , d2, d3, iErrFlg);
+       if (pMinuit->GetStatus()) {
+         pMinuit->mnpout(3*i+2 ,sName,  fitQ, d1 , d2, d3, iErrFlg);
+         if (pMinuit->GetStatus())
+           new ((*pCluLst)[iCluCnt++]) AliRICHCluster(C(),fitX,fitY,(Int_t)fitQ);
+         //add new unfolded clusters
+       }
+      }
     }//local maxima loop
   }else{//do not unfold since number of loc max is unresonably high or user's baned unfolding 
     CoG();