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"
16 #include "AliTRDCalChamberStatus.h"
17 #include "AliTRDCalPadStatus.h"
18 #include "AliTRDCalSingleChamberStatus.h"
20 #include "AliTRDCalPIDLQ.h"
21 #include "AliTRDCalMonitoring.h"
25 // Run numbers for the dummy file
26 const Int_t gkDummyRunBeg = 0;
27 const Int_t gkDummyRunEnd = 999999999;
28 AliCDBStorage *gStorLoc = 0;
30 //_____________________________________________________________________________
31 TObject *CreatePadObject(const char *shortName, const char *description
35 AliTRDCalPad *calPad = new AliTRDCalPad(shortName, description);
36 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);
46 //_____________________________________________________________________________
47 TObject *CreateDetObject(const char *shortName, const char *description
51 AliTRDCalDet *object = new AliTRDCalDet(shortName, description);
52 for (Int_t det = 0; det < AliTRDgeometry::kNdet; ++det) {
53 object->SetValue(det, value);
59 //_____________________________________________________________________________
60 TObject *CreatePRFWidthObject()
63 AliTRDCalPad *calPad = new AliTRDCalPad("PRFWidth","PRFWidth");
64 for (Int_t iLayer = 0; iLayer < AliTRDgeometry::kNlayer; ++iLayer) {
87 cout << "CreatePRFWidthObject: UNEXPECTED" << endl;
91 for (Int_t iStack = 0; iStack < AliTRDgeometry::kNstack; ++iStack) {
92 for (Int_t iSector = 0; iSector < AliTRDgeometry::kNsector; ++iSector) {
93 AliTRDCalROC *calROC = calPad->GetCalROC(iLayer,iStack,iSector);
94 for (Int_t iChannel = 0; iChannel < calROC->GetNchannels(); ++iChannel) {
95 calROC->SetValue(iChannel, value);
106 //_____________________________________________________________________________
107 AliTRDCalChamberStatus *CreateChamberStatusObject()
110 AliTRDCalChamberStatus *obj = new AliTRDCalChamberStatus("chamberstatus"
113 for (Int_t i = 0; i < AliTRDgeometry::kNdet; ++i) {
114 obj->SetStatus(i, AliTRDCalChamberStatus::kInstalled);
121 //_____________________________________________________________________________
122 AliTRDCalPadStatus *CreatePadStatusObject()
124 AliTRDCalPadStatus *obj = new AliTRDCalPadStatus("padstatus"
131 //_____________________________________________________________________________
132 AliTRDCalMonitoring *CreateMonitoringObject()
134 AliTRDCalMonitoring *obj = new AliTRDCalMonitoring();
140 //_____________________________________________________________________________
141 TClonesArray* CreateRecoParamObject()
143 TClonesArray *recos = new TClonesArray("AliTRDrecoParam", 3);
144 recos->SetOwner(kTRUE);
146 AliTRDrecoParam *rec = 0x0;
147 AliTRDrecoParam *reco = new((*recos)[0]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetLowFluxParam()));
149 // further settings for low flux reco param
150 // reco->SetThisAndThat()
152 reco = new((*recos)[1]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetHighFluxParam()));
155 reco = new((*recos)[2]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetCosmicTestParam()));
162 //_____________________________________________________________________________
163 AliCDBMetaData *CreateMetaObject(const char *objectClassName)
166 AliCDBMetaData *md1= new AliCDBMetaData();
167 md1->SetObjectClassName(objectClassName);
168 md1->SetResponsible("Christoph Blume");
169 md1->SetBeamPeriod(1);
170 md1->SetAliRootVersion("05-16-00"); //root version
171 md1->SetComment("Ideal calibration values");
177 //_____________________________________________________________________________
178 void StoreObject(const char *cdbPath, TObject *object, AliCDBMetaData *metaData)
181 AliCDBId id1(cdbPath,gkDummyRunBeg,gkDummyRunEnd);
182 gStorLoc->Put(object,id1,metaData);
187 //_____________________________________________________________________________
188 void AliTRDCreateDummyCDB()
192 << "TRD :: Creating dummy CDB for the runs "
198 AliCDBManager *man = AliCDBManager::Instance();
199 gStorLoc = man->GetStorage("local://$ALICE_ROOT/OCDB");
205 AliCDBMetaData *metaData = 0;
211 metaData= new AliCDBMetaData();
212 metaData->SetObjectClassName("TClonesArray");
213 metaData->SetResponsible("Alexandru Bercuci");
214 metaData->SetBeamPeriod(1);
215 metaData->SetAliRootVersion("05-19-04"); //root version
216 metaData->SetComment("Ideal reconstruction parameters for low, high and cosmic runs");
217 StoreObject("TRD/Calib/RecoParam",CreateRecoParamObject(),metaData);
224 metaData = CreateMetaObject("AliTRDCalPad");
226 obj = CreatePadObject("LocalVdrift" ,"TRD drift velocities (local variations)",1);
227 StoreObject("TRD/Calib/LocalVdrift" ,obj,metaData);
229 obj = CreatePadObject("LocalT0" ,"T0 (local variations)",0);
230 StoreObject("TRD/Calib/LocalT0" ,obj,metaData);
232 obj = CreatePadObject("GainFactor" ,"GainFactor (local variations)",1);
233 StoreObject("TRD/Calib/LocalGainFactor" ,obj,metaData);
235 obj = CreatePRFWidthObject();
236 StoreObject("TRD/Calib/PRFWidth" ,obj,metaData);
242 metaData = CreateMetaObject("AliTRDCalDet");
244 obj = CreateDetObject("ChamberVdrift" ,"TRD drift velocities (detector value)", 1.5);
245 StoreObject("TRD/Calib/ChamberVdrift" ,obj,metaData);
247 obj = CreateDetObject("ChamberT0" ,"T0 (detector value)",0);
248 StoreObject("TRD/Calib/ChamberT0" ,obj,metaData);
250 obj = CreateDetObject("ChamberGainFactor" ,"GainFactor (detector value)", 1);
251 StoreObject("TRD/Calib/ChamberGainFactor" ,obj,metaData);
257 metaData = CreateMetaObject("AliTRDCalChamberStatus");
258 obj = CreateChamberStatusObject();
259 StoreObject("TRD/Calib/ChamberStatus" ,obj,metaData);
261 metaData = CreateMetaObject("AliTRDCalPadStatus");
262 obj = CreatePadStatusObject();
263 StoreObject("TRD/Calib/PadStatus" ,obj,metaData);
269 metaData = CreateMetaObject("AliTRDCalMonitoring");
270 obj = CreateMonitoringObject();
271 StoreObject("TRD/Calib/MonitoringData" ,obj,metaData);