1 #include "AliT0Preprocessor.h"
3 #include "AliCDBMetaData.h"
4 #include "AliDCSValue.h"
8 #include <TTimeStamp.h>
10 #include <TObjString.h>
12 #include "AliT0Dqclass.h"
14 ClassImp(AliT0Preprocessor)
16 //____________________________________________________
17 AliT0Preprocessor::AliT0Preprocessor(AliShuttleInterface* shuttle) :
18 AliPreprocessor("T00", shuttle)
23 AliT0Preprocessor::~AliT0Preprocessor()
28 UInt_t AliT0Preprocessor::Process(TMap* dcsAliasMap )
31 if(!dcsAliasMap) return 1;
34 // AliDCSValue *aValue;
35 Float_t hv[24]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
37 for(int j=0; j<24; j++){
38 TString aliasName =Form("T0HV%d",j);
39 // printf("aliasname: %s\n",aliasName.Data());
40 aliasArr = dynamic_cast<TObjArray*> (dcsAliasMap->GetValue(aliasName.Data()));
42 AliError(Form("Alias %s not found!", aliasName.Data()));
45 AliDCSValue *aValue=dynamic_cast<AliDCSValue*> (aliasArr->At(0));
46 // printf("I'm here! %f %x\n", aValue->GetFloat(), aValue->GetTimeStamp());
47 hv[j]= aValue->GetFloat()*100;
48 //Float_t timestamp= (Float_t) (aValue->GetTimeStamp());
49 // printf("hello! hv = %f timestamp = %f\n" ,hv[j], timestamp);
54 AliT0Calc *calibdata = new AliT0Calc();
56 TList* list = GetFileSources(kDAQ, "TIME");
61 while ((source = dynamic_cast<TObjString *> (iter.Next())))
63 const char* TimefileName = GetFile(kDAQ, "TIME", source->GetName());
67 Log(Form("File with Id TIME found in source %s!", source->GetName()));
68 TFile *file = TFile::Open(TimefileName);
69 if(!file || !file->IsOpen())
71 Log(Form("Error opening file with Id TIME from source %s!", source->GetName()));
74 AliT0Dqclass *tempdata = dynamic_cast<AliT0Dqclass*> (file->Get("Time"));
77 Log("Could not find key \"Time\" in DAQ file!");
80 for(Int_t i=0;i<24;i++){
81 numbers[i] = tempdata->GetTime(i);
82 // printf("\nnumbers: %f\n",numbers[i]);
87 Log(Form("Could not find file with Id TIME in source %s!", source->GetName()));
90 calibdata->SetTime(numbers, hv);
94 Log("No sources for Id TIME found!");
97 AliCDBMetaData metaData;
98 metaData.SetBeamPeriod(0);
99 metaData.SetResponsible("Tomek&Michal");
100 metaData.SetComment("This preprocessor returns time to be used for reconstruction.");
102 Bool_t result = Store("Calib","Data", calibdata, &metaData);