]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/FORWARD/analysis2/AliForwardUtil.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwardUtil.cxx
index 9d57766e986f0c716dc54cfae939af9748b1b034..ac7176862be852557305db5c1342a3f59aa0c6d2 100644 (file)
@@ -82,21 +82,24 @@ ULong_t AliForwardUtil::AliROOTBranch()
   str = ALIROOT_BRANCH;
   top = "master";
 #endif
+  if (str.IsNull()) return 0xFFFFFFFF;
   if (str[0] == 'v') str.Remove(0,1);
   if (str.EqualTo(top)) return ret = 0xFFFFFFFF;
 
   TObjArray*   tokens = str.Tokenize("-");
-  TObjString*  pMajor = static_cast<TObjString*>(tokens->At(0));
-  TObjString*  pMinor = static_cast<TObjString*>(tokens->At(1));
-  TObjString*  pRelea = (tokens->GetEntries() > 2 ? 
-    static_cast<TObjString*>(tokens->At(2)) : 0);
-  TObjString* pAn     = (tokens->GetEntries() > 3 ? 
-    static_cast<TObjString*>(tokens->At(3)) : 0);
-  TString sMajor = pMajor->String().Strip(TString::kLeading, '0');
-  TString sMinor = pMinor->String().Strip(TString::kLeading, '0');
-  TString sRelea = (pRelea ? pRelea->String() : "");
-  sRelea = sRelea.Strip(TString::kLeading, '0');
-
+  TObjString*  pMajor = tokens->GetEntries()>0 ? 
+    (static_cast<TObjString*>(tokens->At(0))) : 0;
+  TObjString*  pMinor = tokens->GetEntries()>1 ? 
+    (static_cast<TObjString*>(tokens->At(1))) : 0;
+  TObjString*  pRelea = tokens->GetEntries() > 2 ? 
+    static_cast<TObjString*>(tokens->At(2)) : 0;
+  TObjString* pAn     = tokens->GetEntries() > 3 ? 
+    static_cast<TObjString*>(tokens->At(3)) : 0;
+  TString sMajor,sMinor,sRelea;
+  if (pMajor) sMajor = pMajor->String().Strip(TString::kLeading, '0'); 
+  if (pMinor) sMinor = pMinor->String().Strip(TString::kLeading, '0');
+  if (pRelea) sRelea = pRelea->String().Strip(TString::kLeading, '0');
+  //
   ret = (((sMajor.Atoi() & 0xFF) << 12) |
     ((sMinor.Atoi() & 0xFF) <<  8) |
     ((sRelea.Atoi() & 0xFF) <<  4) |
@@ -589,6 +592,7 @@ AliForwardUtil::MakeFullIpZAxis(Int_t nCenter)
   TAxis* a = new TAxis(bins.GetSize()-1,bins.GetArray());
   return a;
 }
+//____________________________________________________________________
 void
 AliForwardUtil::MakeFullIpZAxis(Int_t nCenter, TArrayD& bins)
 {
@@ -625,6 +629,7 @@ AliForwardUtil::MakeFullIpZAxis(Int_t nCenter, TArrayD& bins)
     bins[mBin+o] = +v;
   }
 }
+//____________________________________________________________________
 void 
 AliForwardUtil::MakeLogScale(Int_t    nBins, 
                             Int_t    minOrder, 
@@ -633,9 +638,10 @@ AliForwardUtil::MakeLogScale(Int_t    nBins,
 {
   Double_t dO = Double_t(maxOrder-minOrder) / nBins; 
   bins.Set(nBins+1);
-  for (Int_t i = 0; i <= nBins; i++) bins[i] = TMath::Power(10, i * dO);
+  for (Int_t i = 0; i <= nBins; i++) bins[i] = TMath::Power(10, i * dO+minOrder);
 }
 
+//____________________________________________________________________
 void 
 AliForwardUtil::PrintTask(const TObject& o)
 {
@@ -649,6 +655,7 @@ AliForwardUtil::PrintTask(const TObject& o)
   std::cout << "--- " << t << " " << std::setfill('-') 
            << std::setw(maxN-ind-5-t.Length()) << "-" << std::endl;
 }
+//____________________________________________________________________
 void
 AliForwardUtil::PrintName(const char* name)
 {
@@ -670,6 +677,7 @@ AliForwardUtil::PrintName(const char* name)
   std::cout << std::setfill(' ') << std::left << std::setw(width) 
            << n << std::right << std::flush;
 }
+//____________________________________________________________________
 void
 AliForwardUtil::PrintField(const char* name, const char* value, ...)
 {