Script to get # of dead channels from OCDB
authorcholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 29 Jun 2011 13:29:12 +0000 (13:29 +0000)
committercholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 29 Jun 2011 13:29:12 +0000 (13:29 +0000)
FMD/scripts/deadChannels.C [new file with mode: 0644]

diff --git a/FMD/scripts/deadChannels.C b/FMD/scripts/deadChannels.C
new file mode 100644 (file)
index 0000000..fca1350
--- /dev/null
@@ -0,0 +1,40 @@
+void deadChannels(Int_t runnumber){
+  
+  TGrid::Connect("alien://",0,0,"t");
+  AliCDBManager* cdb = AliCDBManager::Instance();
+  //cdb->SetDefaultStorage("alien://Folder=/alice/data/2010/OCDB/SHUTTLE/TestShuttle/TestCDB");
+  cdb->SetDefaultStorage("local:///home/canute/ALICE/AliRoot/OCDB/SHUTTLE/TestShuttle/TestCDB");
+  cdb->SetRun(runnumber);
+  
+  AliFMDParameters* pars = AliFMDParameters::Instance();
+  pars->Init();
+  Int_t nDead = 0;
+  
+  for(UShort_t det=1;det<=3;det++) {
+    Int_t nRings = (det==1 ? 1 : 2);
+    for (UShort_t ir = 0; ir < nRings; ir++) {
+      Char_t   ring = (ir == 0 ? 'I' : 'O');
+      UShort_t nsec = (ir == 0 ? 20  : 40);
+      UShort_t nstr = (ir == 0 ? 512 : 256);
+      
+      for(UShort_t sec =0; sec < nsec;  sec++) {
+       
+       for(UShort_t strip = 0; strip < nstr; strip++) {
+           
+         if(pars->IsDead(det,ring,sec,strip)) {
+           std::cout<<Form("FMD%d%c[%d,%d] is dead with gain %f and pedestal %f and noise %f",det,ring,sec,strip,pars->GetPulseGain(det,ring,sec,strip),pars->GetPedestal(det,ring,sec,strip),pars->GetPedestalWidth(det,ring,sec,strip) )<<std::endl;
+           nDead++;
+               
+         }
+         //  if((sec%2 ==0 && strip%128 == 0) || ((strip+1)%128 == 0 && sec%2!=0))
+         //  std::cout<<pars->GetPulseGain(det,ring,sec,strip)<<std::endl;
+       }
+      }
+    }
+  }
+  
+  Float_t reldead = (Float_t)nDead / 51200.;
+  
+  std::cout<<Form("Found %d dead channels or %f percent",nDead,100*reldead)<<std::endl;
+
+}