1 #if !defined( __CINT__) || defined(__MAKECINT__)
5 #include <AliCDBManager.h>
6 #include <AliCDBStorage.h>
7 #include <AliCDBEntry.h>
8 #include <AliCDBMetaData.h>
10 #include "AliTRDgeometry.h"
12 #include "AliTRDCalROC.h"
13 #include "AliTRDCalChamber.h"
14 #include "AliTRDCalStack.h"
15 #include "AliTRDCalPad.h"
16 #include "AliTRDCalDet.h"
17 #include "AliTRDCalGlobals.h"
21 // run number for the dummy file
22 const Int_t gkDummyRun = 0;
23 AliCDBStorage* gStorLoc = 0;
25 TObject* CreatePadObject(const char* shortName, const char* description, Float_t value)
27 AliTRDCalPad *calPad = new AliTRDCalPad(shortName, description);
28 for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det)
30 AliTRDCalROC *calROC = calPad->GetCalROC(det);
31 for (Int_t channel=0; channel<calROC->GetNchannels(); ++channel)
32 calROC->SetValue(channel, value);
37 TObject* CreateDetObject(const char* shortName, const char* description, Float_t value)
39 AliTRDCalDet *object = new AliTRDCalDet(shortName, description);
40 for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det)
41 object->SetValue(det, value);
45 TObject* CreateGlobalsObject()
47 AliTRDCalGlobals *object = new AliTRDCalGlobals("Globals", "Global TRD calibration parameters");
49 object->SetSamplingFrequency(10.0);
50 object->SetNumberOfTimeBins(22);
55 TObject* CreateChamberObject()
57 AliTRDCalChamber *object = new AliTRDCalChamber("Chamber", "TRD chamber positions");
59 for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det)
61 object->SetPos(det, 0, 0, 0);
62 object->SetRot(det, 0, 0, 0);
68 TObject* CreateStackObject()
70 AliTRDCalStack *object = new AliTRDCalStack("Stack", "TRD stack positions");
72 for (Int_t sect=0; sect<AliTRDgeometry::kNsect; ++sect)
74 for (Int_t chamber=0; chamber<AliTRDgeometry::kNcham; ++chamber)
76 object->SetPos(chamber, sect, 0, 0, 0);
77 object->SetRot(chamber, sect, 0, 0, 0);
84 AliCDBMetaData* CreateMetaObject(const char* objectClassName)
86 AliCDBMetaData *md1= new AliCDBMetaData();
87 md1->SetObjectClassName(objectClassName);
88 md1->SetResponsible("Jan Fiete Grosse-Oetringhaus");
89 md1->SetBeamPeriod(1);
90 md1->SetAliRootVersion("05-06-00"); //root version
91 md1->SetComment("The dummy values in this calibration file are for testing only");
96 void StoreObject(const char* cdbPath, TObject* object, AliCDBMetaData* metaData)
98 AliCDBId id1(cdbPath, gkDummyRun, gkDummyRun);
99 gStorLoc->Put(object, id1, metaData);
103 void AliTRDCreateDummyCDB()
105 cout << endl << "TRD :: Creating dummy CDB with event number " << gkDummyRun << endl;
107 AliCDBManager *man = AliCDBManager::Instance();
108 gStorLoc = man->GetStorage("local://$ALICE_ROOT");
113 AliCDBMetaData* metaData = 0;
115 metaData = CreateMetaObject("AliTRDCalPad");
117 obj = CreatePadObject("LocalVdrift","TRD drift velocities (local variations)", 1);
118 StoreObject("TRD/Calib/LocalVdrift", obj, metaData);
120 obj = CreatePadObject("LocalT0","T0 (local variations)", 1);
121 StoreObject("TRD/Calib/LocalT0", obj, metaData);
123 obj = CreatePadObject("GainFactor","GainFactor", 1);
124 StoreObject("TRD/Calib/GainFactor", obj, metaData);
126 obj = CreatePadObject("PRFWidth","PRFWidth", 0);
127 StoreObject("TRD/Calib/PRFWidth", obj, metaData);
129 metaData = CreateMetaObject("AliTRDCalDet");
131 obj = CreateDetObject("ChamberVdrift","TRD drift velocities (detector value)", 1.5);
132 StoreObject("TRD/Calib/ChamberVdrift", obj, metaData);
134 obj = CreateDetObject("ChamberT0","T0 (detector value)", 0);
135 StoreObject("TRD/Calib/ChamberT0", obj, metaData);
137 metaData = CreateMetaObject("AliTRDCalGlobals");
138 obj = CreateGlobalsObject();
139 StoreObject("TRD/Calib/Globals", obj, metaData);
141 metaData = CreateMetaObject("AliTRDCalChamber");
142 obj = CreateChamberObject();
143 StoreObject("TRD/Calib/Chamber", obj, metaData);
145 metaData = CreateMetaObject("AliTRDCalStack");
146 obj = CreateStackObject();
147 StoreObject("TRD/Calib/Stack", obj, metaData);