]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONOccupancySubprocessor.cxx
cut analysis for PbPb
[u/mrichter/AliRoot.git] / MUON / AliMUONOccupancySubprocessor.cxx
index 5ff5afbb60a66ebbf649eda11bf25fc5e96317cf..e007322ed77fa5ed6aad210081e002a489791be4 100644 (file)
@@ -58,7 +58,7 @@ AliMUONOccupancySubprocessor::~AliMUONOccupancySubprocessor()
 }
 
 //_____________________________________________________________________________
-void 
+Bool_t 
 AliMUONOccupancySubprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t endTime)
 {
   /// When starting a new run, reads in the occupancy ASCII files.
@@ -69,7 +69,7 @@ AliMUONOccupancySubprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t end
   delete fOccupancyMap;
   fOccupancyMap = new AliMUON2DMap(kTRUE);
   
-  Master()->Log(Form("Reading occupancy file for Run %d startTime %ld endTime %ld",
+  Master()->Log(Form("Reading occupancy file for Run %d startTime %u endTime %u",
                      run,startTime,endTime));
   
   TList* sources = Master()->GetFileSources(kSystem,kId);
@@ -81,19 +81,22 @@ AliMUONOccupancySubprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t end
   {
     TString fileName(Master()->GetFile(kSystem,kId,o->GetName()));
     Int_t ok = ReadFile(fileName.Data());
-    if (ok>0)
+    if ( ok>0 || ok == AliMUONTrackerIO::kNoInfoFile )
     {
       n += ok;
     }
   }
   
+  delete sources;
+
   if (!n)
   {
     Master()->Log("Failed to read any occupancy");
     delete fOccupancyMap;
     fOccupancyMap = 0;
+    return kFALSE;
   }
-  delete sources;
+  return kTRUE;
 }
 
 //_____________________________________________________________________________
@@ -109,19 +112,27 @@ AliMUONOccupancySubprocessor::Process(TMap* /*dcsAliasMap*/)
     return 1;
   }
   
-  Master()->Log("Storing occupancy map");
-  
-  AliCDBMetaData metaData;
-       metaData.SetBeamPeriod(0);
-       metaData.SetResponsible("MUON TRK");
-  TString comment("Computed by AliMUONOccupancySubprocessor $Id$");
-  comment.ReplaceAll("$","");
-       metaData.SetComment(comment.Data());
-  
-  Bool_t validToInfinity = kFALSE;
-       Bool_t result = Master()->Store("Calib", "OccupancyMap", fOccupancyMap, &metaData, 0, validToInfinity);
-  
-  return ( result != kTRUE ); // return 0 if everything is ok.  
+  if ( fOccupancyMap->GetSize() )
+  {
+    Master()->Log("Storing occupancy map");
+  
+    AliCDBMetaData metaData;
+    metaData.SetBeamPeriod(0);
+    metaData.SetResponsible("MUON TRK");
+    TString comment("Computed by AliMUONOccupancySubprocessor $Id$");
+    comment.ReplaceAll("$","");
+    metaData.SetComment(comment.Data());
+    
+    Bool_t validToInfinity = kFALSE;
+    Bool_t result = Master()->Store("Calib", "OccupancyMap", fOccupancyMap, &metaData, 0, validToInfinity);
+  
+    return ( result != kTRUE ); // return 0 if everything is ok.  
+  }
+  else
+  {
+    Master()->Log("No occupancy map to store");
+    return 0;
+  }
 }
 
 //_____________________________________________________________________________