1 #if !defined( __CINT__) || defined(__MAKECINT__)
5 #include <AliCDBManager.h>
6 #include <AliCDBStorage.h>
7 #include <AliCDBEntry.h>
8 #include <AliCDBMetaData.h>
10 #include "AliTRDgeometry.h"
12 #include "AliTRDCalROC.h"
13 #include "AliTRDCalPad.h"
14 #include "AliTRDCalDet.h"
15 #include "AliTRDCalGlobals.h"
17 #include "AliTRDCalSuperModuleStatus.h"
18 #include "AliTRDCalChamberStatus.h"
19 #include "AliTRDCalMCMStatus.h"
20 #include "AliTRDCalPadStatus.h"
21 #include "AliTRDCalSingleChamberStatus.h"
23 #include "AliTRDCalPIDLQ.h"
24 #include "AliTRDCalMonitoring.h"
28 // run number for the dummy file
29 const Int_t gkDummyRun = 0;
30 AliCDBStorage* gStorLoc = 0;
32 TObject* CreatePadObject(const char* shortName, const char* description, Float_t value)
34 AliTRDCalPad *calPad = new AliTRDCalPad(shortName, description);
35 for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det)
37 AliTRDCalROC *calROC = calPad->GetCalROC(det);
38 for (Int_t channel=0; channel<calROC->GetNchannels(); ++channel)
39 calROC->SetValue(channel, value);
44 TObject* CreateDetObject(const char* shortName, const char* description, Float_t value)
46 AliTRDCalDet *object = new AliTRDCalDet(shortName, description);
47 for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det)
48 object->SetValue(det, value);
52 TObject* CreateGlobalsObject()
54 AliTRDCalGlobals *object = new AliTRDCalGlobals("Globals", "Global TRD calibration parameters");
56 object->SetNumberOfTimeBins(22);
61 TObject* CreatePRFWidthObject()
63 AliTRDCalPad *calPad = new AliTRDCalPad("PRFWidth","PRFWidth");
64 for (Int_t plane=0; plane<AliTRDgeometry::kNplan; ++plane)
69 case 0: value = 0.515; break;
70 case 1: value = 0.502; break;
71 case 2: value = 0.491; break;
72 case 3: value = 0.481; break;
73 case 4: value = 0.471; break;
74 case 5: value = 0.463; break;
75 default: cout << "CreatePRFWidthObject: UNEXPECTED" << endl; return 0;
77 for (Int_t chamber=0; chamber<AliTRDgeometry::kNcham; ++chamber)
79 for (Int_t sector=0; sector<AliTRDgeometry::kNsect; ++sector)
81 AliTRDCalROC *calROC = calPad->GetCalROC(plane, chamber, sector);
82 for (Int_t channel=0; channel<calROC->GetNchannels(); ++channel)
83 calROC->SetValue(channel, value);
91 AliTRDCalSuperModuleStatus* CreateSuperModuleStatusObject()
93 AliTRDCalSuperModuleStatus* obj = new AliTRDCalSuperModuleStatus("supermodulestatus", "supermodulestatus");
95 for (Int_t i=0; i<AliTRDgeometry::kNsect; ++i)
96 obj->SetStatus(i, AliTRDCalSuperModuleStatus::kInstalled);
101 AliTRDCalChamberStatus* CreateChamberStatusObject()
103 AliTRDCalChamberStatus* obj = new AliTRDCalChamberStatus("chamberstatus", "chamberstatus");
105 for (Int_t i=0; i<AliTRDgeometry::kNdet; ++i)
106 obj->SetStatus(i, AliTRDCalChamberStatus::kInstalled);
111 AliTRDCalMCMStatus* CreateMCMStatusObject()
113 AliTRDCalMCMStatus* obj = new AliTRDCalMCMStatus("mcmstatus", "mcmstatus");
118 AliTRDCalPadStatus* CreatePadStatusObject()
120 AliTRDCalPadStatus* obj = new AliTRDCalPadStatus("padstatus", "padstatus");
125 AliTRDCalPIDLQ* CreatePIDLQObject()
127 AliTRDCalPIDLQ* pid = new AliTRDCalPIDLQ("pidobject", "pidobject");
128 pid->ReadData("$ALICE_ROOT/TRD/TRDdEdxHistogramsV1.root");
129 pid->SetMeanChargeRatio(1.0); // The factor is the ratio of Mean of pi charge dist.
130 // for the New TRD code divided by the Mean of pi charge
131 // dist. given in AliTRDCalPIDLQ object
136 AliTRDCalMonitoring* CreateMonitoringObject()
138 AliTRDCalMonitoring* obj = new AliTRDCalMonitoring();
143 AliCDBMetaData* CreateMetaObject(const char* objectClassName)
145 AliCDBMetaData *md1= new AliCDBMetaData();
146 md1->SetObjectClassName(objectClassName);
147 md1->SetResponsible("Jan Fiete Grosse-Oetringhaus");
148 md1->SetBeamPeriod(1);
149 md1->SetAliRootVersion("05-06-00"); //root version
150 md1->SetComment("The dummy values in this calibration file are for testing only");
155 void StoreObject(const char* cdbPath, TObject* object, AliCDBMetaData* metaData)
157 AliCDBId id1(cdbPath, gkDummyRun, gkDummyRun);
158 gStorLoc->Put(object, id1, metaData);
162 void AliTRDCreateDummyCDB()
164 cout << endl << "TRD :: Creating dummy CDB with event number " << gkDummyRun << endl;
166 AliCDBManager *man = AliCDBManager::Instance();
167 gStorLoc = man->GetStorage("local://$ALICE_ROOT");
172 AliCDBMetaData* metaData = 0;
174 metaData = CreateMetaObject("AliTRDCalPad");
176 obj = CreatePadObject("LocalVdrift","TRD drift velocities (local variations)", 1);
177 StoreObject("TRD/Calib/LocalVdrift", obj, metaData);
179 obj = CreatePadObject("LocalT0","T0 (local variations)", 1);
180 StoreObject("TRD/Calib/LocalT0", obj, metaData);
182 obj = CreatePadObject("GainFactor","GainFactor (local variations)", 1);
183 StoreObject("TRD/Calib/LocalGainFactor", obj, metaData);
185 obj = CreatePRFWidthObject();
186 StoreObject("TRD/Calib/PRFWidth", obj, metaData);
188 metaData = CreateMetaObject("AliTRDCalDet");
190 obj = CreateDetObject("ChamberVdrift","TRD drift velocities (detector value)", 1.5);
191 StoreObject("TRD/Calib/ChamberVdrift", obj, metaData);
193 obj = CreateDetObject("ChamberT0","T0 (detector value)", 0);
194 StoreObject("TRD/Calib/ChamberT0", obj, metaData);
196 obj = CreateDetObject("ChamberGainFactor","GainFactor (detector value)", 1);
197 StoreObject("TRD/Calib/ChamberGainFactor", obj, metaData);
199 metaData = CreateMetaObject("AliTRDCalGlobals");
200 obj = CreateGlobalsObject();
201 StoreObject("TRD/Calib/Globals", obj, metaData);
203 metaData = CreateMetaObject("AliTRDCalSuperModuleStatus");
204 obj = CreateSuperModuleStatusObject();
205 StoreObject("TRD/Calib/SuperModuleStatus", obj, metaData);
207 metaData = CreateMetaObject("AliTRDCalChamberStatus");
208 obj = CreateChamberStatusObject();
209 StoreObject("TRD/Calib/ChamberStatus", obj, metaData);
211 metaData = CreateMetaObject("AliTRDCalMCMStatus");
212 obj = CreateMCMStatusObject();
213 StoreObject("TRD/Calib/MCMStatus", obj, metaData);
215 metaData = CreateMetaObject("AliTRDCalPadStatus");
216 obj = CreatePadStatusObject();
217 StoreObject("TRD/Calib/PadStatus", obj, metaData);
219 metaData = CreateMetaObject("AliTRDCalPIDLQ");
220 obj = CreatePIDLQObject();
221 StoreObject("TRD/Calib/PIDLQ", obj, metaData);
223 metaData = CreateMetaObject("AliTRDCalMonitoring");
224 obj = CreateMonitoringObject();
225 StoreObject("TRD/Calib/MonitoringData", obj, metaData);