#if !defined( __CINT__) || defined(__MAKECINT__) #include #include #include #include #include #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) // --> // is a string // 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;nAliasSetOwner(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); } }