ROOT logo
void MakePHOSBadMaps(){
  //Creates OADB entry with PHOS bad maps for different periods
  //You probably will need alien connection
  
  
  //Init Bad channels map
  AliOADBContainer badmapContainer(Form("phosBadMap"));

  TGrid::Connect("alien://") ;
  
  char key[55] ;
  //For the period LHC10b
  TObjArray * lhc10b = new TObjArray(5) ;
  lhc10b->SetName("LHC10b_pass1") ;
  TFile * fLHC10b = TFile::Open("alien:///alice/cern.ch/user/p/prsnko/BadMaps/BadMap_LHC10b.root") ;
  if(fLHC10b->IsOpen()){
    for(Int_t mod=1;mod<4; mod++){
      sprintf(key,"PHOS_BadMap_mod%d",mod) ;
      TH2I * h = (TH2I*)fLHC10b->Get(key) ;
      if(!h)
        lhc10b->AddAt(0x0,mod);
      else	
        lhc10b->AddAt(new TH2I(*h),mod) ;
    }
    badmapContainer.AppendObject(lhc10b,114737,117223) ;
  }

  //For the period LHC10h
  TObjArray * lhc10h1 = new TObjArray(5) ;
  lhc10h1->SetName("LHC10h_period1") ;
  TFile * fLHC10h1 = TFile::Open("alien:///alice/cern.ch/user/p/prsnko/BadMaps/BadMap_LHC10h_period1.root") ;
  if(fLHC10h1->IsOpen()){
    for(Int_t mod=1;mod<4; mod++){
      sprintf(key,"PHOS_BadMap_mod%d",mod) ;
      TH2I * h = (TH2I*)fLHC10h1->Get(key) ;
      if(!h)
        lhc10h1->AddAt(0x0,mod);
      else	
        lhc10h1->AddAt(new TH2I(*h),mod) ;
    }
    badmapContainer.AppendObject(lhc10h1,136851,137848) ;
  }
  TObjArray * lhc10h234 = new TObjArray(5) ;
  lhc10h234->SetName("LHC10h_period234") ;
  TFile * fLHC10h234 = TFile::Open("alien:///alice/cern.ch/user/p/prsnko/BadMaps/BadMap_LHC10h_period234.root") ;
  if(fLHC10h234->IsOpen()){
    for(Int_t mod=1;mod<4; mod++){
      sprintf(key,"PHOS_BadMap_mod%d",mod) ;
      TH2I * h = (TH2I*)fLHC10h234->Get(key) ;
      if(!h)
        lhc10h234->AddAt(0x0,mod);
      else	
        lhc10h234->AddAt(new TH2I(*h),mod) ;
    }
    badmapContainer.AppendObject(lhc10h234,138732,139517) ;
  }

  badmapContainer.WriteToFile("PHOSBadMaps.root");

 MakePHOSBadMaps.C:1
 MakePHOSBadMaps.C:2
 MakePHOSBadMaps.C:3
 MakePHOSBadMaps.C:4
 MakePHOSBadMaps.C:5
 MakePHOSBadMaps.C:6
 MakePHOSBadMaps.C:7
 MakePHOSBadMaps.C:8
 MakePHOSBadMaps.C:9
 MakePHOSBadMaps.C:10
 MakePHOSBadMaps.C:11
 MakePHOSBadMaps.C:12
 MakePHOSBadMaps.C:13
 MakePHOSBadMaps.C:14
 MakePHOSBadMaps.C:15
 MakePHOSBadMaps.C:16
 MakePHOSBadMaps.C:17
 MakePHOSBadMaps.C:18
 MakePHOSBadMaps.C:19
 MakePHOSBadMaps.C:20
 MakePHOSBadMaps.C:21
 MakePHOSBadMaps.C:22
 MakePHOSBadMaps.C:23
 MakePHOSBadMaps.C:24
 MakePHOSBadMaps.C:25
 MakePHOSBadMaps.C:26
 MakePHOSBadMaps.C:27
 MakePHOSBadMaps.C:28
 MakePHOSBadMaps.C:29
 MakePHOSBadMaps.C:30
 MakePHOSBadMaps.C:31
 MakePHOSBadMaps.C:32
 MakePHOSBadMaps.C:33
 MakePHOSBadMaps.C:34
 MakePHOSBadMaps.C:35
 MakePHOSBadMaps.C:36
 MakePHOSBadMaps.C:37
 MakePHOSBadMaps.C:38
 MakePHOSBadMaps.C:39
 MakePHOSBadMaps.C:40
 MakePHOSBadMaps.C:41
 MakePHOSBadMaps.C:42
 MakePHOSBadMaps.C:43
 MakePHOSBadMaps.C:44
 MakePHOSBadMaps.C:45
 MakePHOSBadMaps.C:46
 MakePHOSBadMaps.C:47
 MakePHOSBadMaps.C:48
 MakePHOSBadMaps.C:49
 MakePHOSBadMaps.C:50
 MakePHOSBadMaps.C:51
 MakePHOSBadMaps.C:52
 MakePHOSBadMaps.C:53
 MakePHOSBadMaps.C:54
 MakePHOSBadMaps.C:55
 MakePHOSBadMaps.C:56
 MakePHOSBadMaps.C:57
 MakePHOSBadMaps.C:58
 MakePHOSBadMaps.C:59
 MakePHOSBadMaps.C:60