]>
Commit | Line | Data |
---|---|---|
7754cd1f | 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" | |
7754cd1f | 13 | #include "AliTRDCalPad.h" |
14 | #include "AliTRDCalDet.h" | |
15 | #include "AliTRDCalGlobals.h" | |
16 | ||
17 | #include "AliTRDCalSuperModuleStatus.h" | |
18 | #include "AliTRDCalChamberStatus.h" | |
19 | #include "AliTRDCalMCMStatus.h" | |
20 | #include "AliTRDCalPadStatus.h" | |
21 | #include "AliTRDCalSingleChamberStatus.h" | |
22 | ||
23 | #include "AliTRDCalPIDLQ.h" | |
24 | #include "AliTRDCalMonitoring.h" | |
25 | ||
26 | #endif | |
27 | ||
28 | // run number for the dummy file | |
29 | const Int_t gkDummyRun = 0; | |
30 | AliCDBStorage* gStorLoc = 0; | |
31 | ||
32 | TObject* CreatePadObject(const char* shortName, const char* description, Float_t value) | |
33 | { | |
34 | AliTRDCalPad *calPad = new AliTRDCalPad(shortName, description); | |
35 | for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det) | |
36 | { | |
37 | AliTRDCalROC *calROC = calPad->GetCalROC(det); | |
38 | for (Int_t channel=0; channel<calROC->GetNchannels(); ++channel) | |
39 | calROC->SetValue(channel, value); | |
40 | } | |
41 | return calPad; | |
42 | } | |
43 | ||
44 | TObject* CreateDetObject(const char* shortName, const char* description, Float_t value) | |
45 | { | |
46 | AliTRDCalDet *object = new AliTRDCalDet(shortName, description); | |
47 | for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det) | |
48 | object->SetValue(det, value); | |
49 | return object; | |
50 | } | |
51 | ||
52 | TObject* CreateGlobalsObject() | |
53 | { | |
54 | AliTRDCalGlobals *object = new AliTRDCalGlobals("Globals", "Global TRD calibration parameters"); | |
55 | ||
56 | object->SetSamplingFrequency(10.0); | |
57 | object->SetNumberOfTimeBins(22); | |
58 | ||
59 | return object; | |
60 | } | |
61 | ||
7754cd1f | 62 | TObject* CreatePRFWidthObject() |
63 | { | |
64 | AliTRDCalPad *calPad = new AliTRDCalPad("PRFWidth","PRFWidth"); | |
65 | for (Int_t plane=0; plane<AliTRDgeometry::kNplan; ++plane) | |
66 | { | |
67 | Float_t value = 0; | |
68 | switch (plane) | |
69 | { | |
70 | case 0: value = 0.515; break; | |
71 | case 1: value = 0.502; break; | |
72 | case 2: value = 0.491; break; | |
73 | case 3: value = 0.481; break; | |
74 | case 4: value = 0.471; break; | |
75 | case 5: value = 0.463; break; | |
76 | default: cout << "CreatePRFWidthObject: UNEXPECTED" << endl; return 0; | |
77 | } | |
78 | for (Int_t chamber=0; chamber<AliTRDgeometry::kNcham; ++chamber) | |
79 | { | |
80 | for (Int_t sector=0; sector<AliTRDgeometry::kNsect; ++sector) | |
81 | { | |
82 | AliTRDCalROC *calROC = calPad->GetCalROC(plane, chamber, sector); | |
83 | for (Int_t channel=0; channel<calROC->GetNchannels(); ++channel) | |
84 | calROC->SetValue(channel, value); | |
85 | } | |
86 | } | |
87 | } | |
88 | ||
89 | return calPad; | |
90 | } | |
91 | ||
92 | AliTRDCalSuperModuleStatus* CreateSuperModuleStatusObject() | |
93 | { | |
94 | AliTRDCalSuperModuleStatus* obj = new AliTRDCalSuperModuleStatus("supermodulestatus", "supermodulestatus"); | |
95 | ||
96 | for (Int_t i=0; i<AliTRDgeometry::kNsect; ++i) | |
97 | obj->SetStatus(i, AliTRDCalSuperModuleStatus::kInstalled); | |
98 | ||
99 | return obj; | |
100 | } | |
101 | ||
102 | AliTRDCalChamberStatus* CreateChamberStatusObject() | |
103 | { | |
104 | AliTRDCalChamberStatus* obj = new AliTRDCalChamberStatus("chamberstatus", "chamberstatus"); | |
105 | ||
106 | for (Int_t i=0; i<AliTRDgeometry::kNdet; ++i) | |
107 | obj->SetStatus(i, AliTRDCalChamberStatus::kInstalled); | |
108 | ||
109 | return obj; | |
110 | } | |
111 | ||
112 | AliTRDCalMCMStatus* CreateMCMStatusObject() | |
113 | { | |
114 | AliTRDCalMCMStatus* obj = new AliTRDCalMCMStatus("mcmstatus", "mcmstatus"); | |
115 | ||
116 | return obj; | |
117 | } | |
118 | ||
119 | AliTRDCalPadStatus* CreatePadStatusObject() | |
120 | { | |
121 | AliTRDCalPadStatus* obj = new AliTRDCalPadStatus("padstatus", "padstatus"); | |
122 | ||
123 | return obj; | |
124 | } | |
125 | ||
126 | AliTRDCalPIDLQ* CreatePIDLQObject() | |
127 | { | |
128 | AliTRDCalPIDLQ* pid = new AliTRDCalPIDLQ("pidobject", "pidobject"); | |
129 | pid->ReadData("$ALICE_ROOT/TRD/TRDdEdxHistogramsV1.root"); | |
130 | pid->SetMeanChargeRatio(1.0); // The factor is the ratio of Mean of pi charge dist. | |
131 | // for the New TRD code divided by the Mean of pi charge | |
132 | // dist. given in AliTRDCalPIDLQ object | |
133 | ||
134 | return pid; | |
135 | } | |
136 | ||
137 | AliTRDCalMonitoring* CreateMonitoringObject() | |
138 | { | |
139 | AliTRDCalMonitoring* obj = new AliTRDCalMonitoring(); | |
140 | ||
141 | return obj; | |
142 | } | |
143 | ||
144 | AliCDBMetaData* CreateMetaObject(const char* objectClassName) | |
145 | { | |
146 | AliCDBMetaData *md1= new AliCDBMetaData(); | |
147 | md1->SetObjectClassName(objectClassName); | |
148 | md1->SetResponsible("Jan Fiete Grosse-Oetringhaus"); | |
149 | md1->SetBeamPeriod(1); | |
150 | md1->SetAliRootVersion("05-06-00"); //root version | |
151 | md1->SetComment("The dummy values in this calibration file are for testing only"); | |
152 | ||
153 | return md1; | |
154 | } | |
155 | ||
156 | void StoreObject(const char* cdbPath, TObject* object, AliCDBMetaData* metaData) | |
157 | { | |
158 | AliCDBId id1(cdbPath, gkDummyRun, gkDummyRun); | |
159 | gStorLoc->Put(object, id1, metaData); | |
160 | } | |
161 | ||
162 | ||
163 | void AliTRDCreateDummyCDB() | |
164 | { | |
165 | cout << endl << "TRD :: Creating dummy CDB with event number " << gkDummyRun << endl; | |
166 | ||
167 | AliCDBManager *man = AliCDBManager::Instance(); | |
168 | gStorLoc = man->GetStorage("local://$ALICE_ROOT"); | |
169 | if (!gStorLoc) | |
170 | return; | |
171 | ||
172 | TObject* obj = 0; | |
173 | AliCDBMetaData* metaData = 0; | |
174 | ||
175 | metaData = CreateMetaObject("AliTRDCalPad"); | |
176 | ||
177 | obj = CreatePadObject("LocalVdrift","TRD drift velocities (local variations)", 1); | |
178 | StoreObject("TRD/Calib/LocalVdrift", obj, metaData); | |
179 | ||
180 | obj = CreatePadObject("LocalT0","T0 (local variations)", 1); | |
181 | StoreObject("TRD/Calib/LocalT0", obj, metaData); | |
182 | ||
183 | obj = CreatePadObject("GainFactor","GainFactor (local variations)", 1); | |
184 | StoreObject("TRD/Calib/LocalGainFactor", obj, metaData); | |
185 | ||
186 | obj = CreatePRFWidthObject(); | |
187 | StoreObject("TRD/Calib/PRFWidth", obj, metaData); | |
188 | ||
189 | metaData = CreateMetaObject("AliTRDCalDet"); | |
190 | ||
191 | obj = CreateDetObject("ChamberVdrift","TRD drift velocities (detector value)", 1.5); | |
192 | StoreObject("TRD/Calib/ChamberVdrift", obj, metaData); | |
193 | ||
194 | obj = CreateDetObject("ChamberT0","T0 (detector value)", 0); | |
195 | StoreObject("TRD/Calib/ChamberT0", obj, metaData); | |
196 | ||
197 | obj = CreateDetObject("ChamberGainFactor","GainFactor (detector value)", 1); | |
198 | StoreObject("TRD/Calib/ChamberGainFactor", obj, metaData); | |
199 | ||
200 | metaData = CreateMetaObject("AliTRDCalGlobals"); | |
201 | obj = CreateGlobalsObject(); | |
202 | StoreObject("TRD/Calib/Globals", obj, metaData); | |
203 | ||
7754cd1f | 204 | metaData = CreateMetaObject("AliTRDCalSuperModuleStatus"); |
205 | obj = CreateSuperModuleStatusObject(); | |
206 | StoreObject("TRD/Calib/SuperModuleStatus", obj, metaData); | |
207 | ||
208 | metaData = CreateMetaObject("AliTRDCalChamberStatus"); | |
209 | obj = CreateChamberStatusObject(); | |
210 | StoreObject("TRD/Calib/ChamberStatus", obj, metaData); | |
211 | ||
212 | metaData = CreateMetaObject("AliTRDCalMCMStatus"); | |
213 | obj = CreateMCMStatusObject(); | |
214 | StoreObject("TRD/Calib/MCMStatus", obj, metaData); | |
215 | ||
216 | metaData = CreateMetaObject("AliTRDCalPadStatus"); | |
217 | obj = CreatePadStatusObject(); | |
218 | StoreObject("TRD/Calib/PadStatus", obj, metaData); | |
219 | ||
220 | metaData = CreateMetaObject("AliTRDCalPIDLQ"); | |
221 | obj = CreatePIDLQObject(); | |
222 | StoreObject("TRD/Calib/PIDLQ", obj, metaData); | |
223 | ||
224 | metaData = CreateMetaObject("AliTRDCalMonitoring"); | |
225 | obj = CreateMonitoringObject(); | |
226 | StoreObject("TRD/Calib/MonitoringData", obj, metaData); | |
227 | } |