1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 $Log: AliT0DataDCS.cxx,v $
18 Fetching data points from DCS, calculating mean and storing data to Reference DB
21 Preliminary test version (T.Malkiewicz)
24 #include "AliT0DataDCS.h"
26 #include "AliCDBMetaData.h"
27 #include "AliDCSValue.h"
30 #include <TTimeStamp.h>
31 #include <TObjString.h>
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
45 ClassImp(AliT0DataDCS)
47 //---------------------------------------------------------------
48 AliT0DataDCS::AliT0DataDCS():
57 //---------------------------------------------------------------
58 AliT0DataDCS::AliT0DataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime):
61 fStartTime(startTime),
65 AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", nRun,
66 TTimeStamp(startTime).AsString(),
67 TTimeStamp(endTime).AsString()));
73 //---------------------------------------------------------------
74 AliT0DataDCS::~AliT0DataDCS() {
78 //---------------------------------------------------------------
79 Bool_t AliT0DataDCS::ProcessData(TMap& aliasMap)
81 Float_t t0_scaler[32];
84 for(int j=0; j<kNAliases; j++)
86 for (Int_t k=0;k<32;k++)
91 aliasArr = (TObjArray*) aliasMap.GetValue(fAliasNames[j].Data());
94 AliError(Form("Alias %s not found!", fAliasNames[j].Data()));
97 if(aliasArr->GetEntries()<2)
99 AliError(Form("Alias %s has just %d entries!",
100 fAliasNames[j].Data(),aliasArr->GetEntries()));
103 aliasEntr[j] = aliasArr->GetEntries();
104 for(int l=0; l<aliasEntr[j]; l++)
106 AliDCSValue *aValue=dynamic_cast<AliDCSValue*> (aliasArr->At(l));
107 t0_scaler[j]+= aValue->GetFloat();
109 fScalerMean[j] = t0_scaler[j] / aliasEntr[j] ;
115 //---------------------------------------------------------------
116 void AliT0DataDCS::Init()
119 for(int i=0;i<kNAliases;i++)
121 fAliasNames[i] = "t00_ac_scaler_";
122 sindex.Form("%02d",i);
123 fAliasNames[i] += sindex;
128 //---------------------------------------------------------------
129 void AliT0DataDCS::Introduce(UInt_t numAlias, const TObjArray* aliasArr){
131 int entries=aliasArr->GetEntries();
132 AliInfo(Form("************ Alias: %s **********",fAliasNames[numAlias].Data()));
133 AliInfo(Form(" %d DP values collected",entries));