]>
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" | |
aa617684 | 15 | #include "AliTRDCalFEE.h" |
7754cd1f | 16 | |
7754cd1f | 17 | #include "AliTRDCalChamberStatus.h" |
7754cd1f | 18 | #include "AliTRDCalPadStatus.h" |
19 | #include "AliTRDCalSingleChamberStatus.h" | |
20 | ||
21 | #include "AliTRDCalPIDLQ.h" | |
22 | #include "AliTRDCalMonitoring.h" | |
23 | ||
24 | #endif | |
25 | ||
ec9303f8 | 26 | // Run numbers for the dummy file |
27 | const Int_t gkDummyRunBeg = 0; | |
28 | const Int_t gkDummyRunEnd = 999999999; | |
29 | AliCDBStorage *gStorLoc = 0; | |
7754cd1f | 30 | |
d4c6453d | 31 | //_____________________________________________________________________________ |
32 | TObject *CreatePadObject(const char *shortName, const char *description | |
33 | , Float_t value) | |
7754cd1f | 34 | { |
d4c6453d | 35 | |
7754cd1f | 36 | AliTRDCalPad *calPad = new AliTRDCalPad(shortName, description); |
d4c6453d | 37 | for (Int_t det = 0; det < AliTRDgeometry::kNdet; ++det) { |
7754cd1f | 38 | AliTRDCalROC *calROC = calPad->GetCalROC(det); |
d4c6453d | 39 | for (Int_t channel = 0; channel < calROC->GetNchannels(); ++channel) { |
7754cd1f | 40 | calROC->SetValue(channel, value); |
d4c6453d | 41 | } |
7754cd1f | 42 | } |
43 | return calPad; | |
d4c6453d | 44 | |
7754cd1f | 45 | } |
46 | ||
d4c6453d | 47 | //_____________________________________________________________________________ |
48 | TObject *CreateDetObject(const char *shortName, const char *description | |
49 | , Float_t value) | |
7754cd1f | 50 | { |
d4c6453d | 51 | |
7754cd1f | 52 | AliTRDCalDet *object = new AliTRDCalDet(shortName, description); |
d4c6453d | 53 | for (Int_t det = 0; det < AliTRDgeometry::kNdet; ++det) { |
7754cd1f | 54 | object->SetValue(det, value); |
d4c6453d | 55 | } |
7754cd1f | 56 | return object; |
d4c6453d | 57 | |
7754cd1f | 58 | } |
59 | ||
d4c6453d | 60 | //_____________________________________________________________________________ |
aa617684 | 61 | TObject *CreateFEEObject() |
7754cd1f | 62 | { |
d4c6453d | 63 | |
aa617684 | 64 | AliTRDCalFEE *object = new AliTRDCalFEE("FEE" |
65 | ,"TRD FEE calibration parameters"); | |
7754cd1f | 66 | |
9b5afbe3 | 67 | object->SetNumberOfTimeBins(24); |
d4c6453d | 68 | |
69 | object->SetTailCancelationTau1(0); | |
70 | object->SetTailCancelationTau2(0); | |
71 | object->SetTailCancelationAmp(0); | |
72 | ||
73 | object->SetPedestal(0); | |
d4c6453d | 74 | |
7754cd1f | 75 | return object; |
d4c6453d | 76 | |
7754cd1f | 77 | } |
78 | ||
d4c6453d | 79 | //_____________________________________________________________________________ |
80 | TObject *CreatePRFWidthObject() | |
7754cd1f | 81 | { |
d4c6453d | 82 | |
7754cd1f | 83 | AliTRDCalPad *calPad = new AliTRDCalPad("PRFWidth","PRFWidth"); |
d4c6453d | 84 | for (Int_t plane = 0; plane < AliTRDgeometry::kNplan; ++plane) { |
85 | ||
86 | Float_t value = 0.0; | |
87 | switch (plane) { | |
88 | case 0: | |
89 | value = 0.515; | |
90 | break; | |
91 | case 1: | |
92 | value = 0.502; | |
93 | break; | |
94 | case 2: | |
95 | value = 0.491; | |
96 | break; | |
97 | case 3: | |
98 | value = 0.481; | |
99 | break; | |
100 | case 4: | |
101 | value = 0.471; | |
102 | break; | |
103 | case 5: | |
104 | value = 0.463; | |
105 | break; | |
106 | default: | |
107 | cout << "CreatePRFWidthObject: UNEXPECTED" << endl; | |
108 | return 0; | |
7754cd1f | 109 | } |
d4c6453d | 110 | |
111 | for (Int_t chamber = 0; chamber < AliTRDgeometry::kNcham; ++chamber) { | |
112 | for (Int_t sector = 0; sector < AliTRDgeometry::kNsect; ++sector) { | |
113 | AliTRDCalROC *calROC = calPad->GetCalROC(plane,chamber,sector); | |
114 | for (Int_t channel = 0; channel < calROC->GetNchannels(); ++channel) { | |
7754cd1f | 115 | calROC->SetValue(channel, value); |
d4c6453d | 116 | } |
7754cd1f | 117 | } |
118 | } | |
d4c6453d | 119 | |
7754cd1f | 120 | } |
121 | ||
122 | return calPad; | |
7754cd1f | 123 | |
7754cd1f | 124 | } |
125 | ||
d4c6453d | 126 | //_____________________________________________________________________________ |
127 | AliTRDCalChamberStatus *CreateChamberStatusObject() | |
7754cd1f | 128 | { |
7754cd1f | 129 | |
d4c6453d | 130 | AliTRDCalChamberStatus *obj = new AliTRDCalChamberStatus("chamberstatus" |
131 | ,"chamberstatus"); | |
132 | ||
133 | for (Int_t i = 0; i < AliTRDgeometry::kNdet; ++i) { | |
7754cd1f | 134 | obj->SetStatus(i, AliTRDCalChamberStatus::kInstalled); |
d4c6453d | 135 | } |
7754cd1f | 136 | |
137 | return obj; | |
d4c6453d | 138 | |
7754cd1f | 139 | } |
140 | ||
d4c6453d | 141 | //_____________________________________________________________________________ |
142 | AliTRDCalPadStatus *CreatePadStatusObject() | |
7754cd1f | 143 | { |
d4c6453d | 144 | AliTRDCalPadStatus *obj = new AliTRDCalPadStatus("padstatus" |
145 | ,"padstatus"); | |
7754cd1f | 146 | |
147 | return obj; | |
d4c6453d | 148 | |
7754cd1f | 149 | } |
150 | ||
d4c6453d | 151 | //_____________________________________________________________________________ |
152 | AliTRDCalMonitoring *CreateMonitoringObject() | |
7754cd1f | 153 | { |
d4c6453d | 154 | AliTRDCalMonitoring *obj = new AliTRDCalMonitoring(); |
7754cd1f | 155 | |
156 | return obj; | |
d4c6453d | 157 | |
7754cd1f | 158 | } |
159 | ||
a2348794 | 160 | //_____________________________________________________________________________ |
161 | TClonesArray* CreateRecoParamObject() | |
162 | { | |
163 | TClonesArray *recos = new TClonesArray("AliTRDrecoParam", 3); | |
164 | recos->SetOwner(kTRUE); | |
165 | ||
166 | AliTRDrecoParam *rec = 0x0; | |
167 | AliTRDrecoParam *reco = new((*recos)[0]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetLowFluxParam())); | |
168 | delete rec; | |
169 | // further settings for low flux reco param | |
170 | // reco->SetThisAndThat() | |
171 | ||
172 | reco = new((*recos)[1]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetHighFluxParam())); | |
173 | delete rec; | |
174 | ||
175 | reco = new((*recos)[2]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetCosmicTestParam())); | |
176 | delete rec; | |
177 | ||
178 | return recos; | |
179 | ||
180 | } | |
181 | ||
d4c6453d | 182 | //_____________________________________________________________________________ |
183 | AliCDBMetaData *CreateMetaObject(const char *objectClassName) | |
7754cd1f | 184 | { |
d4c6453d | 185 | |
7754cd1f | 186 | AliCDBMetaData *md1= new AliCDBMetaData(); |
187 | md1->SetObjectClassName(objectClassName); | |
f777d98f | 188 | md1->SetResponsible("Christoph Blume"); |
7754cd1f | 189 | md1->SetBeamPeriod(1); |
f777d98f | 190 | md1->SetAliRootVersion("05-16-00"); //root version |
191 | md1->SetComment("Ideal calibration values"); | |
7754cd1f | 192 | |
193 | return md1; | |
d4c6453d | 194 | |
7754cd1f | 195 | } |
196 | ||
d4c6453d | 197 | //_____________________________________________________________________________ |
198 | void StoreObject(const char *cdbPath, TObject *object, AliCDBMetaData *metaData) | |
7754cd1f | 199 | { |
d4c6453d | 200 | |
ec9303f8 | 201 | AliCDBId id1(cdbPath,gkDummyRunBeg,gkDummyRunEnd); |
d4c6453d | 202 | gStorLoc->Put(object,id1,metaData); |
203 | ||
7754cd1f | 204 | } |
205 | ||
a2348794 | 206 | |
d4c6453d | 207 | //_____________________________________________________________________________ |
7754cd1f | 208 | void AliTRDCreateDummyCDB() |
209 | { | |
d4c6453d | 210 | |
211 | cout << endl | |
ec9303f8 | 212 | << "TRD :: Creating dummy CDB for the runs " |
213 | << gkDummyRunBeg | |
214 | << " -- " | |
215 | << gkDummyRunEnd | |
d4c6453d | 216 | << endl; |
7754cd1f | 217 | |
218 | AliCDBManager *man = AliCDBManager::Instance(); | |
219 | gStorLoc = man->GetStorage("local://$ALICE_ROOT"); | |
d4c6453d | 220 | if (!gStorLoc) { |
7754cd1f | 221 | return; |
d4c6453d | 222 | } |
7754cd1f | 223 | |
d4c6453d | 224 | TObject *obj = 0; |
225 | AliCDBMetaData *metaData = 0; | |
a2348794 | 226 | |
227 | // | |
228 | // Reco Param Object | |
229 | // | |
230 | ||
231 | metaData= new AliCDBMetaData(); | |
232 | metaData->SetObjectClassName("TClonesArray"); | |
233 | metaData->SetResponsible("Alexandru Bercuci"); | |
234 | metaData->SetBeamPeriod(1); | |
235 | metaData->SetAliRootVersion("05-19-04"); //root version | |
236 | metaData->SetComment("Ideal reconstruction parameters for low, high and cosmic runs"); | |
237 | StoreObject("TRD/Calib/RecoParam",CreateRecoParamObject(),metaData); | |
238 | return; | |
239 | ||
d4c6453d | 240 | // |
241 | // Pad objects | |
242 | // | |
243 | ||
244 | metaData = CreateMetaObject("AliTRDCalPad"); | |
245 | ||
9b5afbe3 | 246 | obj = CreatePadObject("LocalVdrift" ,"TRD drift velocities (local variations)",1); |
247 | StoreObject("TRD/Calib/LocalVdrift" ,obj,metaData); | |
7754cd1f | 248 | |
8d786fb8 | 249 | obj = CreatePadObject("LocalT0" ,"T0 (local variations)",0); |
d4c6453d | 250 | StoreObject("TRD/Calib/LocalT0" ,obj,metaData); |
7754cd1f | 251 | |
9b5afbe3 | 252 | obj = CreatePadObject("GainFactor" ,"GainFactor (local variations)",1); |
253 | StoreObject("TRD/Calib/LocalGainFactor" ,obj,metaData); | |
7754cd1f | 254 | |
9b5afbe3 | 255 | obj = CreatePRFWidthObject(); |
256 | StoreObject("TRD/Calib/PRFWidth" ,obj,metaData); | |
d4c6453d | 257 | |
258 | // | |
259 | // Detector objects | |
260 | // | |
7754cd1f | 261 | |
262 | metaData = CreateMetaObject("AliTRDCalDet"); | |
263 | ||
9b5afbe3 | 264 | obj = CreateDetObject("ChamberVdrift" ,"TRD drift velocities (detector value)", 1.5); |
265 | StoreObject("TRD/Calib/ChamberVdrift" ,obj,metaData); | |
7754cd1f | 266 | |
8d786fb8 | 267 | obj = CreateDetObject("ChamberT0" ,"T0 (detector value)",0); |
d4c6453d | 268 | StoreObject("TRD/Calib/ChamberT0" ,obj,metaData); |
7754cd1f | 269 | |
9b5afbe3 | 270 | obj = CreateDetObject("ChamberGainFactor" ,"GainFactor (detector value)", 1); |
271 | StoreObject("TRD/Calib/ChamberGainFactor" ,obj,metaData); | |
7754cd1f | 272 | |
d4c6453d | 273 | // |
aa617684 | 274 | // FEE object |
d4c6453d | 275 | // |
276 | ||
aa617684 | 277 | metaData = CreateMetaObject("AliTRDCalFEE"); |
278 | obj = CreateFEEObject(); | |
279 | StoreObject("TRD/Calib/FEE" ,obj,metaData); | |
7754cd1f | 280 | |
d4c6453d | 281 | // |
282 | // Status objects | |
283 | // | |
7754cd1f | 284 | |
9b5afbe3 | 285 | metaData = CreateMetaObject("AliTRDCalChamberStatus"); |
286 | obj = CreateChamberStatusObject(); | |
287 | StoreObject("TRD/Calib/ChamberStatus" ,obj,metaData); | |
7754cd1f | 288 | |
9b5afbe3 | 289 | metaData = CreateMetaObject("AliTRDCalPadStatus"); |
290 | obj = CreatePadStatusObject(); | |
291 | StoreObject("TRD/Calib/PadStatus" ,obj,metaData); | |
7754cd1f | 292 | |
d4c6453d | 293 | // |
294 | // Monitoring object | |
295 | // | |
7754cd1f | 296 | |
9b5afbe3 | 297 | metaData = CreateMetaObject("AliTRDCalMonitoring"); |
298 | obj = CreateMonitoringObject(); | |
299 | StoreObject("TRD/Calib/MonitoringData" ,obj,metaData); | |
d4c6453d | 300 | |
7754cd1f | 301 | } |