]>
Commit | Line | Data |
---|---|---|
5c6b40ae | 1 | // This class runs the test preprocessor |
2 | // It uses AliTestShuttle to simulate a full Shuttle process | |
3 | ||
4 | // The input data is created in the functions | |
5 | // CreateDCSAliasMap() creates input that would in the same way come from DCS | |
6 | // ReadDCSAliasMap() reads from a file | |
7 | // CreateInputFilesMap() creates a list of local files, that can be accessed by the shuttle | |
8 | ||
9 | void TestPreprocessor() | |
10 | { | |
11 | gSystem->Load("libTestShuttle"); | |
12 | ||
13 | // initialize location of CDB | |
14 | AliCDBManager *man = AliCDBManager::Instance(); | |
15 | man->SetDefaultStorage("local://TestCDB"); | |
16 | ||
17 | // TODO decide where to read the data | |
18 | TMap* dcsAliasMap = 0; | |
19 | //dcsAliasMap = CreateDCSAliasMap(); | |
20 | dcsAliasMap = ReadDCSAliasMap(); | |
21 | ||
22 | // create TMap of available files | |
23 | TMap* inputFiles = CreateInputFilesMap(); | |
24 | ||
25 | // create AliTestShuttle instance | |
26 | AliTestShuttle* shuttle = new AliTestShuttle(inputFiles); | |
27 | TestShuttle(shuttle); | |
28 | ||
29 | // create preprocessor | |
30 | AliPreprocessor* pp = new AliTestPreprocessor("TPC", shuttle); | |
31 | ||
32 | // call preprocessor | |
33 | pp->Initialize(0, 0, 1); | |
34 | pp->Process(dcsAliasMap); | |
35 | } | |
36 | ||
37 | TMap* CreateDCSAliasMap() | |
38 | { | |
39 | // fill fake DCS object | |
40 | ||
41 | TObjArray* valueSet1 = new TObjArray; | |
42 | ||
43 | ||
44 | valueSet1->Add(); | |
45 | ||
46 | TObjArray* valueSet2 = new TObjArray; | |
47 | valueSet2->Add(); | |
48 | ||
49 | TMap* aliasMap = new TMap; | |
50 | aliasMap->Add(new TObjString("DCSAlias1"), valueSet1); | |
51 | aliasMap->Add(new TObjString("DCSAlias2"), valueSet2); | |
52 | ||
53 | return aliasMap; | |
54 | } | |
55 | ||
56 | TMap* ReadDCSAliasMap() | |
57 | { | |
58 | // open the file | |
59 | AliCDBEntry *entry = AliCDBManager::Instance()->Get("TPC/DCS/Data",21200); | |
60 | return dynamic_cast<TMap*> (entry->GetObject()); | |
61 | } | |
62 | ||
63 | TMap* CreateInputFilesMap() | |
64 | { | |
65 | // create a list of files which will be available from the AliTestShuttle | |
66 | ||
67 | inputFile1 = new TMap; | |
68 | inputFile1->Add(new TObjString("GDC"), new TObjString("file1.root")); | |
69 | ||
70 | inputFile2 = new TMap; | |
71 | inputFile2->Add(new TObjString("LDC0"), new TObjString("file2a.root")); | |
72 | inputFile2->Add(new TObjString("LDC1"), new TObjString("file2b.root")); | |
73 | inputFile2->Add(new TObjString("LDC2"), new TObjString("file2c.root")); | |
74 | ||
75 | TMap* inputFiles = new TMap; | |
76 | inputFiles->Add(new TObjString("DAQ-TPC-PEDESTALS"), inputFile1); | |
77 | inputFiles->Add(new TObjString("DAQ-TPC-DRIFTVELOCITY"), inputFile2); | |
78 | ||
79 | return inputFiles; | |
80 | } | |
81 | ||
82 | void TestShuttle(AliShuttleInterface* shuttle) | |
83 | { | |
84 | const char* file = shuttle->GetFile(AliShuttleInterface::kDAQ, "TPC", "PEDESTALS", "GDC"); | |
85 | cout << "GetFile: " << file << endl; | |
86 | cout << "GetFileSources: " << endl; | |
87 | shuttle->GetFileSources(AliShuttleInterface::kDAQ, "TPC", "DRIFTVELOCITY")->Print(); | |
88 | ||
89 | shuttle->Log("TPC", "Log test"); | |
90 | ||
91 | //shuttle->Store(); | |
92 | } |