]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - GRP/TestGRPPreprocessor.C
par file fix
[u/mrichter/AliRoot.git] / GRP / TestGRPPreprocessor.C
index e19f6fa5452c27bbccd5fff271aae9aa0b1cc47a..4303c6000c46d4d1d7194cfce80100643ad1f0fd 100644 (file)
@@ -17,6 +17,7 @@
 // 5 --> DCS DPs error
 // 6 --> Missing beamEnergy
 // 7 --> null buffer for Trigger Config
+// 8 --> Missing LTU configuration
 
 // Need to include dummy files in TestShuttle/TestCDB for CTP Configuration and Scalers 
 // (see macro $ALICE_ROOT/GRP/MakeCTPDummyEntries.C)
@@ -34,7 +35,7 @@ void TestGRPPreprocessor(const char* runtype="PHYSICS", TString partition="ALICE
 
   AliLog::SetClassDebugLevel("AliGRPPreprocessor",3);
   Int_t kRun = 7;
-  AliTestShuttle* shuttle = new AliTestShuttle(kRun, 1, 10);
+  AliTestShuttle* shuttle = new AliTestShuttle(kRun, 1000, 2000);
 
   AliTestShuttle::SetMainCDB("local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB");
   AliTestShuttle::SetMainRefStorage("local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestReference");
@@ -45,18 +46,56 @@ void TestGRPPreprocessor(const char* runtype="PHYSICS", TString partition="ALICE
   // setting runtype
   shuttle->SetInputRunType(runtype);
 
+  Int_t detectorMask = 1074200319;
+  TString detectorMask_Str(Form("%d",detectorMask));
+  shuttle->AddInputRunParameter("detectorMask", detectorMask_Str.Data());
+
+  TString* ltu = new TString[3];
+  ltu[0] = "2000";
+  ltu[1] = "6000";
+  ltu[2] = "8000";
+  for (Int_t i = 0; i<AliDAQ::kNDetectors-2; i++){
+         if ((detectorMask >> i) & 0x1) {
+                 TString detOnlineName = AliDAQ::DetectorName(i);
+                 if (detOnlineName == "VZERO"){
+                         ltu[0] = "3000";
+                         ltu[1] = "7000";
+                         ltu[2] = "9000";
+                 }
+                 if (errorLevel != 8 && !partition.IsNull() && detector.IsNull()){
+                         shuttle->SetLTUConfig(ltu,detOnlineName.Data());
+                 }
+         }
+  }
+
   // simulating DCS DPs
   TMap* dcsAliasMap = CreateDCSAliasMap(errorLevel);
   shuttle->SetDCSInput(dcsAliasMap);
 
   // simulating input from DAQ FXS
   if (errorLevel != 2){
-         // $ALICE_ROT to be expanded manually by the user for this test macro 
+         
+         //$ALICE_ROOT to be expanded manually by the user for this test macro 
          shuttle->AddInputFile(AliShuttleInterface::kDAQ, "GRP", "Period_LHC09c_TPC.Seq_0.tag.root", "GDC35", "$ALICE_ROOT/GRP/ShuttleInput/run000080740_GRP_gdc-aldaqpc035_Period_LHC09c.Seq_0.tag.root");
          shuttle->AddInputFile(AliShuttleInterface::kDAQ, "GRP", "Period_LHC09c_TPC.Seq_0.tag.root", "GDC36", "$ALICE_ROOT/GRP/ShuttleInput/run000080740_GRP_gdc-aldaqpc036_Period_LHC09c.Seq_0.tag.root");
          shuttle->AddInputFile(AliShuttleInterface::kDAQ, "GRP", "Period_LHC09c_TPC.Seq_0.tag.root", "GDC44", "$ALICE_ROOT/GRP/ShuttleInput/run000080740_GRP_gdc-aldaqpc044_Period_LHC09c.Seq_0.tag.root");
          shuttle->AddInputFile(AliShuttleInterface::kDAQ, "GRP", "Period_LHC09c_TPC.Seq_0.tag.root", "GDC45", "$ALICE_ROOT/GRP/ShuttleInput/run000080740_GRP_gdc-aldaqpc045_Period_LHC09c.Seq_0.tag.root");
+         shuttle->AddInputFile(AliShuttleInterface::kDAQ, "SPD", "VertexDiamond", "gdc-GLOBAL-01", "$ALICE_ROOT/GRP/ShuttleInput/run000104892_SPD_mon-DA-SPD-0_VertexDiamond");
+         shuttle->AddInputFile(AliShuttleInterface::kDCS, "GRP", "LHCData", "", "$ALICE_ROOT/GRP/ShuttleInput/testRun_GRP_run_number_testRun_data.txt");
+         shuttle->AddInputFile(AliShuttleInterface::kDQM, "GRP", "TriggerClassesAndHistosToClone", "DQM", "$ALICE_ROOT/GRP/ShuttleInput/run000158496_GRP_DQM_TriggerClassesAndHistosToClone");
+         shuttle->AddInputFile(AliShuttleInterface::kDQM, "ACO", "QAThresholds", "DQM", "$ALICE_ROOT/GRP/ShuttleInput/run000168322_ACO_DQM_QAThresholds");
+         shuttle->AddInputFile(AliShuttleInterface::kDQM, "TPC", "QAThresholds", "DQM", "$ALICE_ROOT/GRP/ShuttleInput/run000168322_TPC_DQM_QAThresholds");
+          
+         /*
+         // for example:
          
+         shuttle->AddInputFile(AliShuttleInterface::kDAQ, "GRP", "Period_LHC09c_TPC.Seq_0.tag.root", "GDC35", "/home/zampolli/SOFT/AliRoot/AliRoot_Trunk/GRP/ShuttleInput/run000080740_GRP_gdc-aldaqpc035_Period_LHC09c.Seq_0.tag.root");
+         shuttle->AddInputFile(AliShuttleInterface::kDAQ, "GRP", "Period_LHC09c_TPC.Seq_0.tag.root", "GDC36", "/home/zampolli/SOFT/AliRoot/AliRoot_Trunk/GRP/ShuttleInput/run000080740_GRP_gdc-aldaqpc036_Period_LHC09c.Seq_0.tag.root");
+         shuttle->AddInputFile(AliShuttleInterface::kDAQ, "GRP", "Period_LHC09c_TPC.Seq_0.tag.root", "GDC44", "/home/zampolli/SOFT/AliRoot/AliRoot_Trunk/GRP/ShuttleInput/run000080740_GRP_gdc-aldaqpc044_Period_LHC09c.Seq_0.tag.root");
+         shuttle->AddInputFile(AliShuttleInterface::kDAQ, "GRP", "Period_LHC09c_TPC.Seq_0.tag.root", "GDC45", "/home/zampolli/SOFT/AliRoot/AliRoot_Trunk/GRP/ShuttleInput/run000080740_GRP_gdc-aldaqpc045_Period_LHC09c.Seq_0.tag.root");
+         shuttle->AddInputFile(AliShuttleInterface::kDAQ, "SPD", "VertexDiamond", "gdc-GLOBAL-01", "/home/zampolli/SOFT/AliRoot/AliRoot_Trunk/GRP/ShuttleInput/run000104892_SPD_mon-DA-SPD-0_VertexDiamond");
+         shuttle->AddInputFile(AliShuttleInterface::kDCS, "GRP", "LHCData", "", "/home/zampolli/SOFT/AliRoot/AliRoot_Trunk/GRP/ShuttleInput/testRun_GRP_run_number_testRun_data.txt");
+         */  
   }
 
   // simulating input from DCS FXS
@@ -84,18 +123,38 @@ void TestGRPPreprocessor(const char* runtype="PHYSICS", TString partition="ALICE
          shuttle->SetInputTriggerConfiguration(emptybuffer);
   }
   
+  // open text file with CTP timing params
+  Char_t * fileNameTiming = gSystem->ExpandPathName("$ALICE_ROOT/GRP/ShuttleInput/ctptime.tim");
+  ifstream ifstrTiming;
+  ifstrTiming.open(fileNameTiming);
+  ifstrTiming.seekg(0,ios::end);
+  int lengthTiming = ifstrTiming.tellg();
+  const char *bufferTiming = new char[lengthTiming];
+  ifstrTiming.seekg(0,ios::beg);
+  ifstrTiming.read(bufferTiming,lengthTiming);
+  ifstrTiming.close();
+  //  const char *emptybuffer = NULL;
+
+  // simulating input from DAQ logbook_ctp_timing_params
+  if (errorLevel != 3 && errorLevel != 7 && !partition.IsNull() && detector.IsNull()) {
+                 cout << " adding ctp timing params " <<endl;
+                 shuttle->SetInputCTPTimeParams(bufferTiming);
+  }
+  else if (errorLevel == 7) {
+         shuttle->SetInputCTPTimeParams(emptybuffer);
+  }
+
   // simulating input from DAQ logbook
   if (errorLevel != 1){
-       shuttle->AddInputRunParameter("DAQ_time_start", "1233213.22");
+       shuttle->AddInputRunParameter("DAQ_time_start", "1020");
   }
   if (errorLevel != 6){
-       shuttle->AddInputRunParameter("beamEnergy", "1400.");
+       shuttle->AddInputRunParameter("beamEnergy", "123");
   }
 
-  shuttle->AddInputRunParameter("DAQ_time_end",   "1345645.22");
-  shuttle->AddInputRunParameter("beamType",    beamType);
+  shuttle->AddInputRunParameter("DAQ_time_end",   "1980");
+  shuttle->AddInputRunParameter("beamType", beamType);
   shuttle->AddInputRunParameter("numberOfDetectors", "5");
-  shuttle->AddInputRunParameter("detectorMask", "34555");
   shuttle->AddInputRunParameter("LHCperiod",    "LHC08b");
   shuttle->AddInputRunParameter("partition",partition);
   shuttle->AddInputRunParameter("detector",detector);
@@ -135,13 +194,10 @@ TMap* CreateDCSAliasMap(Int_t errorLevel)
   // <valueList> is a TObjArray of AliDCSValue
   // An AliDCSValue consists of timestamp and a value in form of a AliSimpleValue
   
-  const Int_t fgknDCSDP = 50;
+  const Int_t fgknDCSDP = 48;
   const char* fgkDCSDataPoints[AliGRPPreprocessor::fgknDCSDP] = {
-                   "LHCState",              // missing in DCS
                    "L3Polarity",
                    "DipolePolarity",
-                   "LHCLuminosity",         // missing in DCS
-                   "BeamIntensity",         // missing in DCS
                    "L3Current",
                    "DipoleCurrent",
                   "L3_BSF17_H1",
@@ -186,7 +242,8 @@ TMap* CreateDCSAliasMap(Int_t errorLevel)
                   "Dipole_Outside_Temperature",
                    "CavernTemperature",
                    "CavernAtmosPressure",
-                   "SurfaceAtmosPressure"
+                   "SurfaceAtmosPressure",
+                   "CavernAtmosPressure2",
                  };
 
   TMap* aliasMap;
@@ -196,17 +253,16 @@ TMap* CreateDCSAliasMap(Int_t errorLevel)
   aliasMap = new TMap;
   aliasMap->SetOwner(1);
   
-  // LHCState
-  valueSet = new TObjArray;
-  valueSet->SetOwner(1);
-  dcsVal = new AliDCSValue( 'F', 2 );
-  valueSet->Add(dcsVal);
-  aliasMap->Add( new TObjString(fgkDCSDataPoints[0]), valueSet );
-
   // L3Polarity
   valueSet = new TObjArray;
   valueSet->SetOwner(1);
-  dcsVal = new AliDCSValue( kTRUE, 2 );
+  dcsVal = new AliDCSValue( kTRUE, 1010 );
+  valueSet->Add(dcsVal);
+  dcsVal = new AliDCSValue( kTRUE, 1100 );
+  valueSet->Add(dcsVal);
+  dcsVal = new AliDCSValue( kTRUE, 1500 );
+  valueSet->Add(dcsVal);
+  dcsVal = new AliDCSValue( kTRUE, 1990 );
   valueSet->Add(dcsVal);
   // add the following two lines to test errors for changing polarity
   //  dcsVal = new AliDCSValue( kFALSE, 2 );
@@ -216,10 +272,16 @@ TMap* CreateDCSAliasMap(Int_t errorLevel)
   // DipolePolarity
   valueSet = new TObjArray;
   valueSet->SetOwner(1);
-  dcsVal = new AliDCSValue( kTRUE, 2 );
+  dcsVal = new AliDCSValue( kTRUE, 1010 );
+  valueSet->Add(dcsVal);
+  dcsVal = new AliDCSValue( kTRUE, 1100 );
   valueSet->Add(dcsVal);
+  dcsVal = new AliDCSValue( kTRUE, 1500 );
+  valueSet->Add(dcsVal);
+  dcsVal = new AliDCSValue( kTRUE, 1990 );
   aliasMap->Add( new TObjString(fgkDCSDataPoints[2]), valueSet );
-  
+
+
   TRandom random;
 
   Int_t maxDPindex = 0;
@@ -230,15 +292,19 @@ TMap* CreateDCSAliasMap(Int_t errorLevel)
          maxDPindex = 3;  // simulating only a few DP in case errorLevel=5
   }
 
-  for( int nAlias=3; nAlias<maxDPindex; nAlias++)  {
-         if (nAlias>=7 && nAlias < 47) continue; 
+  for( int nAlias=2; nAlias<maxDPindex; nAlias++)  {
+         if (nAlias>=4 && nAlias < 44) continue; 
     valueSet = new TObjArray;
     valueSet->SetOwner(1);
 
+    Int_t timeStampValue[10] = { 1010, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1990};
+
+
     for (int timeStamp=0; timeStamp<10; timeStamp++) {
-      dcsVal = new AliDCSValue((Float_t) (timeStamp+1+10*nAlias), timeStamp+1);
+      dcsVal = new AliDCSValue((Float_t) (timeStamp+1+10*nAlias), timeStampValue[timeStamp]);
       valueSet->Add(dcsVal);
     }
+    cout << " simulating " << fgkDCSDataPoints[nAlias] << endl;
     aliasMap->Add( new TObjString( fgkDCSDataPoints[nAlias]), valueSet );
   }
 
@@ -255,7 +321,7 @@ TMap* CreateDCSAliasMap(Int_t errorLevel)
                          valueSet = new TObjArray;
                          valueSet->SetOwner(1);
                          for (int timeStamp=0; timeStamp<10; timeStamp++) {
-                                 dcsVal = new AliDCSValue((Float_t) (timeStamp+1+10*hp), timeStamp+1);
+                                 dcsVal = new AliDCSValue((Float_t) (timeStamp+1+10*hp), timeStampValue[timeStamp]);
                                  valueSet->Add(dcsVal);
                                  //cout << " hall probe = " << dpAlias << " with value = " << dcsVal->GetFloat() << endl;
                          }