#if !defined( __CINT__) || defined(__MAKECINT__)
#include <iostream>
#include <AliCDBManager.h>
#include <AliCDBStorage.h>
#include <AliCDBEntry.h>
#include <AliCDBMetaData.h>
#include "AliTRDgeometry.h"
#include "AliTRDCalDCS.h"
#include "AliTRDCalDCSFEE.h"
#endif
// ===================================================
// Modified version of the macro AliTRDCreateDummyCDB
// to create the default CDB object for the DCS
// data points
// Modifications done by Frederick Kramer 2010-05-11
// ===================================================
// Run numbers for the dummy file
const Int_t gkDummyRunBeg = 0;
const Int_t gkDummyRunEnd = 999999999;
AliCDBStorage *gStorLoc = 0;
//_____________________________________________________________________________
TMap* CreateDCSAliasMap(Int_t entries) {
// Creates a DCS structure
// The structure is the following:
// TMap (key --> value)
// <DCSAlias> --> <valueList>
// <DCSAlias> is a string
// <valueList> is a TObjArray of AliDCSValue
// An AliDCSValue consists of timestamp and a value in form of a AliSimpleValue
// Each contains 1000 values randomly generated by TRandom::Gaus + 5*nAlias
TMap* aliasMap = new TMap;
aliasMap->SetOwner(1);
TRandom random;
for(int nAlias=0;nAlias<entries;nAlias++)
{
TObjArray* valueSet = new TObjArray;
valueSet->SetOwner(1);
TString aliasName="DCSAlias";
aliasName += nAlias;
//printf("\n\n alias: %s\n\n",aliasName.Data());
for (int timeStamp=0;timeStamp<1000;timeStamp+=10)
{
AliDCSValue* dcsVal = new AliDCSValue((Float_t) (random.Gaus()+5*nAlias), timeStamp);
//printf("%s\n",dcsVal->ToString().Data());
valueSet->Add(dcsVal);
}
aliasMap->Add(new TObjString(aliasName), valueSet);
}
return aliasMap;
}
//_____________________________________________________________________________
AliCDBMetaData *CreateMetaObject(const char *objectClassName)
{
AliCDBMetaData *md1= new AliCDBMetaData();
md1->SetObjectClassName(objectClassName);
md1->SetResponsible("Frederick Kramer");
md1->SetBeamPeriod(1);
md1->SetAliRootVersion("05-26-00b"); //root version
md1->SetComment("Ideal DCS DP CDB object");
return md1;
}
//_____________________________________________________________________________
void StoreObject(const char* cdbPath, AliTRDSensorArray* object, AliCDBMetaData* metaData)
{
AliCDBId id1(cdbPath,gkDummyRunBeg,gkDummyRunEnd);
gStorLoc->Put(object,id1,metaData);
}
//_____________________________________________________________________________
void AliTRDCreateDummyCDB_DP()
{
cout << endl
<< "TRD :: Creating dummy CDB for the runs "
<< gkDummyRunBeg
<< " -- "
<< gkDummyRunEnd
<< endl;
AliCDBManager *man = AliCDBManager::Instance();
gStorLoc = man->GetStorage("local://$ALICE_ROOT/OCDB");
if (!gStorLoc) {
return;
}
AliCDBMetaData *metaData = 0;
TObjArray* list = AliTRDSensorArray::GetList();
if (list == 0x0) {
printf("Error during AliTRDSensorArray::GetList\n");
printf("DCS will not be processing\n");
}
Int_t nEntries = list->GetEntries();
printf("%d alias loaded\n", nEntries);
Bool_t* results = new Bool_t [nEntries];
Int_t* nGraph = new Int_t [nEntries];
TMap* dcsAliasMap = CreateDCSAliasMap(nEntries);
for (Int_t iAlias = 0; iAlias < nEntries; iAlias++) {
AliTRDSensorArray * oneTRDDCS = (AliTRDSensorArray *)list->At(iAlias);
oneTRDDCS->SetStartTime(TTimeStamp (1000000000));
oneTRDDCS->SetEndTime(TTimeStamp (2000000000));
printf("Processing DCS : \"%s\"\n", oneTRDDCS->GetStoreName().Data());
TMap * map;
map = oneTRDDCS->ExtractDCS(dcsAliasMap);
nGraph[iAlias] = map->GetEntries();
oneTRDDCS->SetGraph(map);
char ocdbpath[256];
sprintf(ocdbpath, "TRD/Calib/%s", oneTRDDCS->GetStoreName().Data());
metaData = CreateMetaObject(oneTRDDCS->GetStoreName().Data());
StoreObject(ocdbpath, oneTRDDCS, metaData);
}
}
AliTRDCreateDummyCDB_DP.C:1 AliTRDCreateDummyCDB_DP.C:2 AliTRDCreateDummyCDB_DP.C:3 AliTRDCreateDummyCDB_DP.C:4 AliTRDCreateDummyCDB_DP.C:5 AliTRDCreateDummyCDB_DP.C:6 AliTRDCreateDummyCDB_DP.C:7 AliTRDCreateDummyCDB_DP.C:8 AliTRDCreateDummyCDB_DP.C:9 AliTRDCreateDummyCDB_DP.C:10 AliTRDCreateDummyCDB_DP.C:11 AliTRDCreateDummyCDB_DP.C:12 AliTRDCreateDummyCDB_DP.C:13 AliTRDCreateDummyCDB_DP.C:14 AliTRDCreateDummyCDB_DP.C:15 AliTRDCreateDummyCDB_DP.C:16 AliTRDCreateDummyCDB_DP.C:17 AliTRDCreateDummyCDB_DP.C:18 AliTRDCreateDummyCDB_DP.C:19 AliTRDCreateDummyCDB_DP.C:20 AliTRDCreateDummyCDB_DP.C:21 AliTRDCreateDummyCDB_DP.C:22 AliTRDCreateDummyCDB_DP.C:23 AliTRDCreateDummyCDB_DP.C:24 AliTRDCreateDummyCDB_DP.C:25 AliTRDCreateDummyCDB_DP.C:26 AliTRDCreateDummyCDB_DP.C:27 AliTRDCreateDummyCDB_DP.C:28 AliTRDCreateDummyCDB_DP.C:29 AliTRDCreateDummyCDB_DP.C:30 AliTRDCreateDummyCDB_DP.C:31 AliTRDCreateDummyCDB_DP.C:32 AliTRDCreateDummyCDB_DP.C:33 AliTRDCreateDummyCDB_DP.C:34 AliTRDCreateDummyCDB_DP.C:35 AliTRDCreateDummyCDB_DP.C:36 AliTRDCreateDummyCDB_DP.C:37 AliTRDCreateDummyCDB_DP.C:38 AliTRDCreateDummyCDB_DP.C:39 AliTRDCreateDummyCDB_DP.C:40 AliTRDCreateDummyCDB_DP.C:41 AliTRDCreateDummyCDB_DP.C:42 AliTRDCreateDummyCDB_DP.C:43 AliTRDCreateDummyCDB_DP.C:44 AliTRDCreateDummyCDB_DP.C:45 AliTRDCreateDummyCDB_DP.C:46 AliTRDCreateDummyCDB_DP.C:47 AliTRDCreateDummyCDB_DP.C:48 AliTRDCreateDummyCDB_DP.C:49 AliTRDCreateDummyCDB_DP.C:50 AliTRDCreateDummyCDB_DP.C:51 AliTRDCreateDummyCDB_DP.C:52 AliTRDCreateDummyCDB_DP.C:53 AliTRDCreateDummyCDB_DP.C:54 AliTRDCreateDummyCDB_DP.C:55 AliTRDCreateDummyCDB_DP.C:56 AliTRDCreateDummyCDB_DP.C:57 AliTRDCreateDummyCDB_DP.C:58 AliTRDCreateDummyCDB_DP.C:59 AliTRDCreateDummyCDB_DP.C:60 AliTRDCreateDummyCDB_DP.C:61 AliTRDCreateDummyCDB_DP.C:62 AliTRDCreateDummyCDB_DP.C:63 AliTRDCreateDummyCDB_DP.C:64 AliTRDCreateDummyCDB_DP.C:65 AliTRDCreateDummyCDB_DP.C:66 AliTRDCreateDummyCDB_DP.C:67 AliTRDCreateDummyCDB_DP.C:68 AliTRDCreateDummyCDB_DP.C:69 AliTRDCreateDummyCDB_DP.C:70 AliTRDCreateDummyCDB_DP.C:71 AliTRDCreateDummyCDB_DP.C:72 AliTRDCreateDummyCDB_DP.C:73 AliTRDCreateDummyCDB_DP.C:74 AliTRDCreateDummyCDB_DP.C:75 AliTRDCreateDummyCDB_DP.C:76 AliTRDCreateDummyCDB_DP.C:77 AliTRDCreateDummyCDB_DP.C:78 AliTRDCreateDummyCDB_DP.C:79 AliTRDCreateDummyCDB_DP.C:80 AliTRDCreateDummyCDB_DP.C:81 AliTRDCreateDummyCDB_DP.C:82 AliTRDCreateDummyCDB_DP.C:83 AliTRDCreateDummyCDB_DP.C:84 AliTRDCreateDummyCDB_DP.C:85 AliTRDCreateDummyCDB_DP.C:86 AliTRDCreateDummyCDB_DP.C:87 AliTRDCreateDummyCDB_DP.C:88 AliTRDCreateDummyCDB_DP.C:89 AliTRDCreateDummyCDB_DP.C:90 AliTRDCreateDummyCDB_DP.C:91 AliTRDCreateDummyCDB_DP.C:92 AliTRDCreateDummyCDB_DP.C:93 AliTRDCreateDummyCDB_DP.C:94 AliTRDCreateDummyCDB_DP.C:95 AliTRDCreateDummyCDB_DP.C:96 AliTRDCreateDummyCDB_DP.C:97 AliTRDCreateDummyCDB_DP.C:98 AliTRDCreateDummyCDB_DP.C:99 AliTRDCreateDummyCDB_DP.C:100 AliTRDCreateDummyCDB_DP.C:101 AliTRDCreateDummyCDB_DP.C:102 AliTRDCreateDummyCDB_DP.C:103 AliTRDCreateDummyCDB_DP.C:104 AliTRDCreateDummyCDB_DP.C:105 AliTRDCreateDummyCDB_DP.C:106 AliTRDCreateDummyCDB_DP.C:107 AliTRDCreateDummyCDB_DP.C:108 AliTRDCreateDummyCDB_DP.C:109 AliTRDCreateDummyCDB_DP.C:110 AliTRDCreateDummyCDB_DP.C:111 AliTRDCreateDummyCDB_DP.C:112 AliTRDCreateDummyCDB_DP.C:113 AliTRDCreateDummyCDB_DP.C:114 AliTRDCreateDummyCDB_DP.C:115 AliTRDCreateDummyCDB_DP.C:116 AliTRDCreateDummyCDB_DP.C:117 AliTRDCreateDummyCDB_DP.C:118 AliTRDCreateDummyCDB_DP.C:119 AliTRDCreateDummyCDB_DP.C:120 AliTRDCreateDummyCDB_DP.C:121 AliTRDCreateDummyCDB_DP.C:122 AliTRDCreateDummyCDB_DP.C:123 AliTRDCreateDummyCDB_DP.C:124 AliTRDCreateDummyCDB_DP.C:125 AliTRDCreateDummyCDB_DP.C:126 AliTRDCreateDummyCDB_DP.C:127 AliTRDCreateDummyCDB_DP.C:128 AliTRDCreateDummyCDB_DP.C:129 AliTRDCreateDummyCDB_DP.C:130 AliTRDCreateDummyCDB_DP.C:131 AliTRDCreateDummyCDB_DP.C:132 AliTRDCreateDummyCDB_DP.C:133 AliTRDCreateDummyCDB_DP.C:134 AliTRDCreateDummyCDB_DP.C:135 AliTRDCreateDummyCDB_DP.C:136 AliTRDCreateDummyCDB_DP.C:137 AliTRDCreateDummyCDB_DP.C:138 AliTRDCreateDummyCDB_DP.C:139 AliTRDCreateDummyCDB_DP.C:140 AliTRDCreateDummyCDB_DP.C:141 AliTRDCreateDummyCDB_DP.C:142 AliTRDCreateDummyCDB_DP.C:143 AliTRDCreateDummyCDB_DP.C:144 AliTRDCreateDummyCDB_DP.C:145 AliTRDCreateDummyCDB_DP.C:146 AliTRDCreateDummyCDB_DP.C:147 AliTRDCreateDummyCDB_DP.C:148 AliTRDCreateDummyCDB_DP.C:149 AliTRDCreateDummyCDB_DP.C:150