From 19a3e642bbe874b0a2478984477e45978b32b531 Mon Sep 17 00:00:00 2001 From: cheynis Date: Fri, 26 Jun 2009 15:11:02 +0000 Subject: [PATCH] Implementation of Trigger simulation (Raphael Tieulent) --- VZERO/DBStorageFEE.C | 106 ++++++ VZERO/DCSValues.txt | 699 ++++++++++++++++++++++++++++++++++ VZERO/VZEROTestPreprocessor.C | 207 ++++++++++ 3 files changed, 1012 insertions(+) create mode 100644 VZERO/DBStorageFEE.C create mode 100644 VZERO/DCSValues.txt create mode 100644 VZERO/VZEROTestPreprocessor.C diff --git a/VZERO/DBStorageFEE.C b/VZERO/DBStorageFEE.C new file mode 100644 index 00000000000..906f34fd046 --- /dev/null +++ b/VZERO/DBStorageFEE.C @@ -0,0 +1,106 @@ + +void DBStorageFEE(){ + + AliCDBManager *man = AliCDBManager::Instance(); + + AliCDBStorage *storLoc; + man->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); + + // Setting gain and pedestal values : + + AliVZEROTriggerData *triggerData = new AliVZEROTriggerData(); + + const int N = AliVZEROTriggerData::kNCIUBoards; + + UShort_t Clk1Win1[N] = {1,1,1,1,3,3,3,3,}; + UShort_t Clk2Win1[N] = {3,3,3,3,14,14,14,14}; + triggerData->SetClk1Win1(Clk1Win1); + triggerData->SetClk2Win1(Clk2Win1); + + UShort_t Clk1Win2[N] = {7,7,7,7,7,7,7,7}; + UShort_t Clk2Win2[N] = {14,14,14,14,14,14,14,14}; + triggerData->SetClk1Win2(Clk1Win1); + triggerData->SetClk2Win2(Clk2Win1); + + UShort_t delayClk1Win1[N] = {0,0,0,0,300,300,300,300}; // 1 unit correspond to 10 ps delay + UShort_t delayClk2Win1[N] = {0,0,0,0,200,200,200,200}; // 1 unit correspond to 10 ps delay + triggerData->SetDelayClk1Win1(delayClk1Win1); + triggerData->SetDelayClk2Win1(delayClk2Win1); + + UShort_t delayClk1Win2[N] = {100,100,100,100,100,100,100,100}; // 1 unit correspond to 10 ps delay + UShort_t delayClk2Win2[N] = {200,200,200,200,200,200,200,200}; // 1 unit correspond to 10 ps delay + triggerData->SetDelayClk1Win2(delayClk1Win2); + triggerData->SetDelayClk2Win2(delayClk2Win2); + + UShort_t LatchWin1[N] = {16,16,16,16,16,16,16,16}; + triggerData->SetLatchWin1(LatchWin1); + + UShort_t LatchWin2[N] = {16,16,16,16,16,16,16,16}; + triggerData->SetLatchWin2(LatchWin2); + + UShort_t ResetWin1[N] = {16,16,16,16,16,16,16,16}; + triggerData->SetResetWin1(ResetWin1); + + UShort_t ResetWin2[N] = {16,16,16,16,16,16,16,16}; + triggerData->SetResetWin2(ResetWin2); + + Bool_t PedestalSubtraction[N] = {1,1,1,1,1,1,1,1}; + triggerData->SetPedestalSubtraction(PedestalSubtraction); + + triggerData->SetBBAThreshold(2); + triggerData->SetBBCThreshold(2); + + triggerData->SetBGAThreshold(3); + triggerData->SetBGCThreshold(3); + + triggerData->SetBBAForBGThreshold(3); + triggerData->SetBBCForBGThreshold(3); + + triggerData->SetCentralityV0AThrLow(100); + triggerData->SetCentralityV0AThrHigh(500); + + triggerData->SetCentralityV0CThrLow(100); + triggerData->SetCentralityV0CThrHigh(500); + + triggerData->SetMultV0AThrLow(2); + triggerData->SetMultV0AThrHigh(10); + + triggerData->SetMultV0CThrLow(2); + triggerData->SetMultV0CThrHigh(10); + + for(int ibrd =0;ibrd<8;ibrd++){ + for(int ich =0;ich<8;ich++){ + triggerData->SetEnableTiming(kTRUE,ibrd,ich); + triggerData->SetEnableCharge(kTRUE,ibrd,ich); + triggerData->SetDelayHit(0,ibrd,ich); + for(int iint=0;iint<2;iint++){ + triggerData->SetPedestal(16,iint,ibrd,ich); + triggerData->SetPedestalCut(17,iint,ibrd,ich); + } + } + } + + + // Creation of the object VZERO Trigger Configuration as a MetaData + + TObjString str("VZERO Trigger Configuration"); // object that will be stored + + AliCDBMetaData *md= new AliCDBMetaData(); // metaData describing the object + + AliCDBId id("VZERO/Trigger/Data",0,9999999); + + //md->SetObjectClassName("VZERO calibration parameters"); automatically + //set to AliVZEROCalibData by the CDB classes during storage + md->SetResponsible("Brigitte Cheynis"); + md->SetBeamPeriod(0); + md->SetAliRootVersion("January 2009"); + md->SetComment("Prototype"); + md->PrintMetaData(); + + storLoc = man->GetDefaultStorage(); + storLoc->Put(triggerData, id, md); + + storLoc->Delete(); + delete md; + +} diff --git a/VZERO/DCSValues.txt b/VZERO/DCSValues.txt new file mode 100644 index 00000000000..cad518647cf --- /dev/null +++ b/VZERO/DCSValues.txt @@ -0,0 +1,699 @@ +V00/FEE/CCIU/BBAThreshold 1 +V00/FEE/CCIU/BBCThreshold 1 +V00/FEE/CCIU/BGAThreshold 1 +V00/FEE/CCIU/BGCThreshold 1 +V00/FEE/CCIU/BBAForBGThreshold 1 +V00/FEE/CCIU/BBCForBGThreshold 1 +V00/FEE/CCIU/CentralityV0AThrLow 100 +V00/FEE/CCIU/CentralityV0AThrHigh 400 +V00/FEE/CCIU/CentralityV0CThrLow 100 +V00/FEE/CCIU/CentralityV0CThrHigh 400 +V00/FEE/CCIU/MultV0AThrLow 3 +V00/FEE/CCIU/MultV0AThrHigh 32 +V00/FEE/CCIU/MultV0CThrLow 3 +V00/FEE/CCIU/MultV0CThrHigh 32 +V00/FEE/CCIU/TriggerSelect1 1 +V00/FEE/CCIU/TriggerSelect2 2 +V00/FEE/CCIU/TriggerSelect3 3 +V00/FEE/CCIU/TriggerSelect4 4 +V00/FEE/CCIU/TriggerSelect5 5 +V00/FEE/CIU1/Clk1Win1 1 +V00/FEE/CIU1/Clk2Win1 3 +V00/FEE/CIU1/Clk1Win2 7 +V00/FEE/CIU1/Clk2Win2 14 +V00/FEE/CIU1/DelayClk1Win1 0 +V00/FEE/CIU1/DelayClk2Win1 100 +V00/FEE/CIU1/DelayClk1Win2 0 +V00/FEE/CIU1/DelayClk2Win2 100 +V00/FEE/CIU1/LatchWin1 16 +V00/FEE/CIU1/LatchWin2 16 +V00/FEE/CIU1/ResetWin1 16 +V00/FEE/CIU1/ResetWin2 16 +V00/FEE/CIU1/PedestalSubtraction 1 +V00/FEE/CIU1/EnableCharge1 1 +V00/FEE/CIU1/EnableCharge2 1 +V00/FEE/CIU1/EnableCharge3 1 +V00/FEE/CIU1/EnableCharge4 1 +V00/FEE/CIU1/EnableCharge5 1 +V00/FEE/CIU1/EnableCharge6 1 +V00/FEE/CIU1/EnableCharge7 1 +V00/FEE/CIU1/EnableCharge8 1 +V00/FEE/CIU1/EnableTiming1 1 +V00/FEE/CIU1/EnableTiming2 1 +V00/FEE/CIU1/EnableTiming3 1 +V00/FEE/CIU1/EnableTiming4 1 +V00/FEE/CIU1/EnableTiming5 1 +V00/FEE/CIU1/EnableTiming6 1 +V00/FEE/CIU1/EnableTiming7 1 +V00/FEE/CIU1/EnableTiming8 1 +V00/FEE/CIU1/PedEven1 16 +V00/FEE/CIU1/PedEven2 16 +V00/FEE/CIU1/PedEven3 16 +V00/FEE/CIU1/PedEven4 16 +V00/FEE/CIU1/PedEven5 16 +V00/FEE/CIU1/PedEven6 16 +V00/FEE/CIU1/PedEven7 16 +V00/FEE/CIU1/PedEven8 16 +V00/FEE/CIU1/PedOdd1 16 +V00/FEE/CIU1/PedOdd2 16 +V00/FEE/CIU1/PedOdd3 16 +V00/FEE/CIU1/PedOdd4 16 +V00/FEE/CIU1/PedOdd5 16 +V00/FEE/CIU1/PedOdd6 16 +V00/FEE/CIU1/PedOdd7 16 +V00/FEE/CIU1/PedOdd8 16 +V00/FEE/CIU1/PedCutEven1 18 +V00/FEE/CIU1/PedCutEven2 18 +V00/FEE/CIU1/PedCutEven3 18 +V00/FEE/CIU1/PedCutEven4 18 +V00/FEE/CIU1/PedCutEven5 18 +V00/FEE/CIU1/PedCutEven6 18 +V00/FEE/CIU1/PedCutEven7 18 +V00/FEE/CIU1/PedCutEven8 18 +V00/FEE/CIU1/PedCutOdd1 18 +V00/FEE/CIU1/PedCutOdd2 18 +V00/FEE/CIU1/PedCutOdd3 18 +V00/FEE/CIU1/PedCutOdd4 18 +V00/FEE/CIU1/PedCutOdd5 18 +V00/FEE/CIU1/PedCutOdd6 18 +V00/FEE/CIU1/PedCutOdd7 18 +V00/FEE/CIU1/PedCutOdd8 18 +V00/FEE/CIU1/DelayHit1 100 +V00/FEE/CIU1/DelayHit2 100 +V00/FEE/CIU1/DelayHit3 100 +V00/FEE/CIU1/DelayHit4 100 +V00/FEE/CIU1/DelayHit5 100 +V00/FEE/CIU1/DelayHit6 100 +V00/FEE/CIU1/DelayHit7 100 +V00/FEE/CIU1/DelayHit8 100 +V00/FEE/CIU1/DiscriThr1 2000 +V00/FEE/CIU1/DiscriThr2 2000 +V00/FEE/CIU1/DiscriThr3 2000 +V00/FEE/CIU1/DiscriThr4 2000 +V00/FEE/CIU1/DiscriThr5 2000 +V00/FEE/CIU1/DiscriThr6 2000 +V00/FEE/CIU1/DiscriThr7 2000 +V00/FEE/CIU1/DiscriThr8 2000 +V00/FEE/CIU2/Clk1Win1 1 +V00/FEE/CIU2/Clk2Win1 3 +V00/FEE/CIU2/Clk1Win2 7 +V00/FEE/CIU2/Clk2Win2 14 +V00/FEE/CIU2/DelayClk1Win1 0 +V00/FEE/CIU2/DelayClk2Win1 100 +V00/FEE/CIU2/DelayClk1Win2 0 +V00/FEE/CIU2/DelayClk2Win2 100 +V00/FEE/CIU2/LatchWin1 16 +V00/FEE/CIU2/LatchWin2 16 +V00/FEE/CIU2/ResetWin1 16 +V00/FEE/CIU2/ResetWin2 16 +V00/FEE/CIU2/PedestalSubtraction 1 +V00/FEE/CIU2/EnableCharge1 1 +V00/FEE/CIU2/EnableCharge2 1 +V00/FEE/CIU2/EnableCharge3 1 +V00/FEE/CIU2/EnableCharge4 1 +V00/FEE/CIU2/EnableCharge5 1 +V00/FEE/CIU2/EnableCharge6 1 +V00/FEE/CIU2/EnableCharge7 1 +V00/FEE/CIU2/EnableCharge8 1 +V00/FEE/CIU2/EnableTiming1 1 +V00/FEE/CIU2/EnableTiming2 1 +V00/FEE/CIU2/EnableTiming3 1 +V00/FEE/CIU2/EnableTiming4 1 +V00/FEE/CIU2/EnableTiming5 1 +V00/FEE/CIU2/EnableTiming6 1 +V00/FEE/CIU2/EnableTiming7 1 +V00/FEE/CIU2/EnableTiming8 1 +V00/FEE/CIU2/PedEven1 16 +V00/FEE/CIU2/PedEven2 16 +V00/FEE/CIU2/PedEven3 16 +V00/FEE/CIU2/PedEven4 16 +V00/FEE/CIU2/PedEven5 16 +V00/FEE/CIU2/PedEven6 16 +V00/FEE/CIU2/PedEven7 16 +V00/FEE/CIU2/PedEven8 16 +V00/FEE/CIU2/PedOdd1 16 +V00/FEE/CIU2/PedOdd2 16 +V00/FEE/CIU2/PedOdd3 16 +V00/FEE/CIU2/PedOdd4 16 +V00/FEE/CIU2/PedOdd5 16 +V00/FEE/CIU2/PedOdd6 16 +V00/FEE/CIU2/PedOdd7 16 +V00/FEE/CIU2/PedOdd8 16 +V00/FEE/CIU2/PedCutEven1 18 +V00/FEE/CIU2/PedCutEven2 18 +V00/FEE/CIU2/PedCutEven3 18 +V00/FEE/CIU2/PedCutEven4 18 +V00/FEE/CIU2/PedCutEven5 18 +V00/FEE/CIU2/PedCutEven6 18 +V00/FEE/CIU2/PedCutEven7 18 +V00/FEE/CIU2/PedCutEven8 18 +V00/FEE/CIU2/PedCutOdd1 18 +V00/FEE/CIU2/PedCutOdd2 18 +V00/FEE/CIU2/PedCutOdd3 18 +V00/FEE/CIU2/PedCutOdd4 18 +V00/FEE/CIU2/PedCutOdd5 18 +V00/FEE/CIU2/PedCutOdd6 18 +V00/FEE/CIU2/PedCutOdd7 18 +V00/FEE/CIU2/PedCutOdd8 18 +V00/FEE/CIU2/DelayHit1 100 +V00/FEE/CIU2/DelayHit2 100 +V00/FEE/CIU2/DelayHit3 100 +V00/FEE/CIU2/DelayHit4 100 +V00/FEE/CIU2/DelayHit5 100 +V00/FEE/CIU2/DelayHit6 100 +V00/FEE/CIU2/DelayHit7 100 +V00/FEE/CIU2/DelayHit8 100 +V00/FEE/CIU2/DiscriThr1 2000 +V00/FEE/CIU2/DiscriThr2 2000 +V00/FEE/CIU2/DiscriThr3 2000 +V00/FEE/CIU2/DiscriThr4 2000 +V00/FEE/CIU2/DiscriThr5 2000 +V00/FEE/CIU2/DiscriThr6 2000 +V00/FEE/CIU2/DiscriThr7 2000 +V00/FEE/CIU2/DiscriThr8 2000 +V00/FEE/CIU3/Clk1Win1 1 +V00/FEE/CIU3/Clk2Win1 3 +V00/FEE/CIU3/Clk1Win2 7 +V00/FEE/CIU3/Clk2Win2 14 +V00/FEE/CIU3/DelayClk1Win1 0 +V00/FEE/CIU3/DelayClk2Win1 100 +V00/FEE/CIU3/DelayClk1Win2 0 +V00/FEE/CIU3/DelayClk2Win2 100 +V00/FEE/CIU3/LatchWin1 16 +V00/FEE/CIU3/LatchWin2 16 +V00/FEE/CIU3/ResetWin1 16 +V00/FEE/CIU3/ResetWin2 16 +V00/FEE/CIU3/PedestalSubtraction 1 +V00/FEE/CIU3/EnableCharge1 1 +V00/FEE/CIU3/EnableCharge2 1 +V00/FEE/CIU3/EnableCharge3 1 +V00/FEE/CIU3/EnableCharge4 1 +V00/FEE/CIU3/EnableCharge5 1 +V00/FEE/CIU3/EnableCharge6 1 +V00/FEE/CIU3/EnableCharge7 1 +V00/FEE/CIU3/EnableCharge8 1 +V00/FEE/CIU3/EnableTiming1 1 +V00/FEE/CIU3/EnableTiming2 1 +V00/FEE/CIU3/EnableTiming3 1 +V00/FEE/CIU3/EnableTiming4 1 +V00/FEE/CIU3/EnableTiming5 1 +V00/FEE/CIU3/EnableTiming6 1 +V00/FEE/CIU3/EnableTiming7 1 +V00/FEE/CIU3/EnableTiming8 1 +V00/FEE/CIU3/PedEven1 16 +V00/FEE/CIU3/PedEven2 16 +V00/FEE/CIU3/PedEven3 16 +V00/FEE/CIU3/PedEven4 16 +V00/FEE/CIU3/PedEven5 16 +V00/FEE/CIU3/PedEven6 16 +V00/FEE/CIU3/PedEven7 16 +V00/FEE/CIU3/PedEven8 16 +V00/FEE/CIU3/PedOdd1 16 +V00/FEE/CIU3/PedOdd2 16 +V00/FEE/CIU3/PedOdd3 16 +V00/FEE/CIU3/PedOdd4 16 +V00/FEE/CIU3/PedOdd5 16 +V00/FEE/CIU3/PedOdd6 16 +V00/FEE/CIU3/PedOdd7 16 +V00/FEE/CIU3/PedOdd8 16 +V00/FEE/CIU3/PedCutEven1 18 +V00/FEE/CIU3/PedCutEven2 18 +V00/FEE/CIU3/PedCutEven3 18 +V00/FEE/CIU3/PedCutEven4 18 +V00/FEE/CIU3/PedCutEven5 18 +V00/FEE/CIU3/PedCutEven6 18 +V00/FEE/CIU3/PedCutEven7 18 +V00/FEE/CIU3/PedCutEven8 18 +V00/FEE/CIU3/PedCutOdd1 18 +V00/FEE/CIU3/PedCutOdd2 18 +V00/FEE/CIU3/PedCutOdd3 18 +V00/FEE/CIU3/PedCutOdd4 18 +V00/FEE/CIU3/PedCutOdd5 18 +V00/FEE/CIU3/PedCutOdd6 18 +V00/FEE/CIU3/PedCutOdd7 18 +V00/FEE/CIU3/PedCutOdd8 18 +V00/FEE/CIU3/DelayHit1 100 +V00/FEE/CIU3/DelayHit2 100 +V00/FEE/CIU3/DelayHit3 100 +V00/FEE/CIU3/DelayHit4 100 +V00/FEE/CIU3/DelayHit5 100 +V00/FEE/CIU3/DelayHit6 100 +V00/FEE/CIU3/DelayHit7 100 +V00/FEE/CIU3/DelayHit8 100 +V00/FEE/CIU3/DiscriThr1 2000 +V00/FEE/CIU3/DiscriThr2 2000 +V00/FEE/CIU3/DiscriThr3 2000 +V00/FEE/CIU3/DiscriThr4 2000 +V00/FEE/CIU3/DiscriThr5 2000 +V00/FEE/CIU3/DiscriThr6 2000 +V00/FEE/CIU3/DiscriThr7 2000 +V00/FEE/CIU3/DiscriThr8 2000 +V00/FEE/CIU4/Clk1Win1 1 +V00/FEE/CIU4/Clk2Win1 3 +V00/FEE/CIU4/Clk1Win2 7 +V00/FEE/CIU4/Clk2Win2 14 +V00/FEE/CIU4/DelayClk1Win1 0 +V00/FEE/CIU4/DelayClk2Win1 100 +V00/FEE/CIU4/DelayClk1Win2 0 +V00/FEE/CIU4/DelayClk2Win2 100 +V00/FEE/CIU4/LatchWin1 16 +V00/FEE/CIU4/LatchWin2 16 +V00/FEE/CIU4/ResetWin1 16 +V00/FEE/CIU4/ResetWin2 16 +V00/FEE/CIU4/PedestalSubtraction 1 +V00/FEE/CIU4/EnableCharge1 1 +V00/FEE/CIU4/EnableCharge2 1 +V00/FEE/CIU4/EnableCharge3 1 +V00/FEE/CIU4/EnableCharge4 1 +V00/FEE/CIU4/EnableCharge5 1 +V00/FEE/CIU4/EnableCharge6 1 +V00/FEE/CIU4/EnableCharge7 1 +V00/FEE/CIU4/EnableCharge8 1 +V00/FEE/CIU4/EnableTiming1 1 +V00/FEE/CIU4/EnableTiming2 1 +V00/FEE/CIU4/EnableTiming3 1 +V00/FEE/CIU4/EnableTiming4 1 +V00/FEE/CIU4/EnableTiming5 1 +V00/FEE/CIU4/EnableTiming6 1 +V00/FEE/CIU4/EnableTiming7 1 +V00/FEE/CIU4/EnableTiming8 1 +V00/FEE/CIU4/PedEven1 16 +V00/FEE/CIU4/PedEven2 16 +V00/FEE/CIU4/PedEven3 16 +V00/FEE/CIU4/PedEven4 16 +V00/FEE/CIU4/PedEven5 16 +V00/FEE/CIU4/PedEven6 16 +V00/FEE/CIU4/PedEven7 16 +V00/FEE/CIU4/PedEven8 16 +V00/FEE/CIU4/PedOdd1 16 +V00/FEE/CIU4/PedOdd2 16 +V00/FEE/CIU4/PedOdd3 16 +V00/FEE/CIU4/PedOdd4 16 +V00/FEE/CIU4/PedOdd5 16 +V00/FEE/CIU4/PedOdd6 16 +V00/FEE/CIU4/PedOdd7 16 +V00/FEE/CIU4/PedOdd8 16 +V00/FEE/CIU4/PedCutEven1 18 +V00/FEE/CIU4/PedCutEven2 18 +V00/FEE/CIU4/PedCutEven3 18 +V00/FEE/CIU4/PedCutEven4 18 +V00/FEE/CIU4/PedCutEven5 18 +V00/FEE/CIU4/PedCutEven6 18 +V00/FEE/CIU4/PedCutEven7 18 +V00/FEE/CIU4/PedCutEven8 18 +V00/FEE/CIU4/PedCutOdd1 18 +V00/FEE/CIU4/PedCutOdd2 18 +V00/FEE/CIU4/PedCutOdd3 18 +V00/FEE/CIU4/PedCutOdd4 18 +V00/FEE/CIU4/PedCutOdd5 18 +V00/FEE/CIU4/PedCutOdd6 18 +V00/FEE/CIU4/PedCutOdd7 18 +V00/FEE/CIU4/PedCutOdd8 18 +V00/FEE/CIU4/DelayHit1 100 +V00/FEE/CIU4/DelayHit2 100 +V00/FEE/CIU4/DelayHit3 100 +V00/FEE/CIU4/DelayHit4 100 +V00/FEE/CIU4/DelayHit5 100 +V00/FEE/CIU4/DelayHit6 100 +V00/FEE/CIU4/DelayHit7 100 +V00/FEE/CIU4/DelayHit8 100 +V00/FEE/CIU4/DiscriThr1 2000 +V00/FEE/CIU4/DiscriThr2 2000 +V00/FEE/CIU4/DiscriThr3 2000 +V00/FEE/CIU4/DiscriThr4 2000 +V00/FEE/CIU4/DiscriThr5 2000 +V00/FEE/CIU4/DiscriThr6 2000 +V00/FEE/CIU4/DiscriThr7 2000 +V00/FEE/CIU4/DiscriThr8 2000 +V00/FEE/CIU5/Clk1Win1 3 +V00/FEE/CIU5/Clk2Win1 14 +V00/FEE/CIU5/Clk1Win2 7 +V00/FEE/CIU5/Clk2Win2 14 +V00/FEE/CIU5/DelayClk1Win1 300 +V00/FEE/CIU5/DelayClk2Win1 200 +V00/FEE/CIU5/DelayClk1Win2 0 +V00/FEE/CIU5/DelayClk2Win2 100 +V00/FEE/CIU5/LatchWin1 16 +V00/FEE/CIU5/LatchWin2 16 +V00/FEE/CIU5/ResetWin1 16 +V00/FEE/CIU5/ResetWin2 16 +V00/FEE/CIU5/PedestalSubtraction 1 +V00/FEE/CIU5/EnableCharge1 1 +V00/FEE/CIU5/EnableCharge2 1 +V00/FEE/CIU5/EnableCharge3 1 +V00/FEE/CIU5/EnableCharge4 1 +V00/FEE/CIU5/EnableCharge5 1 +V00/FEE/CIU5/EnableCharge6 1 +V00/FEE/CIU5/EnableCharge7 1 +V00/FEE/CIU5/EnableCharge8 1 +V00/FEE/CIU5/EnableTiming1 1 +V00/FEE/CIU5/EnableTiming2 1 +V00/FEE/CIU5/EnableTiming3 1 +V00/FEE/CIU5/EnableTiming4 1 +V00/FEE/CIU5/EnableTiming5 1 +V00/FEE/CIU5/EnableTiming6 1 +V00/FEE/CIU5/EnableTiming7 1 +V00/FEE/CIU5/EnableTiming8 1 +V00/FEE/CIU5/PedEven1 16 +V00/FEE/CIU5/PedEven2 16 +V00/FEE/CIU5/PedEven3 16 +V00/FEE/CIU5/PedEven4 16 +V00/FEE/CIU5/PedEven5 16 +V00/FEE/CIU5/PedEven6 16 +V00/FEE/CIU5/PedEven7 16 +V00/FEE/CIU5/PedEven8 16 +V00/FEE/CIU5/PedOdd1 16 +V00/FEE/CIU5/PedOdd2 16 +V00/FEE/CIU5/PedOdd3 16 +V00/FEE/CIU5/PedOdd4 16 +V00/FEE/CIU5/PedOdd5 16 +V00/FEE/CIU5/PedOdd6 16 +V00/FEE/CIU5/PedOdd7 16 +V00/FEE/CIU5/PedOdd8 16 +V00/FEE/CIU5/PedCutEven1 18 +V00/FEE/CIU5/PedCutEven2 18 +V00/FEE/CIU5/PedCutEven3 18 +V00/FEE/CIU5/PedCutEven4 18 +V00/FEE/CIU5/PedCutEven5 18 +V00/FEE/CIU5/PedCutEven6 18 +V00/FEE/CIU5/PedCutEven7 18 +V00/FEE/CIU5/PedCutEven8 18 +V00/FEE/CIU5/PedCutOdd1 18 +V00/FEE/CIU5/PedCutOdd2 18 +V00/FEE/CIU5/PedCutOdd3 18 +V00/FEE/CIU5/PedCutOdd4 18 +V00/FEE/CIU5/PedCutOdd5 18 +V00/FEE/CIU5/PedCutOdd6 18 +V00/FEE/CIU5/PedCutOdd7 18 +V00/FEE/CIU5/PedCutOdd8 18 +V00/FEE/CIU5/DelayHit1 100 +V00/FEE/CIU5/DelayHit2 100 +V00/FEE/CIU5/DelayHit3 100 +V00/FEE/CIU5/DelayHit4 100 +V00/FEE/CIU5/DelayHit5 100 +V00/FEE/CIU5/DelayHit6 100 +V00/FEE/CIU5/DelayHit7 100 +V00/FEE/CIU5/DelayHit8 100 +V00/FEE/CIU5/DiscriThr1 2000 +V00/FEE/CIU5/DiscriThr2 2000 +V00/FEE/CIU5/DiscriThr3 2000 +V00/FEE/CIU5/DiscriThr4 2000 +V00/FEE/CIU5/DiscriThr5 2000 +V00/FEE/CIU5/DiscriThr6 2000 +V00/FEE/CIU5/DiscriThr7 2000 +V00/FEE/CIU5/DiscriThr8 2000 +V00/FEE/CIU6/Clk1Win1 3 +V00/FEE/CIU6/Clk2Win1 14 +V00/FEE/CIU6/Clk1Win2 7 +V00/FEE/CIU6/Clk2Win2 14 +V00/FEE/CIU6/DelayClk1Win1 300 +V00/FEE/CIU6/DelayClk2Win1 200 +V00/FEE/CIU6/DelayClk1Win2 0 +V00/FEE/CIU6/DelayClk2Win2 100 +V00/FEE/CIU6/LatchWin1 16 +V00/FEE/CIU6/LatchWin2 16 +V00/FEE/CIU6/ResetWin1 16 +V00/FEE/CIU6/ResetWin2 16 +V00/FEE/CIU6/PedestalSubtraction 1 +V00/FEE/CIU6/EnableCharge1 1 +V00/FEE/CIU6/EnableCharge2 1 +V00/FEE/CIU6/EnableCharge3 1 +V00/FEE/CIU6/EnableCharge4 1 +V00/FEE/CIU6/EnableCharge5 1 +V00/FEE/CIU6/EnableCharge6 1 +V00/FEE/CIU6/EnableCharge7 1 +V00/FEE/CIU6/EnableCharge8 1 +V00/FEE/CIU6/EnableTiming1 1 +V00/FEE/CIU6/EnableTiming2 1 +V00/FEE/CIU6/EnableTiming3 1 +V00/FEE/CIU6/EnableTiming4 1 +V00/FEE/CIU6/EnableTiming5 1 +V00/FEE/CIU6/EnableTiming6 1 +V00/FEE/CIU6/EnableTiming7 1 +V00/FEE/CIU6/EnableTiming8 1 +V00/FEE/CIU6/PedEven1 16 +V00/FEE/CIU6/PedEven2 16 +V00/FEE/CIU6/PedEven3 16 +V00/FEE/CIU6/PedEven4 16 +V00/FEE/CIU6/PedEven5 16 +V00/FEE/CIU6/PedEven6 16 +V00/FEE/CIU6/PedEven7 16 +V00/FEE/CIU6/PedEven8 16 +V00/FEE/CIU6/PedOdd1 16 +V00/FEE/CIU6/PedOdd2 16 +V00/FEE/CIU6/PedOdd3 16 +V00/FEE/CIU6/PedOdd4 16 +V00/FEE/CIU6/PedOdd5 16 +V00/FEE/CIU6/PedOdd6 16 +V00/FEE/CIU6/PedOdd7 16 +V00/FEE/CIU6/PedOdd8 16 +V00/FEE/CIU6/PedCutEven1 18 +V00/FEE/CIU6/PedCutEven2 18 +V00/FEE/CIU6/PedCutEven3 18 +V00/FEE/CIU6/PedCutEven4 18 +V00/FEE/CIU6/PedCutEven5 18 +V00/FEE/CIU6/PedCutEven6 18 +V00/FEE/CIU6/PedCutEven7 18 +V00/FEE/CIU6/PedCutEven8 18 +V00/FEE/CIU6/PedCutOdd1 18 +V00/FEE/CIU6/PedCutOdd2 18 +V00/FEE/CIU6/PedCutOdd3 18 +V00/FEE/CIU6/PedCutOdd4 18 +V00/FEE/CIU6/PedCutOdd5 18 +V00/FEE/CIU6/PedCutOdd6 18 +V00/FEE/CIU6/PedCutOdd7 18 +V00/FEE/CIU6/PedCutOdd8 18 +V00/FEE/CIU6/DelayHit1 100 +V00/FEE/CIU6/DelayHit2 100 +V00/FEE/CIU6/DelayHit3 100 +V00/FEE/CIU6/DelayHit4 100 +V00/FEE/CIU6/DelayHit5 100 +V00/FEE/CIU6/DelayHit6 100 +V00/FEE/CIU6/DelayHit7 100 +V00/FEE/CIU6/DelayHit8 100 +V00/FEE/CIU6/DiscriThr1 2000 +V00/FEE/CIU6/DiscriThr2 2000 +V00/FEE/CIU6/DiscriThr3 2000 +V00/FEE/CIU6/DiscriThr4 2000 +V00/FEE/CIU6/DiscriThr5 2000 +V00/FEE/CIU6/DiscriThr6 2000 +V00/FEE/CIU6/DiscriThr7 2000 +V00/FEE/CIU6/DiscriThr8 2000 +V00/FEE/CIU7/Clk1Win1 3 +V00/FEE/CIU7/Clk2Win1 14 +V00/FEE/CIU7/Clk1Win2 7 +V00/FEE/CIU7/Clk2Win2 14 +V00/FEE/CIU7/DelayClk1Win1 300 +V00/FEE/CIU7/DelayClk2Win1 200 +V00/FEE/CIU7/DelayClk1Win2 0 +V00/FEE/CIU7/DelayClk2Win2 100 +V00/FEE/CIU7/LatchWin1 16 +V00/FEE/CIU7/LatchWin2 16 +V00/FEE/CIU7/ResetWin1 16 +V00/FEE/CIU7/ResetWin2 16 +V00/FEE/CIU7/PedestalSubtraction 1 +V00/FEE/CIU7/EnableCharge1 1 +V00/FEE/CIU7/EnableCharge2 1 +V00/FEE/CIU7/EnableCharge3 1 +V00/FEE/CIU7/EnableCharge4 1 +V00/FEE/CIU7/EnableCharge5 1 +V00/FEE/CIU7/EnableCharge6 1 +V00/FEE/CIU7/EnableCharge7 1 +V00/FEE/CIU7/EnableCharge8 1 +V00/FEE/CIU7/EnableTiming1 1 +V00/FEE/CIU7/EnableTiming2 1 +V00/FEE/CIU7/EnableTiming3 1 +V00/FEE/CIU7/EnableTiming4 1 +V00/FEE/CIU7/EnableTiming5 1 +V00/FEE/CIU7/EnableTiming6 1 +V00/FEE/CIU7/EnableTiming7 1 +V00/FEE/CIU7/EnableTiming8 1 +V00/FEE/CIU7/PedEven1 16 +V00/FEE/CIU7/PedEven2 16 +V00/FEE/CIU7/PedEven3 16 +V00/FEE/CIU7/PedEven4 16 +V00/FEE/CIU7/PedEven5 16 +V00/FEE/CIU7/PedEven6 16 +V00/FEE/CIU7/PedEven7 16 +V00/FEE/CIU7/PedEven8 16 +V00/FEE/CIU7/PedOdd1 16 +V00/FEE/CIU7/PedOdd2 16 +V00/FEE/CIU7/PedOdd3 16 +V00/FEE/CIU7/PedOdd4 16 +V00/FEE/CIU7/PedOdd5 16 +V00/FEE/CIU7/PedOdd6 16 +V00/FEE/CIU7/PedOdd7 16 +V00/FEE/CIU7/PedOdd8 16 +V00/FEE/CIU7/PedCutEven1 18 +V00/FEE/CIU7/PedCutEven2 18 +V00/FEE/CIU7/PedCutEven3 18 +V00/FEE/CIU7/PedCutEven4 18 +V00/FEE/CIU7/PedCutEven5 18 +V00/FEE/CIU7/PedCutEven6 18 +V00/FEE/CIU7/PedCutEven7 18 +V00/FEE/CIU7/PedCutEven8 18 +V00/FEE/CIU7/PedCutOdd1 18 +V00/FEE/CIU7/PedCutOdd2 18 +V00/FEE/CIU7/PedCutOdd3 18 +V00/FEE/CIU7/PedCutOdd4 18 +V00/FEE/CIU7/PedCutOdd5 18 +V00/FEE/CIU7/PedCutOdd6 18 +V00/FEE/CIU7/PedCutOdd7 18 +V00/FEE/CIU7/PedCutOdd8 18 +V00/FEE/CIU7/DelayHit1 100 +V00/FEE/CIU7/DelayHit2 100 +V00/FEE/CIU7/DelayHit3 100 +V00/FEE/CIU7/DelayHit4 100 +V00/FEE/CIU7/DelayHit5 100 +V00/FEE/CIU7/DelayHit6 100 +V00/FEE/CIU7/DelayHit7 100 +V00/FEE/CIU7/DelayHit8 100 +V00/FEE/CIU7/DiscriThr1 2000 +V00/FEE/CIU7/DiscriThr2 2000 +V00/FEE/CIU7/DiscriThr3 2000 +V00/FEE/CIU7/DiscriThr4 2000 +V00/FEE/CIU7/DiscriThr5 2000 +V00/FEE/CIU7/DiscriThr6 2000 +V00/FEE/CIU7/DiscriThr7 2000 +V00/FEE/CIU7/DiscriThr8 2000 +V00/FEE/CIU8/Clk1Win1 3 +V00/FEE/CIU8/Clk2Win1 14 +V00/FEE/CIU8/Clk1Win2 7 +V00/FEE/CIU8/Clk2Win2 14 +V00/FEE/CIU8/DelayClk1Win1 300 +V00/FEE/CIU8/DelayClk2Win1 200 +V00/FEE/CIU8/DelayClk1Win2 0 +V00/FEE/CIU8/DelayClk2Win2 100 +V00/FEE/CIU8/LatchWin1 16 +V00/FEE/CIU8/LatchWin2 16 +V00/FEE/CIU8/ResetWin1 16 +V00/FEE/CIU8/ResetWin2 16 +V00/FEE/CIU8/PedestalSubtraction 1 +V00/FEE/CIU8/EnableCharge1 1 +V00/FEE/CIU8/EnableCharge2 1 +V00/FEE/CIU8/EnableCharge3 1 +V00/FEE/CIU8/EnableCharge4 1 +V00/FEE/CIU8/EnableCharge5 1 +V00/FEE/CIU8/EnableCharge6 1 +V00/FEE/CIU8/EnableCharge7 1 +V00/FEE/CIU8/EnableCharge8 1 +V00/FEE/CIU8/EnableTiming1 1 +V00/FEE/CIU8/EnableTiming2 1 +V00/FEE/CIU8/EnableTiming3 1 +V00/FEE/CIU8/EnableTiming4 1 +V00/FEE/CIU8/EnableTiming5 1 +V00/FEE/CIU8/EnableTiming6 1 +V00/FEE/CIU8/EnableTiming7 1 +V00/FEE/CIU8/EnableTiming8 1 +V00/FEE/CIU8/PedEven1 16 +V00/FEE/CIU8/PedEven2 16 +V00/FEE/CIU8/PedEven3 16 +V00/FEE/CIU8/PedEven4 16 +V00/FEE/CIU8/PedEven5 16 +V00/FEE/CIU8/PedEven6 16 +V00/FEE/CIU8/PedEven7 16 +V00/FEE/CIU8/PedEven8 16 +V00/FEE/CIU8/PedOdd1 16 +V00/FEE/CIU8/PedOdd2 16 +V00/FEE/CIU8/PedOdd3 16 +V00/FEE/CIU8/PedOdd4 16 +V00/FEE/CIU8/PedOdd5 16 +V00/FEE/CIU8/PedOdd6 16 +V00/FEE/CIU8/PedOdd7 16 +V00/FEE/CIU8/PedOdd8 16 +V00/FEE/CIU8/PedCutEven1 18 +V00/FEE/CIU8/PedCutEven2 18 +V00/FEE/CIU8/PedCutEven3 18 +V00/FEE/CIU8/PedCutEven4 18 +V00/FEE/CIU8/PedCutEven5 18 +V00/FEE/CIU8/PedCutEven6 18 +V00/FEE/CIU8/PedCutEven7 18 +V00/FEE/CIU8/PedCutEven8 18 +V00/FEE/CIU8/PedCutOdd1 18 +V00/FEE/CIU8/PedCutOdd2 18 +V00/FEE/CIU8/PedCutOdd3 18 +V00/FEE/CIU8/PedCutOdd4 18 +V00/FEE/CIU8/PedCutOdd5 18 +V00/FEE/CIU8/PedCutOdd6 18 +V00/FEE/CIU8/PedCutOdd7 18 +V00/FEE/CIU8/PedCutOdd8 18 +V00/FEE/CIU8/DelayHit1 100 +V00/FEE/CIU8/DelayHit2 100 +V00/FEE/CIU8/DelayHit3 100 +V00/FEE/CIU8/DelayHit4 100 +V00/FEE/CIU8/DelayHit5 100 +V00/FEE/CIU8/DelayHit6 100 +V00/FEE/CIU8/DelayHit7 100 +V00/FEE/CIU8/DelayHit8 100 +V00/FEE/CIU8/DiscriThr1 2000 +V00/FEE/CIU8/DiscriThr2 2000 +V00/FEE/CIU8/DiscriThr3 2000 +V00/FEE/CIU8/DiscriThr4 2000 +V00/FEE/CIU8/DiscriThr5 2000 +V00/FEE/CIU8/DiscriThr6 2000 +V00/FEE/CIU8/DiscriThr7 2000 +V00/FEE/CIU8/DiscriThr8 2000 +V00/HV/V0A/SECTOR0/RING0 1784 +V00/HV/V0A/SECTOR0/RING1 1813 +V00/HV/V0A/SECTOR0/RING2 1738 +V00/HV/V0A/SECTOR0/RING3 1855 +V00/HV/V0A/SECTOR1/RING0 1872 +V00/HV/V0A/SECTOR1/RING1 1734 +V00/HV/V0A/SECTOR1/RING2 1490 +V00/HV/V0A/SECTOR1/RING3 1897 +V00/HV/V0A/SECTOR2/RING0 1808 +V00/HV/V0A/SECTOR2/RING1 1682 +V00/HV/V0A/SECTOR2/RING2 1838 +V00/HV/V0A/SECTOR2/RING3 1694 +V00/HV/V0A/SECTOR3/RING0 1900 +V00/HV/V0A/SECTOR3/RING1 1839 +V00/HV/V0A/SECTOR3/RING2 1701 +V00/HV/V0A/SECTOR3/RING3 1778 +V00/HV/V0A/SECTOR4/RING0 1914 +V00/HV/V0A/SECTOR4/RING1 1729 +V00/HV/V0A/SECTOR4/RING2 1645 +V00/HV/V0A/SECTOR4/RING3 1887 +V00/HV/V0A/SECTOR5/RING0 1808 +V00/HV/V0A/SECTOR5/RING1 1817 +V00/HV/V0A/SECTOR5/RING2 1838 +V00/HV/V0A/SECTOR5/RING3 1769 +V00/HV/V0A/SECTOR6/RING0 1932 +V00/HV/V0A/SECTOR6/RING1 1769 +V00/HV/V0A/SECTOR6/RING2 1697 +V00/HV/V0A/SECTOR6/RING3 1981 +V00/HV/V0A/SECTOR7/RING0 1872 +V00/HV/V0A/SECTOR7/RING1 1890 +V00/HV/V0A/SECTOR7/RING2 2020 +V00/HV/V0A/SECTOR7/RING3 1896 +V00/HV/V0C/SECTOR0/RING0 1882 +V00/HV/V0C/SECTOR0/RING1 1901 +V00/HV/V0C/SECTOR0/RING2 1878 +V00/HV/V0C/SECTOR0/RING3 1787 +V00/HV/V0C/SECTOR1/RING0 1893 +V00/HV/V0C/SECTOR1/RING1 1682 +V00/HV/V0C/SECTOR1/RING2 1958 +V00/HV/V0C/SECTOR1/RING3 1718 +V00/HV/V0C/SECTOR2/RING0 1728 +V00/HV/V0C/SECTOR2/RING1 1808 +V00/HV/V0C/SECTOR2/RING2 1856 +V00/HV/V0C/SECTOR2/RING3 1874 +V00/HV/V0C/SECTOR3/RING0 1898 +V00/HV/V0C/SECTOR3/RING1 1920 +V00/HV/V0C/SECTOR3/RING2 1831 +V00/HV/V0C/SECTOR3/RING3 1850 +V00/HV/V0C/SECTOR4/RING0 1822 +V00/HV/V0C/SECTOR4/RING1 1648 +V00/HV/V0C/SECTOR4/RING2 1824 +V00/HV/V0C/SECTOR4/RING3 1675 +V00/HV/V0C/SECTOR5/RING0 1832 +V00/HV/V0C/SECTOR5/RING1 1686 +V00/HV/V0C/SECTOR5/RING2 1867 +V00/HV/V0C/SECTOR5/RING3 1752 +V00/HV/V0C/SECTOR6/RING0 1777 +V00/HV/V0C/SECTOR6/RING1 1833 +V00/HV/V0C/SECTOR6/RING2 1804 +V00/HV/V0C/SECTOR6/RING3 1859 +V00/HV/V0C/SECTOR7/RING0 1860 +V00/HV/V0C/SECTOR7/RING1 1795 +V00/HV/V0C/SECTOR7/RING2 1808 +V00/HV/V0C/SECTOR7/RING3 1670 \ No newline at end of file diff --git a/VZERO/VZEROTestPreprocessor.C b/VZERO/VZEROTestPreprocessor.C new file mode 100644 index 00000000000..5ac778d0eb4 --- /dev/null +++ b/VZERO/VZEROTestPreprocessor.C @@ -0,0 +1,207 @@ +/* $Id: TestPreprocessor.C 30923 2009-02-09 15:47:08Z hristov $ */ + +// This class runs the test preprocessor +// It uses AliTestShuttle to simulate a full Shuttle process + +// The input data is created in the functions +// CreateDCSAliasMap() creates input that would in the same way come from DCS +// ReadDCSAliasMap() reads from a file +// CreateInputFilesMap() creates a list of local files, that can be accessed by the shuttle + +void VZEROTestPreprocessor() +{ + // load library + gSystem->Load("libTestShuttle.so"); + + // create AliTestShuttle instance + // The parameters are run, startTime, endTime + AliTestShuttle* shuttle = new AliTestShuttle(0, 0, 1); + + // TODO if needed, change location of OCDB and Reference test folders + // by default they are set to $ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB and TestReference + AliTestShuttle::SetMainCDB("local://$ALICE_ROOT/OCDB"); + AliTestShuttle::SetMainRefStorage("local://$ALICE_ROOT/OCDB"); + + printf("Test OCDB storage Uri: %s\n", AliShuttleInterface::GetMainCDB().Data()); + printf("Test Reference storage Uri: %s\n", AliShuttleInterface::GetMainRefStorage().Data()); + + + // TODO(1) + // + // The shuttle can read DCS data, if the preprocessor should be tested to process DCS data, + // some fake data has to be created. + // + // The "fake" input data can be taken using either (a) or (b): + // (a) data from a file: Use ReadDCSAliasMap() + // the format of the file is explained in ReadDCSAliasMap() + // To use it uncomment the following line: + // + //TMap* dcsAliasMap = ReadDCSAliasMap(); + // + // (b) generated in this macro: Use CreateDCSAliasMap() and its documentation + // To use it uncomment the following line: + // + TMap* dcsAliasMap = CreateDCSAliasMap(); + + // now give the alias map to the shuttle + shuttle->SetDCSInput(dcsAliasMap); + + // TODO(2) + // + // The shuttle can also process files that originate from DCS, DAQ and HLT. + // To test it, we provide some local files and locations where these would be found when + // the online machinery would be there. + // In real life this functions would be produces by the sub-detectors + // calibration programs in DCS, DAQ or HLT. These files can then be retrieved using the Shuttle. + // + // Files are added with the function AliTestShuttle::AddInputFile. The syntax is: + // AddInputFile(, , , , ) + // In this example we add a file originating from the GDC with the id PEDESTALS + // Three files originating from different LDCs but with the same id are also added + // Note that the test preprocessor name is TPC. The name of the detector's preprocessor must follow + // the "online" naming convention ALICE-INT-2003-039. +// shuttle->AddInputFile(AliShuttleInterface::kDAQ, "TPC", "PEDESTALS", "GDC0", "file1.root"); +// shuttle->AddInputFile(AliShuttleInterface::kDAQ, "TPC", "DRIFTVELOCITY", "LDC0", "file2a.root"); +// shuttle->AddInputFile(AliShuttleInterface::kDAQ, "TPC", "DRIFTVELOCITY", "LDC1", "file2b.root"); +// shuttle->AddInputFile(AliShuttleInterface::kDAQ, "TPC", "DRIFTVELOCITY", "LDC2", "file2c.root"); +// shuttle->AddInputFile(AliShuttleInterface::kHLT, "TPC", "HLTData", "source1", "hlt_file1.root"); + shuttle->AddInputFile(AliShuttleInterface::kDAQ, "V00", "V00da_results", "source1", "VZERO/V00da_results.txt"); +// + // TODO(3) + // + // The shuttle can read run type stored in the DAQ logbook. + // To test it, we must provide the run type manually. They will be retrieved in the preprocessor + // using GetRunType function. + shuttle->SetInputRunType("PHYSICS"); + + // TODO(4) + // + // The shuttle can read run parameters stored in the DAQ run logbook. + // To test it, we must provide the run parameters manually. They will be retrieved in the preprocessor + // using GetRunParameter function. + shuttle->AddInputRunParameter("totalEvents", "30000"); + shuttle->AddInputRunParameter("NumberOfGDCs", "15"); + + // TODO(5) + // + // This is for preprocessor that require data from HLT. + // Since HLT may be switched off, the preprocessor should first query the Run logbook where + // the HLT status is stored. SHUTTLE implements a shortcut function (GetHLTStatus) that returns + // a bool directly. 1 = HLT ON, 0 = HLT OFF + // + + Bool_t hltStatus=kFALSE; + shuttle->SetInputHLTStatus(hltStatus); + + + // TODO(6) + // Create the preprocessor that should be tested, it registers itself automatically to the shuttle + AliPreprocessor* vzeroPreprocessor = new AliVZEROPreprocessor(shuttle); + + // Test the preprocessor + shuttle->Process(); + + // TODO(7) + // In the preprocessor AliShuttleInterface::Store should be called to put the final + // data to the CDB. To check if all went fine have a look at the files produced in + // $ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB//SHUTTLE/Data + // + // Check the file which should have been created + AliCDBEntry* chkEntry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB()) + ->Get("VZERO/Calib/Data", 0); + if (!chkEntry) + { + printf("The file is not there. Something went wrong.\n"); + return; + } + chkEntry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB()) + ->Get("VZERO/Trigger/Data", 0); + if (!chkEntry) + { + printf("The file is not there. Something went wrong.\n"); + return; + } + + AliTestDataDCS* output = dynamic_cast (chkEntry->GetObject()); + // If everything went fine, draw the result + if (output) + output->Draw(); +} + +TMap* CreateDCSAliasMap() +{ + // Creates a DCS structure + // The structure is the following: + // TMap (key --> value) + // --> + // is a string + // is a TObjArray of AliDCSValue + // An AliDCSValue consists of timestamp and a value in form of a AliSimpleValue + + // In this example 6 aliases exists: DCSAlias1 ... DCSAlias6 + // Each contains 1000 values randomly generated by TRandom::Gaus + 5*nAlias + + TMap* aliasMap = new TMap; + aliasMap->SetOwner(1); + TRandom random; + + FILE *fp = fopen("VZERO/DCSValues.txt","r"); + + char name[50]; + Float_t val; + while(!(EOF == fscanf(fp,"%s %f",name,&val))){ + TObjArray* valueSet = new TObjArray; + valueSet->SetOwner(1); + + TString aliasName=name; + + //printf("alias: %s\t\t",aliasName.Data()); + + int timeStamp=10; + + AliDCSValue* dcsVal = new AliDCSValue((Float_t) (val), timeStamp); + valueSet->Add(dcsVal); + + if(aliasName.Contains("HV")) { + dcsVal = new AliDCSValue((Float_t) (val+random.Gaus(0,10)), timeStamp+10); + valueSet->Add(dcsVal); + } + + aliasMap->Add(new TObjString(aliasName), valueSet); + + } + fclose(fp); + return aliasMap; +} + +TMap* ReadDCSAliasMap() +{ + // Open a file that contains DCS input data + // The CDB framework is used to open the file, this means the file is located + // in $ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB//DCS/Data + // The file contains an AliCDBEntry that contains a TMap with the DCS structure. + // An explanation of the structure can be found in CreateDCSAliasMap() + + AliCDBEntry *entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB()) + ->Get("DET/DCS/Data", 0); + return dynamic_cast (entry->GetObject()); +} + +void WriteDCSAliasMap() +{ + // This writes the output from CreateDCSAliasMap to a CDB file + + TMap* dcsAliasMap = CreateDCSAliasMap(); + + AliCDBMetaData metaData; + metaData.SetBeamPeriod(0); + metaData.SetResponsible("Responsible person"); + metaData.SetComment("Test object for TestPreprocessor.C"); + + AliCDBId id("DET/DCS/Data", 0, 0); + + // look into AliTestShuttle's CDB main folder + + AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB()) + ->Put(dcsAliasMap, id, &metaData); +} -- 2.39.3