]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDCreateDummyCDB.C
Update by Jan Fiete
[u/mrichter/AliRoot.git] / TRD / 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 "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
84 AliCDBMetaData* CreateMetaObject(const char* objectClassName)
85 {
86   AliCDBMetaData *md1= new AliCDBMetaData(); 
87   md1->SetObjectClassName(objectClassName);
88   md1->SetResponsible("Jan Fiete Grosse-Oetringhaus");
89   md1->SetBeamPeriod(1);
90   md1->SetAliRootVersion("05-06-00"); //root version
91   md1->SetComment("The dummy values in this calibration file are for testing only");
92   
93   return md1;
94 }
95
96 void StoreObject(const char* cdbPath, TObject* object, AliCDBMetaData* metaData)
97 {
98   AliCDBId id1(cdbPath, gkDummyRun, gkDummyRun); 
99   gStorLoc->Put(object, id1, metaData); 
100 }
101     
102
103 void AliTRDCreateDummyCDB()
104 {
105   cout << endl << "TRD :: Creating dummy CDB with event number " << gkDummyRun << endl;
106   
107   AliCDBManager *man = AliCDBManager::Instance();
108   gStorLoc = man->GetStorage("local://$ALICE_ROOT");
109   if (!gStorLoc)
110     return;
111
112   TObject* obj = 0;
113   AliCDBMetaData* metaData = 0;
114   
115   metaData = CreateMetaObject("AliTRDCalPad");
116   
117   obj = CreatePadObject("LocalVdrift","TRD drift velocities (local variations)", 1);
118   StoreObject("TRD/Calib/LocalVdrift", obj, metaData);
119   
120   obj = CreatePadObject("LocalT0","T0 (local variations)", 1);
121   StoreObject("TRD/Calib/LocalT0", obj, metaData);
122   
123   obj = CreatePadObject("GainFactor","GainFactor", 1);
124   StoreObject("TRD/Calib/GainFactor", obj, metaData);
125
126   obj = CreatePadObject("PRFWidth","PRFWidth", 0);
127   StoreObject("TRD/Calib/PRFWidth", obj, metaData);
128
129   metaData = CreateMetaObject("AliTRDCalDet");
130   
131   obj = CreateDetObject("ChamberVdrift","TRD drift velocities (detector value)", 1.5);
132   StoreObject("TRD/Calib/ChamberVdrift", obj, metaData);
133   
134   obj = CreateDetObject("ChamberT0","T0 (detector value)", 0);
135   StoreObject("TRD/Calib/ChamberT0", obj, metaData);
136   
137   metaData = CreateMetaObject("AliTRDCalGlobals");
138   obj = CreateGlobalsObject();
139   StoreObject("TRD/Calib/Globals", obj, metaData);
140   
141   metaData = CreateMetaObject("AliTRDCalChamber");
142   obj = CreateChamberObject();
143   StoreObject("TRD/Calib/Chamber", obj, metaData);
144   
145   metaData = CreateMetaObject("AliTRDCalStack");
146   obj = CreateStackObject();
147   StoreObject("TRD/Calib/Stack", obj, metaData);
148   
149 }