]>
Commit | Line | Data |
---|---|---|
3551db50 | 1 | #if !defined( __CINT__) || defined(__MAKECINT__) |
2 | ||
3 | #include <iostream> | |
4 | ||
5 | #include <AliCDBManager.h> | |
6 | #include <AliCDBStorage.h> | |
7 | #include <AliCDBEntry.h> | |
8 | #include <AliCDBMetaData.h> | |
9 | ||
10 | #include "AliTRDgeometry.h" | |
11 | ||
12 | #include "AliTRDCalROC.h" | |
13 | #include "AliTRDCalChamber.h" | |
14 | #include "AliTRDCalStack.h" | |
15 | #include "AliTRDCalPad.h" | |
16 | #include "AliTRDCalDet.h" | |
17 | #include "AliTRDCalGlobals.h" | |
18 | ||
19 | #endif | |
20 | ||
21 | // run number for the dummy file | |
22 | const Int_t gkDummyRun = 0; | |
23 | AliCDBStorage* gStorLoc = 0; | |
24 | ||
25 | TObject* CreatePadObject(const char* shortName, const char* description, Float_t value) | |
26 | { | |
27 | AliTRDCalPad *calPad = new AliTRDCalPad(shortName, description); | |
28 | for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det) | |
29 | { | |
30 | AliTRDCalROC *calROC = calPad->GetCalROC(det); | |
31 | for (Int_t channel=0; channel<calROC->GetNchannels(); ++channel) | |
32 | calROC->SetValue(channel, value); | |
33 | } | |
34 | return calPad; | |
35 | } | |
36 | ||
37 | TObject* CreateDetObject(const char* shortName, const char* description, Float_t value) | |
38 | { | |
39 | AliTRDCalDet *object = new AliTRDCalDet(shortName, description); | |
40 | for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det) | |
41 | object->SetValue(det, value); | |
42 | return object; | |
43 | } | |
44 | ||
45 | TObject* CreateGlobalsObject() | |
46 | { | |
47 | AliTRDCalGlobals *object = new AliTRDCalGlobals("Globals", "Global TRD calibration parameters"); | |
48 | ||
49 | object->SetSamplingFrequency(10.0); | |
50 | object->SetNumberOfTimeBins(22); | |
51 | ||
52 | return object; | |
53 | } | |
54 | ||
55 | TObject* CreateChamberObject() | |
56 | { | |
57 | AliTRDCalChamber *object = new AliTRDCalChamber("Chamber", "TRD chamber positions"); | |
58 | ||
59 | for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det) | |
60 | { | |
61 | object->SetPos(det, 0, 0, 0); | |
62 | object->SetRot(det, 0, 0, 0); | |
63 | } | |
64 | ||
65 | return object; | |
66 | } | |
67 | ||
68 | TObject* CreateStackObject() | |
69 | { | |
70 | AliTRDCalStack *object = new AliTRDCalStack("Stack", "TRD stack positions"); | |
71 | ||
72 | for (Int_t sect=0; sect<AliTRDgeometry::kNsect; ++sect) | |
73 | { | |
74 | for (Int_t chamber=0; chamber<AliTRDgeometry::kNcham; ++chamber) | |
75 | { | |
76 | object->SetPos(chamber, sect, 0, 0, 0); | |
77 | object->SetRot(chamber, sect, 0, 0, 0); | |
78 | } | |
79 | } | |
80 | ||
81 | return object; | |
82 | } | |
83 | ||
6270bbff | 84 | TObject* CreatePRFWidthObject() |
85 | { | |
86 | AliTRDCalPad *calPad = new AliTRDCalPad("PRFWidth","PRFWidth"); | |
87 | for (Int_t plane=0; plane<AliTRDgeometry::kNplan; ++plane) | |
88 | { | |
89 | Float_t value = 0; | |
90 | switch (plane) | |
91 | { | |
92 | case 0: value = 0.515; break; | |
93 | case 1: value = 0.502; break; | |
94 | case 2: value = 0.491; break; | |
95 | case 3: value = 0.481; break; | |
96 | case 4: value = 0.471; break; | |
97 | case 5: value = 0.463; break; | |
98 | default: cout << "CreatePRFWidthObject: UNEXPECTED" << endl; return 0; | |
99 | } | |
100 | for (Int_t chamber=0; chamber<AliTRDgeometry::kNcham; ++chamber) | |
101 | { | |
102 | for (Int_t sector=0; sector<AliTRDgeometry::kNsect; ++sector) | |
103 | { | |
104 | AliTRDCalROC *calROC = calPad->GetCalROC(plane, chamber, sector); | |
105 | for (Int_t channel=0; channel<calROC->GetNchannels(); ++channel) | |
106 | calROC->SetValue(channel, value); | |
107 | } | |
108 | } | |
109 | } | |
110 | ||
111 | return calPad; | |
112 | } | |
113 | ||
3551db50 | 114 | AliCDBMetaData* CreateMetaObject(const char* objectClassName) |
115 | { | |
116 | AliCDBMetaData *md1= new AliCDBMetaData(); | |
117 | md1->SetObjectClassName(objectClassName); | |
118 | md1->SetResponsible("Jan Fiete Grosse-Oetringhaus"); | |
119 | md1->SetBeamPeriod(1); | |
120 | md1->SetAliRootVersion("05-06-00"); //root version | |
121 | md1->SetComment("The dummy values in this calibration file are for testing only"); | |
122 | ||
123 | return md1; | |
124 | } | |
125 | ||
126 | void StoreObject(const char* cdbPath, TObject* object, AliCDBMetaData* metaData) | |
127 | { | |
128 | AliCDBId id1(cdbPath, gkDummyRun, gkDummyRun); | |
129 | gStorLoc->Put(object, id1, metaData); | |
130 | } | |
131 | ||
132 | ||
133 | void AliTRDCreateDummyCDB() | |
134 | { | |
135 | cout << endl << "TRD :: Creating dummy CDB with event number " << gkDummyRun << endl; | |
136 | ||
137 | AliCDBManager *man = AliCDBManager::Instance(); | |
138 | gStorLoc = man->GetStorage("local://$ALICE_ROOT"); | |
139 | if (!gStorLoc) | |
140 | return; | |
141 | ||
142 | TObject* obj = 0; | |
143 | AliCDBMetaData* metaData = 0; | |
144 | ||
145 | metaData = CreateMetaObject("AliTRDCalPad"); | |
146 | ||
147 | obj = CreatePadObject("LocalVdrift","TRD drift velocities (local variations)", 1); | |
148 | StoreObject("TRD/Calib/LocalVdrift", obj, metaData); | |
149 | ||
150 | obj = CreatePadObject("LocalT0","T0 (local variations)", 1); | |
151 | StoreObject("TRD/Calib/LocalT0", obj, metaData); | |
152 | ||
153 | obj = CreatePadObject("GainFactor","GainFactor", 1); | |
154 | StoreObject("TRD/Calib/GainFactor", obj, metaData); | |
155 | ||
6270bbff | 156 | obj = CreatePRFWidthObject(); |
3551db50 | 157 | StoreObject("TRD/Calib/PRFWidth", obj, metaData); |
158 | ||
159 | metaData = CreateMetaObject("AliTRDCalDet"); | |
160 | ||
161 | obj = CreateDetObject("ChamberVdrift","TRD drift velocities (detector value)", 1.5); | |
162 | StoreObject("TRD/Calib/ChamberVdrift", obj, metaData); | |
163 | ||
164 | obj = CreateDetObject("ChamberT0","T0 (detector value)", 0); | |
165 | StoreObject("TRD/Calib/ChamberT0", obj, metaData); | |
166 | ||
167 | metaData = CreateMetaObject("AliTRDCalGlobals"); | |
168 | obj = CreateGlobalsObject(); | |
169 | StoreObject("TRD/Calib/Globals", obj, metaData); | |
170 | ||
171 | metaData = CreateMetaObject("AliTRDCalChamber"); | |
172 | obj = CreateChamberObject(); | |
173 | StoreObject("TRD/Calib/Chamber", obj, metaData); | |
174 | ||
175 | metaData = CreateMetaObject("AliTRDCalStack"); | |
176 | obj = CreateStackObject(); | |
177 | StoreObject("TRD/Calib/Stack", obj, metaData); | |
178 | ||
179 | } |