]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONCheck.cxx
update from salvatore
[u/mrichter/AliRoot.git] / MUON / AliMUONCheck.cxx
index 531d46fb203570af9cda3584b7ecdec6781687e1..28700ae50662dbbea5401b453e4fc1f831e48ce2 100644 (file)
 ClassImp(AliMUONCheck)
 /// \endcond
 
-const TString AliMUONCheck::fgkDefaultOutFileName = "output.txt"; //!< default output file name 
+//_____________________________________________________________________________
+const TString& AliMUONCheck::GetDefaultOutFileName()
+{
+  /// Default output file name 
+  static const TString kDefaultOutFileName = "output.txt";
+  return kDefaultOutFileName;
+}  
 
+//_____________________________________________________________________________
 AliMUONCheck::AliMUONCheck(const char* galiceFile, const char* esdFile,Int_t firstEvent, Int_t lastEvent,const char* outDir) 
 : TObject(),
 fFileName(galiceFile),
 fFileNameSim(),
 fesdFileName(esdFile),
 fkOutDir(outDir),
-fOutFileName(fgkDefaultOutFileName),
+fOutFileName(GetDefaultOutFileName()),
 fFirstEvent(firstEvent),
 fLastEvent(lastEvent)
 {
@@ -87,7 +94,7 @@ fFileName(galiceFile),
 fFileNameSim(galiceFileSim),
 fesdFileName(esdFile),
 fkOutDir(outDir),
-fOutFileName(fgkDefaultOutFileName),
+fOutFileName(GetDefaultOutFileName()),
 fFirstEvent(firstEvent),
 fLastEvent(lastEvent)
 {
@@ -786,11 +793,13 @@ AliMUONCheck::CheckOccupancy(Bool_t perDetEle) const
     printf(">>> Chamber %2d  nChannels Bending %5d  nChannels NonBending %5d \n", 
          ichamber+1, 
          cHoccupancyBending[ichamber],
-         cHoccupancyNonBending[ichamber]);           
-    printf(">>> Chamber %2d  Occupancy Bending %5.2f %%  Occupancy NonBending %5.2f %% \n", 
-         ichamber+1, 
-         100.*((Float_t) cHoccupancyBending[ichamber])/((Float_t) cHchannelsBending[ichamber]),
-         100.*((Float_t) cHoccupancyNonBending[ichamber])/((Float_t) cHchannelsBending[ichamber])            );
+         cHoccupancyNonBending[ichamber]);  
+    if ( cHchannelsBending[ichamber] != 0 && cHchannelsBending[ichamber] ) {               
+      printf(">>> Chamber %2d  Occupancy Bending %5.2f %%  Occupancy NonBending %5.2f %% \n", 
+           ichamber+1, 
+           100.*((Float_t) cHoccupancyBending[ichamber])/((Float_t) cHchannelsBending[ichamber]),
+           100.*((Float_t) cHoccupancyNonBending[ichamber])/((Float_t) cHchannelsBending[ichamber]));
+    }
   
     if ( perDetEle )
     {
@@ -803,19 +812,23 @@ AliMUONCheck::CheckOccupancy(Bool_t perDetEle) const
                idetele+100*(ichamber+1), 
                dEoccupancyBending[ichamber][idetele],
                dEoccupancyNonBending[ichamber][idetele]);  
-          printf(">>> DetEle %4d Occupancy Bending %5.2f %%  Occupancy NonBending %5.2f %% \n", 
-               idetele+100*(ichamber+1), 
-               100.*((Float_t) dEoccupancyBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]),
-               100.*((Float_t) dEoccupancyNonBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]));  
+               
+          if ( dEchannelsBending[ichamber][idetele] != 0 && dEchannelsBending[ichamber][idetele] !=0 ) {     
+            printf(">>> DetEle %4d Occupancy Bending %5.2f %%  Occupancy NonBending %5.2f %% \n", 
+                 idetele+100*(ichamber+1), 
+                 100.*((Float_t) dEoccupancyBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]),
+                 100.*((Float_t) dEoccupancyNonBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]));
+          }       
         }
       }
     }
   }
 
-  printf(">>> Muon Spectrometer  Occupancy Bending %5.2f %%  Occupancy NonBending %5.2f %% \n",  
-       100.*((Float_t) totaloccupancyBending)/((Float_t) totalchannelsBending),
-       100.*((Float_t) totaloccupancyNonBending)/((Float_t) totalchannelsNonBending)            );
-
+  if ( totalchannelsBending != 0 && totalchannelsNonBending != 0 ) {
+    printf(">>> Muon Spectrometer  Occupancy Bending %5.2f %%  Occupancy NonBending %5.2f %% \n",  
+         100.*((Float_t) totaloccupancyBending)/((Float_t) totalchannelsBending),
+         100.*((Float_t) totaloccupancyNonBending)/((Float_t) totalchannelsNonBending));
+  }       
 }
 
 //_____________________________________________________________________________