]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/Cal/AliTRDCreateDummyCDB.C
Changes by Theodor: Speed up of clusterizer, fix of five pad cluster unfolding, faste...
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCreateDummyCDB.C
CommitLineData
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
27const Int_t gkDummyRunBeg = 0;
28const Int_t gkDummyRunEnd = 999999999;
29AliCDBStorage *gStorLoc = 0;
7754cd1f 30
d4c6453d 31//_____________________________________________________________________________
32TObject *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//_____________________________________________________________________________
48TObject *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 61TObject *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//_____________________________________________________________________________
80TObject *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//_____________________________________________________________________________
127AliTRDCalChamberStatus *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//_____________________________________________________________________________
142AliTRDCalPadStatus *CreatePadStatusObject()
7754cd1f 143{
d4c6453d 144 AliTRDCalPadStatus *obj = new AliTRDCalPadStatus("padstatus"
145 ,"padstatus");
7754cd1f 146
147 return obj;
d4c6453d 148
7754cd1f 149}
150
d4c6453d 151//_____________________________________________________________________________
152AliTRDCalMonitoring *CreateMonitoringObject()
7754cd1f 153{
d4c6453d 154 AliTRDCalMonitoring *obj = new AliTRDCalMonitoring();
7754cd1f 155
156 return obj;
d4c6453d 157
7754cd1f 158}
159
a2348794 160//_____________________________________________________________________________
161TClonesArray* 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//_____________________________________________________________________________
183AliCDBMetaData *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//_____________________________________________________________________________
198void 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 208void 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}