]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/MUONStatusMap.C
Include EAs from offline c3 fits
[u/mrichter/AliRoot.git] / MUON / MUONStatusMap.C
index d39b68993b31aed8f889fa0bacc266f634250f26..75605e423569534663a845a65dc8fb7fb716e0dc 100644 (file)
@@ -26,6 +26,7 @@
 #include "AliCDBEntry.h"
 #include "AliLog.h"
 #include "AliMpCDB.h"
+#include "AliMpDEManager.h"
 #include "AliMUONCDB.h"
 #include "AliMUONCalibrationData.h"
 #include "AliMUONPadStatusMaker.h"
@@ -133,10 +134,12 @@ Int_t GetBadChannels(Int_t runNumber,
                      Int_t& nbadgain,
                      Int_t& nbadocc,
                      Int_t& nmissing,
-                     Int_t& nreco)
+                     Int_t& nreco,
+                     Int_t chamber=-1)
 {
   if (!AliCDBManager::Instance()->IsDefaultStorageSet())
   {
+//    AliCDBManager::Instance()->SetDefaultStorage("alien://folder=/alice/data/2011/OCDB?cacheFold=/local/cdb");
     AliCDBManager::Instance()->SetDefaultStorage("raw://");
   }
   
@@ -186,6 +189,9 @@ Int_t GetBadChannels(Int_t runNumber,
   while ( it.Next(detElemId,manuId) )
   {
     AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
+    
+    if ( chamber >= 0 && AliMpDEManager::GetChamberId(detElemId) != chamber ) continue;
+    
     for ( Int_t manuChannel = 0; manuChannel < AliMpConstants::ManuNofChannels(); ++manuChannel )
     {
       if ( de->IsConnectedChannel(manuId,manuChannel) )
@@ -232,11 +238,17 @@ Int_t GetBadChannels(Int_t runNumber,
     }
   }
   
-  if (ntotal!=NTOTALNUMBEROFPADS)
+  if ( chamber<0 && ntotal!=NTOTALNUMBEROFPADS)
   {
     cerr << Form("ERROR ! NOT THE EXPECTED NUMBER OF CHANNELS (%d vs 1064008) FOR RUN %09d",
                  ntotal,runNumber) << endl;
   }
+  else
+  {
+    cout << Form("Chamber %d - %d channels",chamber,ntotal) << endl;
+    cout << Form("nbadped %5d nbadhv %5d nbadgain %5d nbadocc %5d nmissing %5d nreco %5d",
+                 nbadped,nbadhv,nbadgain,nbadocc,nmissing,nreco) << endl;
+  }
   
   AliCDBManager::Instance()->ClearCache(); 
  
@@ -276,7 +288,8 @@ void DrawPeriod(double run1, double run2, double ymin, double ymax, const char*
   b->SetFillColor(5);
   b->Draw();
   TText* text = new TText((run1+run2)/2.0,ymax*0.6,label);
-  text->SetTextSize(0.05);
+  text->SetTextAlign(22);
+  text->SetTextSize(0.02);
   text->Draw();
 }
 
@@ -284,7 +297,7 @@ void DrawPeriod(double run1, double run2, double ymin, double ymax, const char*
 void DrawEvolution(const char* file, bool normalized=true)
 {
 
-  TFile* f = TFile::Open(file);
+  TFile* f = TFile::Open(gSystem->ExpandPathName(file));
   
   if (!f) return;
   
@@ -303,6 +316,8 @@ void DrawEvolution(const char* file, bool normalized=true)
   int runmin = TMath::Nint(g->GetX()[0]);
   int runmax = TMath::Nint(g->GetX()[g->GetN()-1]);
   
+  cout << Form("Run range found in file %s = %d - %d",file,runmin,runmax) << endl;
+  
   double ymax(0.4);
   
   TH2* h = new TH2F("hframe","hframe;Run number;Fraction of dead channels",100,runmin-200,runmax+200,100,0,ymax);
@@ -336,8 +351,38 @@ void DrawEvolution(const char* file, bool normalized=true)
 
   DrawPeriod(158084,159606,0,ymax,"11d");
 
-  DrawPeriod(160677,162000,0,ymax,"11e");
+  DrawPeriod(160677,162717,0,ymax,"11e");
+
+  DrawPeriod(162933,165744,0,ymax,"11f");
+
+  DrawPeriod(167703,170593,0,ymax,"11h");
+
+  // 2012
+    
+    DrawPeriod(176661,177295,0,ymax,"12a");
+
+    DrawPeriod(177384,178053,0,ymax,"12b");
 
+    DrawPeriod(179603,180569,0,ymax,"12c");
+
+    DrawPeriod(183913,186320,0,ymax,"12d");
+    
+    DrawPeriod(186365,186602,0,ymax,"12e");
+    
+    DrawPeriod(186668,188123,0,ymax,"12f");
+    
+    DrawPeriod(188362,188503,0,ymax,"12g");
+    
+    DrawPeriod(189122,190110,0,ymax,"12h");
+  
+  // 2013
+  
+  DrawPeriod(195344,195483,0,ymax,"LHC13b");
+  DrawPeriod(195529,195677,0,ymax,"LHC13c");
+  DrawPeriod(195681,195873,0,ymax,"LHC13d");
+  DrawPeriod(195949,196311,0,ymax,"LHC13e");
+  DrawPeriod(196433,197388,0,ymax,"LHC13f");
+  
   Draw(f,"nbad",l,normalized);
   Draw(f,"nbadped",l,normalized);
   Draw(f,"nbadocc",l,normalized);
@@ -378,12 +423,18 @@ void MUONStatusMapEvolution(const char* runlist, const char* outfile)
     return;    
   }
   
-  int year(2011);
+  int year(2013);
   
   if ( runs[0] <= 139699 ) year=2010;
   
-  AliCDBManager::Instance()->SetDefaultStorage(Form("alien://folder=/alice/data/%d/OCDB?cacheFold=/local/cdb",year));
+  if ( runs[0] <= 176000 ) year=2011;
   
+  if ( runs[0] <= 195344 ) year = 2012;
+      
+  AliCDBManager::Instance()->SetDefaultStorage(Form("alien://folder=/alice/data/%d/OCDB?cacheFold=/local/cdb",year));
+
+//  AliCDBManager::Instance()->SetDefaultStorage("local:///Users/laurent/Alice/OCDBcopy2013");
+//
   TList glist;
   
   glist.SetOwner(kTRUE);