]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/Cal/AliTRDCreateDummyCDB.C
Cleanup
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCreateDummyCDB.C
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 "AliTRDCalPad.h"
14 #include "AliTRDCalDet.h"
15 #include "AliTRDCalFEE.h"
16
17 #include "AliTRDCalChamberStatus.h"
18 #include "AliTRDCalPadStatus.h"
19 #include "AliTRDCalSingleChamberStatus.h"
20
21 #include "AliTRDCalPIDLQ.h"
22 #include "AliTRDCalMonitoring.h"
23
24 #endif
25
26 // Run numbers for the dummy file
27 const Int_t    gkDummyRunBeg = 0;
28 const Int_t    gkDummyRunEnd = 999999999;
29 AliCDBStorage *gStorLoc      = 0;
30
31 //_____________________________________________________________________________
32 TObject *CreatePadObject(const char *shortName, const char *description
33                        , Float_t value)
34 {
35
36   AliTRDCalPad *calPad = new AliTRDCalPad(shortName, description);
37   for (Int_t det = 0; det < AliTRDgeometry::kNdet; ++det) {
38     AliTRDCalROC *calROC = calPad->GetCalROC(det);
39     for (Int_t channel = 0; channel < calROC->GetNchannels(); ++channel) {
40       calROC->SetValue(channel, value);
41     }
42   }
43   return calPad;
44
45 }
46
47 //_____________________________________________________________________________
48 TObject *CreateDetObject(const char *shortName, const char *description
49                        , Float_t value)
50 {
51
52   AliTRDCalDet *object = new AliTRDCalDet(shortName, description);
53   for (Int_t det = 0; det < AliTRDgeometry::kNdet; ++det) {
54     object->SetValue(det, value);
55   }
56   return object;
57
58 }
59
60 //_____________________________________________________________________________
61 TObject *CreateFEEObject() 
62 {
63
64   AliTRDCalFEE *object = new AliTRDCalFEE("FEE"
65                                          ,"TRD FEE calibration parameters");
66
67   object->SetNumberOfTimeBins(24);
68
69   object->SetTailCancelationTau1(0);
70   object->SetTailCancelationTau2(0);
71   object->SetTailCancelationAmp(0);
72
73   object->SetPedestal(0);
74
75   return object;
76
77 }
78
79 //_____________________________________________________________________________
80 TObject *CreatePRFWidthObject()
81 {
82
83   AliTRDCalPad *calPad = new AliTRDCalPad("PRFWidth","PRFWidth");
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;
109     }
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) {
115           calROC->SetValue(channel, value);
116         }
117       }
118     }
119
120   }
121       
122   return calPad;
123
124 }
125
126 //_____________________________________________________________________________
127 AliTRDCalChamberStatus *CreateChamberStatusObject()
128 {
129
130   AliTRDCalChamberStatus *obj = new AliTRDCalChamberStatus("chamberstatus"
131                                                           ,"chamberstatus");
132
133   for (Int_t i = 0; i < AliTRDgeometry::kNdet; ++i) {
134     obj->SetStatus(i, AliTRDCalChamberStatus::kInstalled);
135   }
136
137   return obj;
138
139 }
140
141 //_____________________________________________________________________________
142 AliTRDCalPadStatus *CreatePadStatusObject()
143 {
144   AliTRDCalPadStatus     *obj = new AliTRDCalPadStatus("padstatus"
145                                                       ,"padstatus");
146
147   return obj;
148
149 }
150
151 //_____________________________________________________________________________
152 AliTRDCalMonitoring *CreateMonitoringObject()
153 {
154   AliTRDCalMonitoring    *obj = new AliTRDCalMonitoring();
155
156   return obj;
157
158 }
159
160 //_____________________________________________________________________________
161 AliCDBMetaData *CreateMetaObject(const char *objectClassName)
162 {
163
164   AliCDBMetaData *md1= new AliCDBMetaData(); 
165   md1->SetObjectClassName(objectClassName);
166   md1->SetResponsible("Christoph Blume");
167   md1->SetBeamPeriod(1);
168   md1->SetAliRootVersion("05-16-00"); //root version
169   md1->SetComment("Ideal calibration values");
170   
171   return md1;
172
173 }
174
175 //_____________________________________________________________________________
176 void StoreObject(const char *cdbPath, TObject *object, AliCDBMetaData *metaData)
177 {
178
179   AliCDBId id1(cdbPath,gkDummyRunBeg,gkDummyRunEnd); 
180   gStorLoc->Put(object,id1,metaData); 
181
182 }
183     
184 //_____________________________________________________________________________
185 void AliTRDCreateDummyCDB()
186 {
187
188   cout << endl 
189        << "TRD :: Creating dummy CDB for the runs " 
190        << gkDummyRunBeg
191        << " -- " 
192        << gkDummyRunEnd
193        << endl;
194   
195   AliCDBManager *man = AliCDBManager::Instance();
196   gStorLoc = man->GetStorage("local://$ALICE_ROOT");
197   if (!gStorLoc) {
198     return;
199   }
200
201   TObject        *obj      = 0;
202   AliCDBMetaData *metaData = 0;
203   
204   //
205   // Pad objects
206   //
207
208   metaData = CreateMetaObject("AliTRDCalPad");  
209
210   obj = CreatePadObject("LocalVdrift"       ,"TRD drift velocities (local variations)",1);
211   StoreObject("TRD/Calib/LocalVdrift"       ,obj,metaData);
212   
213   obj = CreatePadObject("LocalT0"           ,"T0 (local variations)",0);
214   StoreObject("TRD/Calib/LocalT0"           ,obj,metaData);
215
216   obj = CreatePadObject("GainFactor"        ,"GainFactor (local variations)",1);
217   StoreObject("TRD/Calib/LocalGainFactor"   ,obj,metaData);
218
219   obj = CreatePRFWidthObject();
220   StoreObject("TRD/Calib/PRFWidth"          ,obj,metaData);
221
222   //
223   // Detector objects
224   //
225
226   metaData = CreateMetaObject("AliTRDCalDet");
227   
228   obj = CreateDetObject("ChamberVdrift"     ,"TRD drift velocities (detector value)", 1.5);
229   StoreObject("TRD/Calib/ChamberVdrift"     ,obj,metaData);
230   
231   obj = CreateDetObject("ChamberT0"         ,"T0 (detector value)",0);
232   StoreObject("TRD/Calib/ChamberT0"         ,obj,metaData);
233   
234   obj = CreateDetObject("ChamberGainFactor" ,"GainFactor (detector value)", 1);
235   StoreObject("TRD/Calib/ChamberGainFactor" ,obj,metaData);
236   
237   //
238   // FEE object
239   //
240
241   metaData = CreateMetaObject("AliTRDCalFEE");
242   obj = CreateFEEObject();
243   StoreObject("TRD/Calib/FEE"               ,obj,metaData);
244   
245   //
246   // Status objects
247   //
248
249   metaData = CreateMetaObject("AliTRDCalChamberStatus");
250   obj = CreateChamberStatusObject();
251   StoreObject("TRD/Calib/ChamberStatus"     ,obj,metaData);
252
253   metaData = CreateMetaObject("AliTRDCalPadStatus");
254   obj = CreatePadStatusObject();
255   StoreObject("TRD/Calib/PadStatus"         ,obj,metaData);
256
257   //
258   // Monitoring object
259   //
260
261   metaData = CreateMetaObject("AliTRDCalMonitoring");
262   obj = CreateMonitoringObject();
263   StoreObject("TRD/Calib/MonitoringData"    ,obj,metaData);
264
265 }