]> git.uio.no Git - u/mrichter/AliRoot.git/blame - T0/AliT0DataDCS.cxx
Provide return value for non-void methods
[u/mrichter/AliRoot.git] / T0 / AliT0DataDCS.cxx
CommitLineData
dc7ca31d 1#include "AliT0DataDCS.h"
2
3#include "AliCDBMetaData.h"
4#include "AliDCSValue.h"
5#include "AliLog.h"
6
7#include <TTimeStamp.h>
8#include <TObjString.h>
9#include <TH2F.h>
10#include <TProfile.h>
11#include <TGraph.h>
12#include <TDatime.h>
13#include <TStyle.h>
14#include <TCanvas.h>
15
16ClassImp(AliT0DataDCS)
17
18//---------------------------------------------------------------
19AliT0DataDCS::AliT0DataDCS():
20 TObject(),
21 fRun(0),
22 fStartTime(0),
23 fEndTime(0),
24 fGraphs("TGraph",kNGraphs),
25 fIsProcessed(kFALSE)
26{
27 for(int i=0;i<kNHistos;i++) fHv[i]=0x0;
28 fFunc = 0;
29}
30
31//---------------------------------------------------------------
32AliT0DataDCS::AliT0DataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime):
33 TObject(),
34 fRun(nRun),
35 fStartTime(startTime),
36 fEndTime(endTime),
37 fGraphs("TGraph",kNGraphs),
38 fIsProcessed(kFALSE)
39{
40 AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", nRun,
41 TTimeStamp(startTime).AsString(),
42 TTimeStamp(endTime).AsString()));
43
44 fFunc = 0;
45 Init();
46
47}
48
49//---------------------------------------------------------------
50AliT0DataDCS::~AliT0DataDCS() {
51
52 for(int i=0;i<kNHistos;i++) {delete fHv[i]; fHv[i]=0;}
53 fGraphs.Clear("C");
54 fFunc=0;
55}
56
57//---------------------------------------------------------------
91366e58 58Bool_t AliT0DataDCS::ProcessData(TMap& aliasMap)
59{
60/* ** TM 23.11.2007 for testing preprocessor **
dc7ca31d 61 if(!(fHv[0])) Init();
62
63 TObjArray *aliasArr;
64 AliDCSValue* aValue;
91366e58 65 for(int j=0; j<kNAliases; j++)
66 {
dc7ca31d 67 aliasArr = (TObjArray*) aliasMap.GetValue(fAliasNames[j].Data());
91366e58 68 if(!aliasArr)
69 {
dc7ca31d 70 AliError(Form("Alias %s not found!", fAliasNames[j].Data()));
71 continue;
72 }
73 Introduce(j, aliasArr);
74
91366e58 75 if(aliasArr->GetEntries()<2)
76 {
dc7ca31d 77 AliError(Form("Alias %s has just %d entries!",
78 fAliasNames[j].Data(),aliasArr->GetEntries()));
79 continue;
80 }
81
91366e58 82// TM, 6.10.2007
dc7ca31d 83 TIter iterarray(aliasArr);
84
85 Double_t *time = new Double_t[aliasArr->GetEntries()];
86 Double_t *val = new Double_t[aliasArr->GetEntries()];
87
88 UInt_t ne=0;
91366e58 89 while ((aValue = (AliDCSValue*) iterarray.Next()))
90 {
dc7ca31d 91 val[ne] = aValue->GetFloat();
92 time[ne] = (Double_t) (aValue->GetTimeStamp());
93 // fill histos (alias 0-2)
94 if(j < 3) fHv[j]->Fill(val[ne]);
95 ne++;
96 }
97 // fill graphs (alias 3-5)
98 if(j >= 3) CreateGraph(j, aliasArr->GetEntries(), time, val);
99 delete[] val;
100 delete[] time;
91366e58 101
102// TM, 21.11.2007
103 TObjArray *aliasArr;
104 // AliDCSValue *aValue;
105//TM, 19.11.2007 Float_t t00_a_hv_imon[12]={0,0,0,0,0,0,0,0,0,0,0,0};
106//TM, 19.11.2007 Float_t t00_a_hv_vmon[12]={0,0,0,0,0,0,0,0,0,0,0,0};
107//TM, 19.11.2007 Float_t t00_a_lv_imon[2]={0,0};
108//TM, 19.11.2007 Float_t t00_a_lv_vmon[2]={0,0};
109//TM, 19.11.2007 Float_t t00_c_hv_imon[12]={0,0,0,0,0,0,0,0,0,0,0,0};
110//TM, 19.11.2007 Float_t t00_c_hv_vmon[12]={0,0,0,0,0,0,0,0,0,0,0,0};
111//TM, 19.11.2007 Float_t t00_c_lv_imon[2]={0,0};
112//TM, 19.11.2007 Float_t t00_c_lv_vmon[2]={0,0};
113//TM, 19.11.2007 Float_t t00_a_cfd_thre[12]={0,0,0,0,0,0,0,0,0,0,0,0};
114//TM, 19.11.2007 Float_t t00_a_cfd_walk[12]={0,0,0,0,0,0,0,0,0,0,0,0};
115//TM, 19.11.2007 Float_t t00_c_cfd_thre[12]={0,0,0,0,0,0,0,0,0,0,0,0};
116//TM, 19.11.2007 Float_t t00_c_cfd_walk[12]={0,0,0,0,0,0,0,0,0,0,0,0};
117 Float_t t00_ac_scaler[32]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
118//TM, 19.11.2007 Float_t t00_ac_trm[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
119//TM, 19.11.2007 Float_t t00_ac_drm= 0;
120
121 for(int j=0; j<32; j++)
122 {
123 TString aliasName =Form("t00_ac_scaler_%d",j);
124//TM, 19.11.2007 TString aliasName =Form("t00_a_hv_imon_%d",j);
125//TM, 19.11.2007 TString aliasName1 =Form("t00_a_hv_vmon_%d",j);
126//TM, 19.11.2007 TString aliasName2 =Form("t00_c_hv_imon_%d",j);
127//TM, 19.11.2007 TString aliasName3 =Form("t00_c_hv_vmon_%d",j);
128//TM, 19.11.2007 TString aliasName4 =Form("t00_a_cfd_thre_%d",j);
129//TM, 19.11.2007 TString aliasName5 =Form("t00_a_cfd_walk_%d",j);
130//TM, 19.11.2007 TString aliasName6 =Form("t00_c_cfd_thre_%d",j);
131//TM, 19.11.2007 TString aliasName7 =Form("t00_c_cfd_walk_%d",j);
132
133 printf("aliasname: %s\n",aliasName.Data());
134 aliasArr = dynamic_cast<TObjArray*> (dcsAliasMap->GetValue(aliasName.Data()));
135 if(!aliasArr){
136 AliError(Form("Alias %s not found!", aliasName.Data()));
137 continue;
138 }
139 AliDCSValue *aValue=dynamic_cast<AliDCSValue*> (aliasArr->At(0));
140 // printf("I'm here! %f %x\n", aValue->GetFloat(), aValue->GetTimeStamp());
141 // TM, 6.10.2007 hv[j]= aValue->GetFloat()*100;
142 //Float_t timestamp= (Float_t) (aValue->GetTimeStamp());
143 // printf("hello! hv = %f timestamp = %f\n" ,hv[j], timestamp);
144
145
dc7ca31d 146 }
147
91366e58 148** ** */
149
150/* TM, 6.10.2007
151
dc7ca31d 152 // calculate mean and rms of the first two histos
91366e58 153 for(int i=0;i<kNHistos;i++)
154 {
dc7ca31d 155 fMean[i] = fHv[i]->GetMean();
156 fWidth[i] = fHv[i]->GetRMS();
157 }
158
159 // pol1 fit of the first graph
91366e58 160 if(fGraphs.GetEntries() > 0)
161 {
dc7ca31d 162 ((TGraph*) fGraphs.UncheckedAt(0))->Fit("pol1");
163 fFunc = ((TGraph*) fGraphs.UncheckedAt(0))->GetFunction("pol1");
164 }
91366e58 165*/
dc7ca31d 166
167 fIsProcessed=kTRUE;
76321f61 168 return kTRUE;
dc7ca31d 169}
170
171//---------------------------------------------------------------
91366e58 172void AliT0DataDCS::Init()
173{
dc7ca31d 174
175 TH1::AddDirectory(kFALSE);
176
177 fGraphs.SetOwner(1);
178
91366e58 179 for(int i=0;i<kNAliases;i++)
180 {
dc7ca31d 181 fAliasNames[i] = "DCSAlias";
182 fAliasNames[i] += i;
183 }
184
91366e58 185/* TM, 6.10.2007
186 for(int i=0;i<kNHistos;i++)
187 {
dc7ca31d 188 fHv[i] = new TH1F(fAliasNames[i].Data(),fAliasNames[i].Data(), 20, kHvMin, kHvMax);
189 fHv[i]->GetXaxis()->SetTitle("Hv");
190 }
91366e58 191*/
dc7ca31d 192}
193
194//---------------------------------------------------------------
195void AliT0DataDCS::Introduce(UInt_t numAlias, const TObjArray* aliasArr){
196
197 int entries=aliasArr->GetEntries();
198 AliInfo(Form("************ Alias: %s **********",fAliasNames[numAlias].Data()));
199 AliInfo(Form(" %d DP values collected",entries));
200
201}
202
203//---------------------------------------------------------------
91366e58 204/* TM, 6.10.2007
dc7ca31d 205void AliT0DataDCS::CreateGraph(int i, int dim, const Double_t *x, const Double_t *y)
206{
207
208 TGraph *gr = new(fGraphs[fGraphs.GetEntriesFast()]) TGraph(dim, x, y);
209
210 gr->GetXaxis()->SetTimeDisplay(1);
211 gr->SetTitle(fAliasNames[i].Data());
212
213 AliInfo(Form("Array entries: %d",fGraphs.GetEntriesFast()));
214
215
216}
217
91366e58 218*/
219
dc7ca31d 220//---------------------------------------------------------------
91366e58 221/* TM, 6.10.2007
222
223 void AliT0DataDCS::Draw(const Option_t* )
224 {
225 // Draw all histos and graphs
226
227 if(!fIsProcessed) return;
228
229 TCanvas *ch;
230 TString canvasHistoName="Histos";
231 ch=new TCanvas(canvasHistoName,canvasHistoName,20,20,600,600);
232 ch->Divide(2,2);
233 ch->cd(1);
234 fHv[0]->Draw();
235 ch->cd(2);
236 fHv[1]->Draw();
237 ch->cd(3);
238 fHv[2]->Draw();
239
240 if(fGraphs.GetEntries() == 0) return;
241
242 TCanvas *cg;
243 TString canvasGraphName="Graphs";
244 cg=new TCanvas(canvasGraphName,canvasGraphName,40,40,600,600);
245 cg->Divide(2,2);
246 cg->cd(1);
247 ((TGraph*) fGraphs.UncheckedAt(0))->Draw("alp");
dc7ca31d 248
91366e58 249 cg->cd(2);
250 ((TGraph*) fGraphs.UncheckedAt(1))->Draw("alp");
251 cg->cd(3);
252 ((TGraph*) fGraphs.UncheckedAt(2))->Draw("alp");
253
254 if(fFunc)
255 {
256 cg->cd(4);
257 fFunc->Draw("l");
258 }
dc7ca31d 259 }
91366e58 260*/