Adding the AliGRPPreprocessor and the AliGRPDCS classes in the repository - Global...
[u/mrichter/AliRoot.git] / STEER / AliGRPPreprocessor.cxx
CommitLineData
3dedb44a 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16//-------------------------------------------------------------------------
17// Class AliGRPPreprocessor
18// Global Run Parameters (GRP) preprocessor
19// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
20//-------------------------------------------------------------------------
21
22#include "AliGRPPreprocessor.h"
23#include "AliGRPDCS.h"
24
25#include "AliCDBMetaData.h"
26#include "AliLog.h"
27
28#include <TTimeStamp.h>
29#include <TMap.h>
30#include <TObjString.h>
31
32class AliDCSValue;
33class AliShuttleInterface;
34
35#include <TH1.h>
36
37ClassImp(AliGRPPreprocessor)
38
39//_______________________________________________________________
40AliGRPPreprocessor::AliGRPPreprocessor():
41 AliPreprocessor("GRP",0) {
42 // default constructor - Don't use this!
43
44}
45
46//_______________________________________________________________
47AliGRPPreprocessor::AliGRPPreprocessor(AliShuttleInterface* shuttle):
48 AliPreprocessor("GRP",shuttle) {
49 // constructor - shuttle must be instantiated!
50
51}
52
53//_______________________________________________________________
54AliGRPPreprocessor::~AliGRPPreprocessor() {
55 //destructor
56}
57
58//_______________________________________________________________
59void AliGRPPreprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t endTime) {
60 // Initialize preprocessor
61
62 AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", run, TTimeStamp(startTime).AsString(), TTimeStamp(endTime).AsString()));
63
64 fRun = run;
65 fStartTime = startTime;
66 fEndTime = endTime;
67 AliInfo("This preprocessor is to test the GetRunParameter function.");
68}
69
70//_______________________________________________________________
71UInt_t AliGRPPreprocessor::Process(TMap* valueMap) {
72 // process data retrieved by the Shuttle
73 const char* timeStart = GetRunParameter("time_start");
74 const char* timeEnd = GetRunParameter("time_end");
75 TObjArray *alias1 = (TObjArray *)valueMap->GetValue("SFTTemp1.FloatValue");
76 AliGRPDCS *dcs = new AliGRPDCS(alias1);
77 TH1F *h1 = new TH1F("alias1","",100,15,25);
78 TString sAlias1Mean = dcs->ProcessDCS(h1);
79
80 Int_t result=0;
81
82 if (sAlias1Mean) {
83 Log(Form("<alias1> for run %d: %s",fRun, sAlias1Mean.Data()));
84 } else {
85 Log(Form("DCSAlias1 not put in TMap!"));
86 }
87 if (timeStart) {
88 Log(Form("Start time for run %d: %s",fRun, timeStart));
89 } else {
90 Log(Form("Start time not put in logbook!"));
91 }
92 if (timeEnd) {
93 Log(Form("End time for run %d: %s",fRun, timeEnd));
94 } else {
95 Log(Form("End time not put in logbook!"));
96 }
97
98 TList *values = new TList();
99 values->SetOwner(1);
100
101 TMap *map1 = new TMap();
102 map1->Add(new TObjString("histoDCS1"),h1);
103 values->Add(map1);
104
105 TMap *map2 = new TMap();
106 map2->Add(new TObjString("DCS1"),new TObjString(sAlias1Mean));
107 values->Add(map2);
108
109 TMap *map3 = new TMap();
110 map3->Add(new TObjString("fAliceStartTime"),new TObjString(timeStart));
111 values->Add(map3);
112
113 TMap *map4 = new TMap();
114 map4->Add(new TObjString("fAliceStopTime"),new TObjString(timeEnd));
115 values->Add(map4);
116
117 AliCDBMetaData md;
118 md.SetResponsible("Panos");
119
120 result = Store("GRP", "Values", values, &md);
121
122 delete values;
123
124 return result;
125}
126