]>
Commit | Line | Data |
---|---|---|
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 | ||
20 | ClassImp(AliZDCPreprocessor) | |
21 | ||
22 | //______________________________________________________________________________________________ | |
23 | AliZDCPreprocessor::AliZDCPreprocessor(const char* detector, AliShuttleInterface* shuttle) : | |
24 | AliPreprocessor(detector, shuttle), | |
25 | fData(0) | |
26 | { | |
27 | // constructor | |
28 | } | |
29 | ||
30 | //______________________________________________________________________________________________ | |
31 | AliZDCPreprocessor::~AliZDCPreprocessor() | |
32 | { | |
33 | // destructor | |
34 | } | |
35 | ||
7a78280f | 36 | |
64a7c78d | 37 | //______________________________________________________________________________________________ |
38 | void 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 | //______________________________________________________________________________________________ | |
53 | UInt_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); | |
61 | dcsAliasMap->Print(""); | |
62 | // | |
5a068f58 | 63 | AliZDCCalibData *calibdata = new AliZDCCalibData(); |
31af5828 | 64 | calibdata->SetDCSCalibData(DCSValues); |
64a7c78d | 65 | |
66 | const char* PedfileName = GetFile(kDAQ, "PEDESTALS", "LDC0"); | |
67 | if(PedfileName){ | |
31af5828 | 68 | AliInfo(Form("File %s connected to analyze pedestal events", PedfileName)); |
69 | //TFile *file = TFile::Open(PedfileName); | |
70 | AliCDBEntry *entry = AliCDBManager::Instance()->Get("ZDC/Calib/Data/"); | |
71 | AliZDCCalibData *calibpeddata = (AliZDCCalibData*) entry->GetObject(); | |
72 | calibpeddata->Print(""); | |
73 | calibdata->SetMeanPed(calibpeddata->GetMeanPed()); | |
74 | calibdata->SetMeanPedWidth(calibpeddata->GetMeanPedWidth()); | |
75 | calibdata->SetOOTPed(calibpeddata->GetOOTPed()); | |
76 | calibdata->SetOOTPedWidth(calibpeddata->GetOOTPedWidth()); | |
77 | calibdata->SetPedCorrCoeff(calibpeddata->GetPedCorrCoeff()); | |
64a7c78d | 78 | } |
79 | else AliInfo(Form("File %s not found", PedfileName)); | |
80 | ||
31af5828 | 81 | const char* EMDfileName = GetFile(kDAQ, "MUTUALEMD", "LDC0"); |
64a7c78d | 82 | if(EMDfileName){ |
31af5828 | 83 | AliInfo(Form("File %s connected to analyze EM dissociation events", EMDfileName)); |
84 | //TFile *file = TFile::Open(EMDfileName); | |
85 | AliCDBEntry *entry = AliCDBManager::Instance()->Get("ZDC/Calib/Data/"); | |
86 | AliZDCCalibData *calibEMDdata = (AliZDCCalibData*) entry->GetObject(); | |
87 | calibdata->SetEnCalib(calibEMDdata->GetEnCalib()); | |
64a7c78d | 88 | } |
89 | else AliInfo(Form("File %s not found", EMDfileName)); | |
31af5828 | 90 | |
91 | calibdata->Print(""); | |
92 | ||
64a7c78d | 93 | //Now we have to store the final CDB file |
94 | AliCDBMetaData metaData; | |
31af5828 | 95 | metaData.SetBeamPeriod(0); |
96 | metaData.SetResponsible("Chiara"); | |
97 | metaData.SetComment("This preprocessor fills an AliZDCDataDCS object."); | |
64a7c78d | 98 | |
7a78280f | 99 | UInt_t result = Store("SHUTTLE","Data",fData, &metaData); |
31af5828 | 100 | delete fData; |
101 | fData = 0; | |
64a7c78d | 102 | |
5a068f58 | 103 | delete calibdata; |
64a7c78d | 104 | return result; |
105 | } | |
106 |