#if !defined( __CINT__) || defined(__MAKECINT__)
#include <iostream>
#include <vector>
#include <TChain.h>
#include <TFile.h>
#include <TTree.h>
#include <TString.h>
#include <TObject.h>
#include <TSystem.h>
#include <TH1F.h>
#include "AliCDBManager.h"
#include "AliCDBId.h"
#include "AliCDBStorage.h"
#include "AliCDBMetaData.h"
#include "AliTRDCalibra.h"
#include "AliTRDCalDet.h"
#endif
const Int_t firstrun = 0;
const Int_t lastrun = 0;
AliCDBStorage* gStorLoc = 0;
AliCDBMetaData* CreateMetaObject(const char* objectClassName);
void StoreObject(const char* cdbPath, TObject* object, AliCDBMetaData* metaData);
Bool_t WriteIntoDataBase(TTree *tree, Int_t i);
AliCDBMetaData* CreateMetaObject(const char* objectClassName)
{
AliCDBMetaData *md1= new AliCDBMetaData();
md1->SetObjectClassName(objectClassName);
md1->SetResponsible("Raphaelle Bailhache");
md1->SetBeamPeriod(1);
md1->SetAliRootVersion("05-06-00"); //root version
md1->SetComment("The dummy values in this calibration file are for testing only");
return md1;
}
void StoreObject(const char* cdbPath, TObject* object, AliCDBMetaData* metaData)
{
AliCDBId id1(cdbPath, firstrun, lastrun);
id1.SetVersion(0);
gStorLoc->Put(object, id1, metaData);
}
Bool_t AliTRDWriteIntoDataBase(TTree *tree, Int_t i){
//
// To use this macro, you have first to write the coefficients in a file
// To take the resulted tree from the file and to give it to this macro
// The macro will write the coefficient into a local database
// in the directory where you run it
//
AliTRDCalDet* obj1 = 0;
TObject* obj2 = 0;
AliCDBMetaData *metadata = 0;
//Single instance of AliCDBManager and AliTRDCalibra
AliCDBManager *man = AliCDBManager::Instance();
if (!man) {
printf("Could not get CDB Manager");
return kFALSE;
}
gStorLoc = man->GetDefaultStorage();
if (!gStorLoc) {
printf("Could not get default Storage");
return kFALSE;
}
AliTRDCalibra *calibra = AliTRDCalibra::Instance();
// Create the new database object Det
if(i != 2) {
obj1 = calibra->CreateDetObjectTree(tree, i);
obj2 = calibra->CreatePadObjectTree(tree, i, obj1);
}
if(i == 2) obj2 = calibra->CreatePadObjectTree(tree);
//Store the info for the detector
if(i != 2) {
metadata = CreateMetaObject("AliTRDCalDet");
if(i == 0) StoreObject("TRD/Calib/ChamberGainFactor",(TObject *) obj1, metadata);
if(i == 1) StoreObject("TRD/Calib/ChamberVdrift",(TObject *) obj1, metadata);
if(i == 3) StoreObject("TRD/Calib/ChamberT0",(TObject *) obj1, metadata);
}
//Store the info for the pad
metadata = CreateMetaObject("AliTRDCalPad");
if(i == 0) StoreObject("TRD/Calib/LocalGainFactor",(TObject *) obj2, metadata);
if(i == 1) StoreObject("TRD/Calib/LocalVdrift",(TObject *) obj2, metadata);
if(i == 3) StoreObject("TRD/Calib/LocalT0",(TObject *) obj2, metadata);
if(i == 2) StoreObject("TRD/Calib/PRFWidth",(TObject *) obj2, metadata);
return kTRUE;
}
AliTRDWriteIntoDataBase.C:1 AliTRDWriteIntoDataBase.C:2 AliTRDWriteIntoDataBase.C:3 AliTRDWriteIntoDataBase.C:4 AliTRDWriteIntoDataBase.C:5 AliTRDWriteIntoDataBase.C:6 AliTRDWriteIntoDataBase.C:7 AliTRDWriteIntoDataBase.C:8 AliTRDWriteIntoDataBase.C:9 AliTRDWriteIntoDataBase.C:10 AliTRDWriteIntoDataBase.C:11 AliTRDWriteIntoDataBase.C:12 AliTRDWriteIntoDataBase.C:13 AliTRDWriteIntoDataBase.C:14 AliTRDWriteIntoDataBase.C:15 AliTRDWriteIntoDataBase.C:16 AliTRDWriteIntoDataBase.C:17 AliTRDWriteIntoDataBase.C:18 AliTRDWriteIntoDataBase.C:19 AliTRDWriteIntoDataBase.C:20 AliTRDWriteIntoDataBase.C:21 AliTRDWriteIntoDataBase.C:22 AliTRDWriteIntoDataBase.C:23 AliTRDWriteIntoDataBase.C:24 AliTRDWriteIntoDataBase.C:25 AliTRDWriteIntoDataBase.C:26 AliTRDWriteIntoDataBase.C:27 AliTRDWriteIntoDataBase.C:28 AliTRDWriteIntoDataBase.C:29 AliTRDWriteIntoDataBase.C:30 AliTRDWriteIntoDataBase.C:31 AliTRDWriteIntoDataBase.C:32 AliTRDWriteIntoDataBase.C:33 AliTRDWriteIntoDataBase.C:34 AliTRDWriteIntoDataBase.C:35 AliTRDWriteIntoDataBase.C:36 AliTRDWriteIntoDataBase.C:37 AliTRDWriteIntoDataBase.C:38 AliTRDWriteIntoDataBase.C:39 AliTRDWriteIntoDataBase.C:40 AliTRDWriteIntoDataBase.C:41 AliTRDWriteIntoDataBase.C:42 AliTRDWriteIntoDataBase.C:43 AliTRDWriteIntoDataBase.C:44 AliTRDWriteIntoDataBase.C:45 AliTRDWriteIntoDataBase.C:46 AliTRDWriteIntoDataBase.C:47 AliTRDWriteIntoDataBase.C:48 AliTRDWriteIntoDataBase.C:49 AliTRDWriteIntoDataBase.C:50 AliTRDWriteIntoDataBase.C:51 AliTRDWriteIntoDataBase.C:52 AliTRDWriteIntoDataBase.C:53 AliTRDWriteIntoDataBase.C:54 AliTRDWriteIntoDataBase.C:55 AliTRDWriteIntoDataBase.C:56 AliTRDWriteIntoDataBase.C:57 AliTRDWriteIntoDataBase.C:58 AliTRDWriteIntoDataBase.C:59 AliTRDWriteIntoDataBase.C:60 AliTRDWriteIntoDataBase.C:61 AliTRDWriteIntoDataBase.C:62 AliTRDWriteIntoDataBase.C:63 AliTRDWriteIntoDataBase.C:64 AliTRDWriteIntoDataBase.C:65 AliTRDWriteIntoDataBase.C:66 AliTRDWriteIntoDataBase.C:67 AliTRDWriteIntoDataBase.C:68 AliTRDWriteIntoDataBase.C:69 AliTRDWriteIntoDataBase.C:70 AliTRDWriteIntoDataBase.C:71 AliTRDWriteIntoDataBase.C:72 AliTRDWriteIntoDataBase.C:73 AliTRDWriteIntoDataBase.C:74 AliTRDWriteIntoDataBase.C:75 AliTRDWriteIntoDataBase.C:76 AliTRDWriteIntoDataBase.C:77 AliTRDWriteIntoDataBase.C:78 AliTRDWriteIntoDataBase.C:79 AliTRDWriteIntoDataBase.C:80 AliTRDWriteIntoDataBase.C:81 AliTRDWriteIntoDataBase.C:82 AliTRDWriteIntoDataBase.C:83 AliTRDWriteIntoDataBase.C:84 AliTRDWriteIntoDataBase.C:85 AliTRDWriteIntoDataBase.C:86 AliTRDWriteIntoDataBase.C:87 AliTRDWriteIntoDataBase.C:88 AliTRDWriteIntoDataBase.C:89 AliTRDWriteIntoDataBase.C:90 AliTRDWriteIntoDataBase.C:91 AliTRDWriteIntoDataBase.C:92 AliTRDWriteIntoDataBase.C:93 AliTRDWriteIntoDataBase.C:94 AliTRDWriteIntoDataBase.C:95 AliTRDWriteIntoDataBase.C:96 AliTRDWriteIntoDataBase.C:97 AliTRDWriteIntoDataBase.C:98 AliTRDWriteIntoDataBase.C:99 AliTRDWriteIntoDataBase.C:100 AliTRDWriteIntoDataBase.C:101 AliTRDWriteIntoDataBase.C:102 AliTRDWriteIntoDataBase.C:103 AliTRDWriteIntoDataBase.C:104 AliTRDWriteIntoDataBase.C:105 AliTRDWriteIntoDataBase.C:106 AliTRDWriteIntoDataBase.C:107 AliTRDWriteIntoDataBase.C:108