]>
Commit | Line | Data |
---|---|---|
9dcc11e4 | 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 * * appear in the supporting documentation. The authors make no claims * | |
11 | * about the suitability of this software for any purpose. It is * | |
12 | * provided "as is" without express or implied warranty. * | |
13 | **************************************************************************/ | |
14 | ||
15 | /* | |
16 | $Log: AliT0DataDCS.cxx,v $ | |
17 | Revision 2008/01/30 | |
18 | Fetching data points from DCS, calculating mean and storing data to Reference DB | |
19 | ||
20 | Version 1.1 2006/10 | |
21 | Preliminary test version (T.Malkiewicz) | |
22 | */ | |
23 | ||
dc7ca31d | 24 | #include "AliT0DataDCS.h" |
25 | ||
26 | #include "AliCDBMetaData.h" | |
27 | #include "AliDCSValue.h" | |
28 | #include "AliLog.h" | |
29 | ||
30 | #include <TTimeStamp.h> | |
31 | #include <TObjString.h> | |
32 | #include <TH2F.h> | |
33 | #include <TProfile.h> | |
34 | #include <TGraph.h> | |
35 | #include <TDatime.h> | |
36 | #include <TStyle.h> | |
37 | #include <TCanvas.h> | |
38 | ||
9dcc11e4 | 39 | // AliT0DataDCS class |
40 | // declaring DCS aliases for T0 | |
41 | // fetching T0 data points from DCS, | |
42 | // calculating mean values for the entire run | |
43 | // and storing the result to Reference DB | |
44 | ||
dc7ca31d | 45 | ClassImp(AliT0DataDCS) |
46 | ||
47 | //--------------------------------------------------------------- | |
48 | AliT0DataDCS::AliT0DataDCS(): | |
49 | TObject(), | |
9dcc11e4 | 50 | fRun(0), |
dc7ca31d | 51 | fStartTime(0), |
52 | fEndTime(0), | |
dc7ca31d | 53 | fIsProcessed(kFALSE) |
54 | { | |
dc7ca31d | 55 | } |
56 | ||
57 | //--------------------------------------------------------------- | |
58 | AliT0DataDCS::AliT0DataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime): | |
59 | TObject(), | |
60 | fRun(nRun), | |
61 | fStartTime(startTime), | |
62 | fEndTime(endTime), | |
dc7ca31d | 63 | fIsProcessed(kFALSE) |
64 | { | |
65 | AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", nRun, | |
66 | TTimeStamp(startTime).AsString(), | |
67 | TTimeStamp(endTime).AsString())); | |
68 | ||
dc7ca31d | 69 | Init(); |
70 | ||
71 | } | |
72 | ||
73 | //--------------------------------------------------------------- | |
74 | AliT0DataDCS::~AliT0DataDCS() { | |
75 | ||
dc7ca31d | 76 | } |
77 | ||
78 | //--------------------------------------------------------------- | |
91366e58 | 79 | Bool_t AliT0DataDCS::ProcessData(TMap& aliasMap) |
80 | { | |
9dcc11e4 | 81 | Float_t t0_scaler[32]; |
82 | Int_t aliasEntr[32]; | |
970bb0d0 | 83 | TObjArray *aliasArr; |
970bb0d0 | 84 | for(int j=0; j<kNAliases; j++) |
85 | { | |
9dcc11e4 | 86 | for (Int_t k=0;k<32;k++) |
87 | { | |
88 | t0_scaler[k]=0; | |
89 | aliasEntr[k]=0; | |
90 | } | |
91 | aliasArr = (TObjArray*) aliasMap.GetValue(fAliasNames[j].Data()); | |
970bb0d0 | 92 | if(!aliasArr) |
93 | { | |
94 | AliError(Form("Alias %s not found!", fAliasNames[j].Data())); | |
91366e58 | 95 | continue; |
970bb0d0 | 96 | } |
970bb0d0 | 97 | if(aliasArr->GetEntries()<2) |
98 | { | |
99 | AliError(Form("Alias %s has just %d entries!", | |
100 | fAliasNames[j].Data(),aliasArr->GetEntries())); | |
101 | continue; | |
102 | } | |
9dcc11e4 | 103 | aliasEntr[j] = aliasArr->GetEntries(); |
104 | for(int l=0; l<aliasEntr[j]; l++) | |
970bb0d0 | 105 | { |
9dcc11e4 | 106 | AliDCSValue *aValue=dynamic_cast<AliDCSValue*> (aliasArr->At(l)); |
107 | t0_scaler[j]+= aValue->GetFloat(); | |
970bb0d0 | 108 | } |
9dcc11e4 | 109 | fScalerMean[j] = t0_scaler[j] / aliasEntr[j] ; |
970bb0d0 | 110 | } |
dc7ca31d | 111 | fIsProcessed=kTRUE; |
9dcc11e4 | 112 | return kTRUE; |
dc7ca31d | 113 | } |
114 | ||
115 | //--------------------------------------------------------------- | |
91366e58 | 116 | void AliT0DataDCS::Init() |
117 | { | |
9dcc11e4 | 118 | TString sindex; |
91366e58 | 119 | for(int i=0;i<kNAliases;i++) |
120 | { | |
9dcc11e4 | 121 | fAliasNames[i] = "t00_ac_scaler_"; |
122 | sindex.Form("%02d",i); | |
123 | fAliasNames[i] += sindex; | |
dc7ca31d | 124 | } |
125 | ||
dc7ca31d | 126 | } |
127 | ||
128 | //--------------------------------------------------------------- | |
129 | void AliT0DataDCS::Introduce(UInt_t numAlias, const TObjArray* aliasArr){ | |
130 | ||
131 | int entries=aliasArr->GetEntries(); | |
132 | AliInfo(Form("************ Alias: %s **********",fAliasNames[numAlias].Data())); | |
133 | AliInfo(Form(" %d DP values collected",entries)); | |
134 | ||
135 | } | |
136 | ||
dc7ca31d | 137 | |
91366e58 | 138 |