]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCDBTemp.C
Add additional functionality
[u/mrichter/AliRoot.git] / TPC / AliTPCDBTemp.C
CommitLineData
54472e4f 1/**
2.L /afs/cern.ch/user/h/haavard/alice/tpc/temperature/AliSplineFit.cxx+
3.L /afs/cern.ch/user/h/haavard/alice/tpc/temperature/AliDCSSensor.cxx+
4.L /afs/cern.ch/user/h/haavard/alice/tpc/temperature/AliDCSSensorArray.cxx+
5.L /afs/cern.ch/user/h/haavard/alice/tpc/temperature/AliTPCSensorTemp.cxx+
6.L /afs/cern.ch/user/h/haavard/alice/tpc/temperature/AliTPCSensorTempArray.cxx+
7.L /afs/cern.ch/user/h/haavard/alice/tpc/temperature/AliTPCDBTemp.C+
8TTimeStamp startTime(2006,10,18,0,0,0,0,kFALSE)
9TTimeStamp endTime(2006,10,19,0,0,0,0,kFALSE)
10Int_t run=2546
11AliTPCDBTemp db
12db->Init(run)
13db->MakeCalib("TempSensor.txt","DCSMap.root",startTime,endTime,run)
14
15
16**/
17#include "AliTPCDBTemp.h"
18
19AliTPCDBTemp::AliTPCDBTemp():
20 fFirstRun(0),
21 fLastRun(0),
22 fTemperature(0),
23 fStorLoc(0),
24 fCalib(0),
25 fMetaData(0)
26{}
27
28
29
30void AliTPCDBTemp::MakeCalib(const char *fList, const char *fMap,
31 const TTimeStamp& startTime,
32 const TTimeStamp& endTime,
33 Int_t run )
34{
35 // The Terminate() function is the last function to be called during
36 // a query. It always runs on the client, it can be used to present
37 // the results graphically or save the results to file.
38
39 AliTPCSensorTempArray *fTemperature = new AliTPCSensorTempArray(fList);
40 fTemperature->SetStartTime(startTime);
41 fTemperature->SetEndTime(endTime);
42 TMap* map = SetGraphFile(fMap);
43 if (map) {
44 fTemperature->MakeSplineFit(map);
45 }
46 delete map;
47
48 SetFirstRun(run);
49 SetLastRun(run);
50 StoreObject("TPC/Calib/Temperature",fTemperature, fMetaData);
51}
52
53
54AliCDBMetaData* AliTPCDBTemp::CreateMetaObject(const char* objectClassName)
55{
56 AliCDBMetaData *md1= new AliCDBMetaData();
57 md1->SetObjectClassName(objectClassName);
58 md1->SetResponsible("Haavard Helstrup");
59 md1->SetBeamPeriod(2);
60 md1->SetAliRootVersion("05-13-04"); //root version
61 md1->SetComment("Temperature values");
62
63 return md1;
64}
65
66void AliTPCDBTemp::StoreObject(const char* cdbPath, TObject* object, AliCDBMetaData* metaData)
67{
68
69 AliCDBId id1(cdbPath, fFirstRun, fLastRun);
70 if (fStorLoc) fStorLoc->Put(object, id1, metaData);
71}
72
73void AliTPCDBTemp::Init(Int_t run){
74
75// Int_t kLastRun=4000;
76// Long64_t longRun;
77
78 SetFirstRun(run);
79 SetLastRun(run);
80
81 InitDB(run);
82// fCalib = AliTPCcalibDB::Instance();
83// longRun=run;
84// fCalib->SetRun(longRun);
85// fTemperature = fCalib->GetTemperature();
86
87}
88
89void AliTPCDBTemp::InitDB(Int_t run)
90{
91 // Data base generation
92
93// printf ("Data base creation started.. \n");
94 char *CDBpath="local:///afs/cern.ch/alice/tpctest/Calib/";
95
96 fMetaData = CreateMetaObject("AliTPCSensorTempArray");
97 AliCDBManager *man = AliCDBManager::Instance();
98 man->SetDefaultStorage("local:///afs/cern.ch/alice/tpctest/AliRoot/HEAD");
99 man->SetRun(run);
100 man->SetSpecificStorage("TPC/*/*","local:///afs/cern.ch/alice/tpctest/Calib");
101 fStorLoc = man->GetStorage(CDBpath);
102 if (!fStorLoc) return;
103}
104//_____________________________________________________________________________
105TMap* AliTPCDBTemp::SetGraphFile(const char *fname)
106{
107 //
108 // Read DCS maps from file given by fname
109 //
110 TFile file(fname);
111 TMap * map = (TMap*)file.Get("DCSMap");
112 return map;
113}