diff --git a/UtilityApps/src/materialBudget.cpp b/UtilityApps/src/materialBudget.cpp
index f01b936890900520262e15eda05c33e6d435f523..4ba6708d192903016c0b711788098084f72ec2d2 100644
--- a/UtilityApps/src/materialBudget.cpp
+++ b/UtilityApps/src/materialBudget.cpp
@@ -106,6 +106,9 @@ int main_wrapper(int argc, char** argv)   {
   std::string steeringFile =  argv[2];
   int nbins = 90 ;
   double phi0 = M_PI / 2. ;
+  double thetaMin = 0. ;
+  double thetaMax = 90. ;
+  double etaMin = 0. ;
   double etaMax = -1. ;
   std::string outFileName("material_budget.root") ;
   std::vector<SDetHelper> subdets ;
@@ -126,6 +129,15 @@ int main_wrapper(int argc, char** argv)   {
     if( token == "nbins" ){
       iss >> nbins ;
     }
+    else if( token == "thetaMin" ){
+      iss >> thetaMin ;
+    }
+    else if( token == "thetaMax" ){
+      iss >> thetaMax ;
+    }
+    else if( token == "etaMin" ){
+      iss >> etaMin ;
+    }
     else if( token == "etaMax" ){
       iss >> etaMax ;
     }
@@ -172,21 +184,21 @@ int main_wrapper(int argc, char** argv)   {
 
       hxn += "x0" ;
       hxnn += " integrated X0 vs eta" ;
-      det.hx = new TH1F( hxn.c_str(), hxnn.c_str(), nbins, 0. , etaMax ) ;
+      det.hx = new TH1F( hxn.c_str(), hxnn.c_str(), nbins, etaMin , etaMax ) ;
 
       hln += "lambda" ;
       hlnn += " integrated int. lengths vs eta" ;
-      det.hl = new TH1F( hln.c_str(), hlnn.c_str(), nbins,  0. , etaMax ) ;
+      det.hl = new TH1F( hln.c_str(), hlnn.c_str(), nbins, etaMin , etaMax ) ;
 
     } else {   // use polar angle
 
       hxn += "x0" ;
       hxnn += " integrated X0 vs -theta" ;
-      det.hx = new TH1F( hxn.c_str(), hxnn.c_str(), nbins, -90. , 0. ) ;
+      det.hx = new TH1F( hxn.c_str(), hxnn.c_str(), nbins, -thetaMax , -thetaMin ) ;
 
       hln += "lambda" ;
       hlnn += " integrated int. lengths vs -theta" ;
-      det.hl = new TH1F( hln.c_str(), hlnn.c_str(), nbins, -90. , 0. ) ;
+      det.hl = new TH1F( hln.c_str(), hlnn.c_str(), nbins, -thetaMax , -thetaMin ) ;
     }
 
   }
@@ -196,9 +208,11 @@ int main_wrapper(int argc, char** argv)   {
   Volume world  = description.world().volume() ;
   
   MaterialManager matMgr( world ) ;
-  
-  double dTheta = 0.5*M_PI/nbins; // bin size
-  double dEta  = etaMax/nbins ;
+
+  thetaMin = thetaMin / 180. * M_PI ;
+  thetaMax = thetaMax / 180. * M_PI ;
+  double dTheta = (thetaMax-thetaMin)/nbins; // bin size
+  double dEta  = (etaMax-etaMin)/nbins ;
 
   std::cout  << "====================================================================================================" << std::endl ;
 
@@ -208,7 +222,7 @@ int main_wrapper(int argc, char** argv)   {
   
   for(int i=0 ; i< nbins ;++i){
 
-    double theta = ( etaMax > 0. ?  2. * atan ( exp ( - (0.5+i)*dEta ) ) : (0.5+i)*dTheta  ) ;
+    double theta = ( etaMax > 0. ?  2. * atan ( exp ( - ( etaMin + (0.5+i)*dEta) ) ) : ( thetaMin + (0.5+i)*dTheta ) ) ;
 
     std::cout << std::scientific << theta << " " ;
     
@@ -233,7 +247,7 @@ int main_wrapper(int argc, char** argv)   {
       }
 
 
-      double binX = ( etaMax > 0. ? (0.5+i)*dEta : -theta/M_PI*180. ) ;
+      double binX = ( etaMax > 0. ? (etaMin + (0.5+i)*dEta) : -(thetaMin + theta)/M_PI*180. ) ;
 
       det.hx->Fill( binX , sum_x0 ) ;
       det.hl->Fill( binX , sum_lambda ) ;
@@ -264,7 +278,12 @@ void dumpExampleSteering(){
   std::cout << "# number of bins for polar angle (default 90)" << std::endl ;
   std::cout << "nbins 90" << std::endl ;
   std::cout <<  std::endl ;
-  std::cout << "# use pseudo rapidity rather than polar angle - specify maximum eta value" << std::endl ;
+  std::cout << "# use polar angle - specify minimum and maximum theta value" << std::endl ;
+  std::cout << "# thetaMin 0." << std::endl ;
+  std::cout << "# thetaMax 90." << std::endl ;
+  std::cout <<  std::endl ;
+  std::cout << "# use pseudo rapidity rather than polar angle - specify minimum and maximum eta value" << std::endl ;
+  std::cout << "# etaMin -3." << std::endl ;
   std::cout << "# etaMax 3." << std::endl ;
   std::cout <<  std::endl ;
   std::cout << "# phi direction in deg (default: 90./y-axis)" << std::endl ;