]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/TestZDCPreprocessor.C
Updated AliZDCPreprocessor class
[u/mrichter/AliRoot.git] / ZDC / TestZDCPreprocessor.C
index ad7cb9178cc1a1848aa678da957d9aa795be8f18..10986334173ca3d105e325a8fc39bc673d31e85d 100644 (file)
@@ -8,17 +8,14 @@
 //   ReadDCSAliasMap() reads from a file
 //   CreateInputFilesMap() creates a list of local files, that can be accessed by the shuttle
 
-void TestZDCPreprocessor()
+void TestZDCPreprocessor(Int_t obj=0)
 {
   // load library
   gSystem->Load("libTestShuttle.so");
 
   // create AliTestShuttle instance
   // The parameters are run, startTime, endTime
-  AliTestShuttle* shuttle = new AliTestShuttle(7, 0, 1);
-
-
-  printf("Test Shuttle temp dir: %s\n", AliShuttleInterface::GetShuttleTempDir());
+  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
@@ -64,15 +61,32 @@ void TestZDCPreprocessor()
   // 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(AliTestShuttle::kDAQ, "ZDC", "PEDESTALS", "LDC0", "ZDCPedestal.dat");
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "PEDESTALS", "LDC0", "ZDCChMapping.dat");
+  //
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "LASER", "LDC0", "ZDCLaserCalib.dat");
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "LASER", "LDC0", "ZDCChMapping.dat");
+  //
   shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "EMDCALIB", "LDC0", "ZDCEMDCalib.dat");
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "EMDCALIB", "LDC0", "ZDCChMapping.dat");
+  //
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "PHYSICS", "LDC0", "ZDCChMapping.dat");
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "COSMICS", "LDC0", "ZDCChMapping.dat");
+  //
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "BC", "LDC0", "ZDCChMapping.dat");
 
   // 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("PEDESTALS");
+  if(obj==1)      shuttle->SetInputRunType("STANDALONE_PEDESTAL");
+  else if(obj==2) shuttle->SetInputRunType("STANDALONE_LASER");
+  else if(obj==3) shuttle->SetInputRunType("STANDALONE_EMD");
+  else if(obj==4) shuttle->SetInputRunType("STANDALONE_COSMIC");
+  else if(obj==5) shuttle->SetInputRunType("STANDALONE_BC");
+  else if(obj==6) shuttle->SetInputRunType("PHYSICS");
 
   // TODO(4)
   //
@@ -80,25 +94,38 @@ void TestZDCPreprocessor()
   // To test it, we must provide the run parameters manually. They will be retrieved in the preprocessor
   // using GetRunParameter function.
   // In real life the parameters will be retrieved automatically from the run logbook;
+  //shuttle->AddInputRunParameter("beamType", "Pb-Pb");
+  shuttle->AddInputRunParameter("beamType", "p-p");
   shuttle->AddInputRunParameter("totalEvents", "1000");
   shuttle->AddInputRunParameter("NumberOfGDCs", "1");
 
-  // TODO(5)
+  // TODO(5) NEW!
+  //
+  // 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)
   //
   // The shuttle can query condition parameters valid from the current run from the OCDB
   // To test it, we must first store the object into the OCDB. It will be retrieved in the preprocessor
   // using GetFromOCDB function.
 
-  TObjString obj("This is a condition parameter stored in OCDB");
+  /*TObjString obj("This is a condition parameter stored in OCDB");
   AliCDBId id("ZDC/Calib/Data", 0, AliCDBRunRange::Infinity());
   AliCDBMetaData md;
   AliCDBEntry entry(&obj, id, &md);
 
   shuttle->AddInputCDBEntry(&entry);
-
+  */
+  
   // TODO(6)
   // Create the preprocessor that should be tested, it registers itself automatically to the shuttle
-  AliPreprocessor* test = new AliZDCPreprocessor("ZDC",shuttle);
+  AliPreprocessor* test = new AliZDCPreprocessor(shuttle);
 
   // Test the preprocessor
   shuttle->Process();
@@ -109,18 +136,33 @@ void TestZDCPreprocessor()
   // $ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB/<detector>/SHUTTLE/Data
   //
   // Check the file which should have been created
-  AliCDBEntry* chkEntry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())
-                       ->Get("ZDC/DCS/Data", 7);
-  if (!chkEntry)
-  {
-    printf("The file is not there. Something went wrong.\n");
+  AliCDBEntry* chkEntry0 = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())
+                       ->Get("ZDC/Calib/ChMap", 0);
+  AliCDBEntry* chkEntry1;
+  if(obj==1) chkEntry1 = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())
+                       ->Get("ZDC/Calib/Pedestals", 0);
+  else if(obj==2) chkEntry1 = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())
+                       ->Get("ZDC/Calib/LaserCalib", 0);
+  else if(obj==3) chkEntry1 = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())
+                       ->Get("ZDC/Calib/EMDCalib", 0);
+  
+  
+  if(!chkEntry0){
+    printf("No file in \n ZDC/Calib/ChMap\n");
     return;
   }
+  if(!chkEntry1){
+    if(obj==1) printf("No file in \n ZDC/Calib/Pedestal\n");
+    else if(obj==2) printf("No file in \n ZDC/Calib/LaserCalib\n");
+    else if(obj==3) printf("No file in \n ZDC/Calib/EMDCalib\n");
+    return;
+  }
+  
 
-  AliTestDataDCS* output = dynamic_cast<AliTestDataDCS*> (chkEntry->GetObject());
+  /*AliTestDataDCS* output = dynamic_cast<AliTestDataDCS*> (chkEntry1->GetObject());
   // If everything went fine, draw the result
   if (output)
-    output->Draw();
+    output->Draw();*/
 }
 
 TMap* CreateDCSAliasMap()
@@ -140,7 +182,7 @@ TMap* CreateDCSAliasMap()
   aliasMap->SetOwner(1);
 
   TRandom random;
-  TString aliasNames[26];
+  TString aliasNames[28];
 
   // ******************************** alignment values
   aliasNames[0] = "ZDC_ZNA_POS.actual.position";
@@ -167,19 +209,6 @@ TMap* CreateDCSAliasMap()
     aliasMap->Add(new TObjString(aliasName), valueSet);
   }
   // ******************************** HV values
-  /*TString ZNAAlias = "ZNA_HV.actual.vMon";
-  TString ZPAAlias = "ZPA_HV.actual.vMon";
-  TString ZNCAlias = "ZNC_HV.actual.vMon";
-  TString ZPCAlias = "ZPC_HV.actual.vMon";
-  TString idat[5];
-  for(int i=0;i<5;i++)
-  {
-    idat[i] = i;
-    aliasNames[i+3]  = ZNAAlias.Insert(6,idat[i]);
-    aliasNames[i+7]  = ZPAAlias.Insert(6,idat[i]);
-    aliasNames[i+11] = ZNCAlias.Insert(6,idat[i]);
-    aliasNames[i+15] = ZPCAlias.Insert(6,idat[i]);
-  }*/
   aliasNames[4]  = "ZDC_ZNA_HV0.actual.vMon";
   aliasNames[5]  = "ZDC_ZNA_HV1.actual.vMon";
   aliasNames[6]  = "ZDC_ZNA_HV2.actual.vMon";
@@ -204,10 +233,13 @@ TMap* CreateDCSAliasMap()
   aliasNames[22]  = "ZDC_ZPC_HV3.actual.vMon";
   aliasNames[23]  = "ZDC_ZPC_HV4.actual.vMon";
   //
-  aliasNames[24]  = "ZDC_ZEM1_HV0.actual.vMon";
-  aliasNames[25]  = "ZDC_ZEM2_HV1.actual.vMon";
+  aliasNames[24]  = "ZDC_ZEM_HV0.actual.vMon";
+  aliasNames[25]  = "ZDC_ZEM_HV1.actual.vMon";
+  //
+  aliasNames[26]  = "ZDC_REFA_HV.actual.vMon";
+  aliasNames[27]  = "ZDC_REFC_HV.actual.vMon";
   //
-  for(int nAlias=4;nAlias<26;nAlias++)
+  for(int nAlias=4;nAlias<28;nAlias++)
   {
     TObjArray* valueSet = new TObjArray;
     valueSet->SetOwner(1);
@@ -248,8 +280,8 @@ void WriteDCSAliasMap()
 
   AliCDBMetaData metaData;
        metaData.SetBeamPeriod(0);
-       metaData.SetResponsible("Responsible person");
-       metaData.SetComment("Test object for TestPreprocessor.C");
+       metaData.SetResponsible("Chiara Oppedisano");
+       metaData.SetComment("Test object for TestZDCPreprocessor.C");
 
   AliCDBId id("ZDC/DCS/Data", 0, 0);