1 // Functions to create/store/inspect TRD PID DB.
4 // Alex Bercuci (A.Bercuci@gsi.de)
8 //___________________________________________________________________
9 void makePIDRefs(const char *dir = ".", const char *file="Refs.root")
11 // Build the reference data for PID. The simulations have to fulfill
12 // the directory structure defined inside AliTRDCalPIDRefMaker.
14 // 1. "dir" - the root directory of the production
15 // 2. "file" - output file containing reference data saved in directory
18 AliCDBManager *man = AliCDBManager::Instance();
19 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
22 AliTRDCalPIDRefMaker maker;
23 maker.BuildLQReferences(file, dir);
26 //___________________________________________________________________
27 void generatePIDDB(const char *fileNN = "NN.root", const char *fileLQ = "LQ.root")
29 // Write TRD PID DB using the reference data from file "file"
32 AliCDBManager *man = AliCDBManager::Instance();
33 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
36 AliCDBStorage *gStorLoc = man->GetStorage("local://$ALICE_ROOT/OCDB");
37 if (!gStorLoc) return;
40 AliTRDCalPID *pidLQ = new AliTRDCalPIDLQ("pidLQ", "LQ TRD PID object");
41 pidLQ->LoadReferences(fileLQ);
42 AliCDBMetaData *md= new AliCDBMetaData();
43 md->SetObjectClassName("AliTRDCalPIDLQ");
44 md->SetResponsible("Alex Bercuci");
46 md->SetAliRootVersion("v4-06-HEAD"); //root version
47 md->SetComment("2D PID for TRD");
48 gStorLoc->Put(pidLQ, AliCDBId("TRD/Calib/PIDLQ", 0, 999999999, 0, 1), md);
50 AliTRDCalPID *pidNN = new AliTRDCalPIDNN("pidNN", "NN TRD PID object");
51 pidNN->LoadReferences(fileNN);
52 md->SetObjectClassName("AliTRDCalPIDNN");
53 md->SetResponsible("Alex Wilk");
55 md->SetAliRootVersion("v4-06-HEAD"); //root version
56 md->SetComment("NN PID for TRD");
58 gStorLoc->Put(pidNN, AliCDBId("TRD/Calib/PIDNN", 0, 999999999, 0, 1), md);
61 //___________________________________________________________________
62 AliTRDCalPID* getPIDObject(const char *method="NN")
64 // Returns PIDLQ object.
65 // In order to browse histos do:
66 // > AliTRDCalPID *pid = getPIDObject();
67 // > pid->GetHistogram(0, 3);
69 gStyle->SetOptStat(0);
71 AliCDBManager *CDBManager = AliCDBManager::Instance();
72 CDBManager->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
73 CDBManager->SetRun(0);
75 AliCDBEntry *wrap = CDBManager->Get(Form("TRD/Calib/PID%s", method), 0);
76 AliTRDCalPID *pid = dynamic_cast<const AliTRDCalPID *>wrap->GetObject();
77 AliCDBMetaData *meta = wrap->GetMetaData();
79 printf("Error while retriving pid object from DB.\n");
82 meta->PrintMetaData();