1 // Functions to create/store/inspect TRD PID DB.
4 // Alex Bercuci (A.Bercuci@gsi.de)
9 //___________________________________________________________________
10 void generatePIDDBLQ(const char *file = "TRD.CalibPIDrefMakerLQ.root")
12 // Write TRD PID DB using the reference data from file "file"
15 AliCDBManager *man = AliCDBManager::Instance();
16 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
17 man->SetSpecificStorage("TRD/Calib/PIDLQ", "local://.");
20 AliCDBStorage *gStorLoc = man->GetStorage("local://$ALICE_ROOT/OCDB");
21 if (!gStorLoc) return;
23 if(gSystem->Load("libSTAT.so")<0) return;
24 AliTRDCalPID *pid = new AliTRDCalPIDLQ("pidLQ", "LQ TRD PID object");
25 if(!pid->LoadReferences(file)) return;
26 AliCDBMetaData *md= new AliCDBMetaData();
27 md->SetObjectClassName("AliTRDCalPIDLQ");
28 md->SetResponsible("Alexandru Bercuci");
30 md->SetAliRootVersion("v4-17-Release"); //root version
31 md->SetComment("2D PID for TRD");
32 gStorLoc->Put(pid, AliCDBId("TRD/Calib/PIDLQ", 0, 999999999, 0, 1), md, AliCDBManager::kReference);
35 //___________________________________________________________________
36 void generatePIDDBNN(const char *fileNN = "NN.root")
38 // Write TRD PID DB using the reference data from file "file"
41 AliCDBManager *man = AliCDBManager::Instance();
42 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
43 man->SetSpecificStorage("TRD/Calib/PIDNN", "local://.");
46 AliCDBStorage *gStorLoc = man->GetStorage("local://$ALICE_ROOT/OCDB");
47 if (!gStorLoc) return;
49 AliTRDCalPID *pidNN = new AliTRDCalPIDNN("pidNN", "NN TRD PID object");
50 pidNN->LoadReferences(fileNN);
51 AliCDBMetaData *md= new AliCDBMetaData();
52 md->SetObjectClassName("AliTRDCalPIDNN");
53 md->SetResponsible("Alexander Wilk");
55 md->SetAliRootVersion("v4-16-Release"); //root version
56 md->SetComment("NN PID for TRD");
57 gStorLoc->Put(pidNN, AliCDBId("TRD/Calib/PIDNN", 0, 999999999, 0, 1), md, AliCDBManager::kReference);
60 //___________________________________________________________________
61 AliTRDCalPID* getPIDObject(const char *method="NN")
63 // Returns PIDLQ object.
64 // In order to browse histos do:
65 // > AliTRDCalPID *pid = getPIDObject();
66 // > pid->GetHistogram(0, 3);
68 gStyle->SetOptStat(0);
70 AliCDBManager *CDBManager = AliCDBManager::Instance();
71 CDBManager->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
72 CDBManager->SetRun(0);
74 AliCDBEntry *wrap = CDBManager->Get(Form("TRD/Calib/PID%s", method), 0);
75 AliTRDCalPID *pid = dynamic_cast<const AliTRDCalPID *>wrap->GetObject();
76 AliCDBMetaData *meta = wrap->GetMetaData();
78 printf("Error while retriving pid object from DB.\n");
81 meta->PrintMetaData();