]> git.uio.no Git - u/mrichter/AliRoot.git/blob - SHUTTLE/TestShuttle/AliTestPreprocessor.cxx
Added option to respond to missing galice.root or AliESD.root files in Open() with...
[u/mrichter/AliRoot.git] / SHUTTLE / TestShuttle / AliTestPreprocessor.cxx
1 #include "AliTestPreprocessor.h"
2
3 #include "AliCDBMetaData.h"
4 #include "AliDCSValue.h"
5 #include "AliLog.h"
6 #include "AliTestDataDCS.h"
7
8 #include <TTimeStamp.h>
9
10 //
11 // This class is an example for a simple preprocessor.
12 // It takes data from DCS and passes it to the class AliTestDataDCS, which
13 // reformats its. This class is then written to the CDB.
14 //
15
16 ClassImp(AliTestPreprocessor)
17
18 //______________________________________________________________________________________________
19 AliTestPreprocessor::AliTestPreprocessor(const char* detector, AliShuttleInterface* shuttle) :
20   AliPreprocessor(detector, shuttle),
21   fData(0)
22 {
23   // constructor
24 }
25
26 //______________________________________________________________________________________________
27 AliTestPreprocessor::~AliTestPreprocessor()
28 {
29   // destructor
30 }
31
32 //______________________________________________________________________________________________
33 void AliTestPreprocessor::Initialize(Int_t run, UInt_t startTime,
34         UInt_t endTime)
35 {
36   // Creates AliTestDataDCS object
37
38   AliPreprocessor::Initialize(run, startTime, endTime);
39
40         AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", run,
41                 TTimeStamp(startTime).AsString(),
42                 TTimeStamp(endTime).AsString()));
43
44         fData = new AliTestDataDCS(fRun, fStartTime, fEndTime);
45 }
46
47 //______________________________________________________________________________________________
48 UInt_t AliTestPreprocessor::Process(TMap* dcsAliasMap)
49 {
50   // Fills data into a AliTestDataDCS object
51
52   if (!dcsAliasMap)
53     return 0;
54
55   // The processing of the DCS input data is forwarded to AliTestDataDCS
56         fData->ProcessData(*dcsAliasMap);
57
58   const char* fileName = GetFile(kDAQ, "PEDESTALS", "GDC");
59   if (fileName)
60     AliInfo(Form("Got the file %s, now we can extract some values.", fileName));
61   //TODO here the file could be opened, some values extracted and  written to e.g. fData
62
63   TList* list = GetFileSources(kDAQ, "DRIFTVELOCITY");
64   if (list)
65   {
66     AliInfo("The following sources produced files with the id DRIFTVELOCITY");
67     list->Print();
68     delete list;
69   }
70   //TODO here the files could be opened, some values extracted and  written to e.g. fData
71
72   //Now we have to store the final CDB file
73   AliCDBMetaData metaData;
74         metaData.SetBeamPeriod(0);
75         metaData.SetResponsible("Alberto Colla");
76         metaData.SetComment("This preprocessor fills an AliTestDataDCS object.");
77
78         UInt_t result = Store("SHUTTLE", "Data", fData, &metaData, 0, 0);
79         delete fData;
80         fData = 0;
81
82   return result;
83 }
84