Implementation of Trigger simulation (Raphael Tieulent)
authorcheynis <cheynis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 26 Jun 2009 15:11:02 +0000 (15:11 +0000)
committercheynis <cheynis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 26 Jun 2009 15:11:02 +0000 (15:11 +0000)
VZERO/DBStorageFEE.C [new file with mode: 0644]
VZERO/DCSValues.txt [new file with mode: 0644]
VZERO/VZEROTestPreprocessor.C [new file with mode: 0644]

diff --git a/VZERO/DBStorageFEE.C b/VZERO/DBStorageFEE.C
new file mode 100644 (file)
index 0000000..906f34f
--- /dev/null
@@ -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 (file)
index 0000000..cad5186
--- /dev/null
@@ -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 (file)
index 0000000..5ac778d
--- /dev/null
@@ -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(<system>, <detector>, <id>, <source>, <local-file>)
+  // 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/<detector>/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<AliTestDataDCS*> (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)
+  //     <DCSAlias> --> <valueList>
+  //     <DCSAlias> is a string
+  //     <valueList> 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/<detector>/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<TMap*> (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);
+}