]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ZDC/AliZDCPreprocessor.cxx
Small changes
[u/mrichter/AliRoot.git] / ZDC / AliZDCPreprocessor.cxx
CommitLineData
31af5828 1// --- ROOT system
2#include <TFile.h>
3#include <TTimeStamp.h>
64a7c78d 4
31af5828 5#include "AliZDCPreprocessor.h"
6#include "AliCDBManager.h"
7#include "AliCDBEntry.h"
64a7c78d 8#include "AliCDBMetaData.h"
9#include "AliDCSValue.h"
10#include "AliLog.h"
11#include "AliZDCDataDCS.h"
31af5828 12#include "AliZDCCalibData.h"
64a7c78d 13
14//
7a78280f 15// Class implementing ZDC pre-processor.
16// It takes data from DCS and passes it to the class AliZDCDataDCS.
17// The class is then written to the CDB.
64a7c78d 18//
19
20ClassImp(AliZDCPreprocessor)
21
22//______________________________________________________________________________________________
23AliZDCPreprocessor::AliZDCPreprocessor(const char* detector, AliShuttleInterface* shuttle) :
24 AliPreprocessor(detector, shuttle),
25 fData(0)
26{
27 // constructor
28}
29
30//______________________________________________________________________________________________
31AliZDCPreprocessor::~AliZDCPreprocessor()
32{
33 // destructor
34}
35
7a78280f 36
64a7c78d 37//______________________________________________________________________________________________
38void AliZDCPreprocessor::Initialize(Int_t run, UInt_t startTime,
39 UInt_t endTime)
40{
41 // Creates AliZDCDataDCS object
42
43 AliPreprocessor::Initialize(run, startTime, endTime);
44
45 AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", run,
46 TTimeStamp(startTime).AsString(),
47 TTimeStamp(endTime).AsString()));
48
49 fData = new AliZDCDataDCS(fRun, fStartTime, fEndTime);
50}
51
52//______________________________________________________________________________________________
53UInt_t AliZDCPreprocessor::Process(TMap* dcsAliasMap)
54{
55 // Fills data into a AliZDCDataDCS object
31af5828 56 if(!dcsAliasMap) return 0;
64a7c78d 57
58 // The processing of the DCS input data is forwarded to AliZDCDataDCS
31af5828 59 Float_t DCSValues[26];
60 fData->ProcessData(*dcsAliasMap, DCSValues);
e1ea0c63 61 //dcsAliasMap->Print("");
31af5828 62 //
e1ea0c63 63 AliZDCCalibData *calibdata = new AliZDCCalibData("ZDC");
31af5828 64 calibdata->SetDCSCalibData(DCSValues);
64a7c78d 65
e1ea0c63 66 const char* PedFileName = GetFile(kDAQ, "PEDESTALS", "LDC0");
9b3bf356 67 const Int_t NZDCch = 44;
e1ea0c63 68 if(PedFileName){
e1ea0c63 69 AliInfo(Form("File %s connected to analyze pedestal events", PedFileName));
70 Float_t PedVal[(3*NZDCch)][2];
71 for(Int_t i=0; i<(3*NZDCch); i++){
72 for(Int_t j=0; j<2; j++){
73 fscanf(file,"%f",&PedVal[i][j]);
74 printf("PedVal[%d][%d] -> %f \n",i,j,PedVal[i][j]);
75 }
76 if(i<NZDCch){
77 calibdata->SetMeanPed(i,PedVal[i][0]);
78 calibdata->SetMeanPedWidth(i,PedVal[i][1]);
79 }
80 else if(i>=NZDCch && i<(2*NZDCch)){
81 calibdata->SetOOTPed(i,PedVal[i][0]);
82 calibdata->SetOOTPedWidth(i,PedVal[i][1]);
83 }
84 else if(i>=(2*NZDCch) && i<(3*NZDCch)){
85 calibdata->SetPedCorrCoeff(i,PedVal[i][0],PedVal[i][1]);
86 }
87 }
64a7c78d 88 }
e1ea0c63 89 else AliInfo(Form("File %s not found", PedFileName));
90
91 const char* EMDFileName = GetFile(kDAQ, "EMDCALIB", "LDC0");
92 if(EMDFileName){
e1ea0c63 93 AliInfo(Form("File %s connected to analyze EM dissociation events", EMDFileName));
94 Float_t EMDFitVal[2];
95 for(Int_t j=0; j<2; j++){
96 fscanf(file,"%f",&EMDFitVal[j]);
97 }
98 calibdata->SetEnCalib(EMDFitVal);
64a7c78d 99 }
e1ea0c63 100 else AliInfo(Form("File %s not found", EMDFileName));
101 //
31af5828 102 calibdata->Print("");
103
e1ea0c63 104 // note that the parameters are returned as character strings!
105 const char* nEvents = GetRunParameter("totalEvents");
106 if (nEvents) {
107 Log(Form("Number of events for run %d: %s",fRun, nEvents));
108 } else {
109 Log(Form("Number of events not put in logbook!"));
110 }
111
64a7c78d 112 //Now we have to store the final CDB file
113 AliCDBMetaData metaData;
31af5828 114 metaData.SetBeamPeriod(0);
115 metaData.SetResponsible("Chiara");
116 metaData.SetComment("This preprocessor fills an AliZDCDataDCS object.");
64a7c78d 117
e1ea0c63 118 UInt_t result = Store("SHUTTLE","Data",fData, &metaData, 0, 0);
31af5828 119 delete fData;
120 fData = 0;
64a7c78d 121
122 return result;
123}
124