2 // Create OCDB object for ZDC pedestal
3 const char* macroname = "MakeZDCChMapCalib.C";
5 const int kNch=48; //const int kNScch=32;
6 Int_t readMap[kNch][6];
9 if((file = fopen("./ShuttleInput/ZDCChMapping.dat","r")) != NULL){
10 for(Int_t j=0; j<kNch; j++){
11 for(Int_t k=0; k<6; k++){
12 int read = fscanf(file,"%d",&readMap[j][k]);
13 if(read == 0) printf(" Failing in reading data from mapping file\n");
19 AliZDCChMap *mapCalib = new AliZDCChMap();
20 for(Int_t k=0; k<kNch; k++){
21 mapCalib->SetADCModule(k,readMap[k][1]);
22 mapCalib->SetADCChannel(k,readMap[k][2]);
23 mapCalib->SetDetector(k,readMap[k][4]);
24 mapCalib->SetSector(k,readMap[k][5]);
27 if( TString(gSystem->Getenv("TOCDB")) != TString("kTRUE") ){
29 const char* filename = "ZDCChMap.root";
30 TFile f(filename, "RECREATE");
32 Error(macroname,"cannot open file for output\n");
35 Info(macroname,"Saving alignment objects to the file %s", filename);
37 f.WriteObject(mapCalib,"ZDCPedestals","kSingleKey");
41 // save in CDB storage
42 TString Storage = gSystem->Getenv("STORAGE");
43 if(!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) {
44 Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data());
47 Info(macroname,"Saving alignment objects in CDB storage %s", Storage.Data());
48 AliCDBManager* cdb = AliCDBManager::Instance();
49 AliCDBStorage* storage = cdb->GetStorage(Storage.Data());
51 Error(macroname,"Unable to open storage %s\n",Storage.Data());
54 AliCDBMetaData* md = new AliCDBMetaData();
55 md->SetResponsible("Chiara Oppedisano");
56 md->SetComment("Calibration objects for ZDC mapping");
57 md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
58 md->SetObjectClassName("AliZDCPedestals");
59 AliCDBId id("ZDC/Calib/ChMap",0,AliCDBRunRange::Infinity());
60 storage->Put(mapCalib,id,md);