LCOV - code coverage report
Current view: top level - STEER/STEERBase - AliDAQ.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 110 217 50.7 %
Date: 2016-06-14 17:26:59 Functions: 18 28 64.3 %

          Line data    Source code
       1             : /**************************************************************************
       2             :  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       3             :  *                                                                        *
       4             :  * Author: The ALICE Off-line Project.                                    *
       5             :  * Contributors are mentioned in the code where appropriate.              *
       6             :  *                                                                        *
       7             :  * Permission to use, copy, modify and distribute this software and its   *
       8             :  * documentation strictly for non-commercial purposes is hereby granted   *
       9             :  * without fee, provided that the above copyright notice appears in all   *
      10             :  * copies and that both the copyright notice and this permission notice   *
      11             :  * appear in the supporting documentation. The authors make no claims     *
      12             :  * about the suitability of this software for any purpose. It is          *
      13             :  * provided "as is" without express or implied warranty.                  *
      14             :  **************************************************************************/
      15             : 
      16             : //////////////////////////////////////////////////////////////////////////////
      17             : //                                                                          //
      18             : // The AliDAQ class is responsible for handling all the information about   //
      19             : // Data Acquisition configuration. It defines the detector indexing,        //
      20             : // the number of DDLs and LDCs per detector.                                //
      21             : // The number of LDCs per detector is used only in the simulation in order  //
      22             : // to define the configuration of the dateStream application. Therefore the //
      23             : // numbers in the corresponding array can be changed without affecting the  //
      24             : // rest of the aliroot code.                                                //
      25             : // The equipment ID (DDL ID) is an integer (32-bit) number defined as:      //
      26             : // Equipment ID = (detectorID << 8) + DDLIndex                              //
      27             : // where the detectorID is given by fgkDetectorName array and DDLIndex is   //
      28             : // the index of the corresponding DDL inside the detector partition.        //
      29             : // Due to DAQ/HLT limitations, the ddl indexes should be consequtive, or    //
      30             : // at least without big gaps in between.                                    //
      31             : // The sub-detector code use only this class in the simulation and reading  //
      32             : // of the raw data.                                                         //
      33             : //                                                                          //
      34             : // cvetan.cheshkov@cern.ch  2006/06/09                                      //
      35             : //                                                                          //
      36             : //////////////////////////////////////////////////////////////////////////////
      37             : 
      38             : #include <TClass.h>
      39             : #include <TString.h>
      40             : 
      41             : #include "AliDAQ.h"
      42             : #include "AliLog.h"
      43             : 
      44         176 : ClassImp(AliDAQ)
      45             : 
      46             : const char* AliDAQ::fgkDetectorName[AliDAQ::kNDetectors] = {
      47             :   "ITSSPD",
      48             :   "ITSSDD",
      49             :   "ITSSSD",
      50             :   "TPC",
      51             :   "TRD",
      52             :   "TOF",
      53             :   "HMPID",
      54             :   "PHOS",
      55             :   "CPV",
      56             :   "PMD",
      57             :   "MUONTRK",
      58             :   "MUONTRG",
      59             :   "FMD",
      60             :   "T0",
      61             :   "VZERO",
      62             :   "ZDC",
      63             :   "ACORDE",
      64             :   "TRG",
      65             :   "EMCAL",
      66             :   "DAQ_TEST",
      67             :   "EMPTY",
      68             :   "AD",
      69             :   "MFT",
      70             :   "FIT",
      71             :   "HLT"
      72             : };
      73             : 
      74             : Int_t AliDAQ::fgkNumberOfDdls[AliDAQ::kNDetectors] = {
      75             :   20,   // ITSSPD
      76             :   24,   // ITSSDD
      77             :   16,   // ITSSSD
      78             :   216,  // TPC
      79             :   18,   // TRD
      80             :   72,   // TOF
      81             :   14,   // HMPID
      82             :   21,   // PHOS
      83             :   10,   // CPV
      84             :   6,    // PMD
      85             :   20,   // MUONTRK
      86             :   2,    // MUONTRG
      87             :   3,    // FMD
      88             :   1,    // T0
      89             :   1,    // VZERO
      90             :   1,    // ZDC
      91             :   1,    // ACORDE
      92             :   2,    // TRG
      93             :   46,   // EMCAL (including DCal)
      94             :   12,   // DAQ_TEST
      95             :   0,    // EMPTY
      96             :   1,    // AD
      97             :   10,   // MFT
      98             :   1,    // FIT
      99             :   28    // HLT
     100             : };
     101             : 
     102             : Float_t AliDAQ::fgkNumberOfLdcs[AliDAQ::kNDetectors] = {
     103             :   7,    // ITSSPD
     104             :   8,    // ITSSDD
     105             :   6,    // ITSSSD
     106             :   36,   // TPC
     107             :   9,    // TRD
     108             :   24,   // TOF
     109             :   5,    // HMPID
     110             :   8,    // PHOS
     111             :   1,    // CPV
     112             :   2,    // PMD
     113             :   7,    // MUONTRK
     114             :   1,    // MUONTRG
     115             :   1,    // FMD
     116             :   1,    // T0
     117             :   1,    // VZERO
     118             :   1,    // ZDC
     119             :   1,    // ACORDE
     120             :   1,    // TRG
     121             :   15,   // EMCAL
     122             :   2,    // DAQ_TEST
     123             :   0,    // EMPTY
     124             :   1,    // AD
     125             :   1,    // MFT
     126             :   1,    // FIT
     127             :   14    // HLT
     128             : };
     129             : 
     130             : const char* AliDAQ::fgkOfflineModuleName[AliDAQ::kNDetectors] = {
     131             :   "ITS",
     132             :   "ITS",
     133             :   "ITS",
     134             :   "TPC",
     135             :   "TRD",
     136             :   "TOF",
     137             :   "HMPID",
     138             :   "PHOS",
     139             :   "CPV",
     140             :   "PMD",
     141             :   "MUON",
     142             :   "MUON",
     143             :   "FMD",
     144             :   "T0",
     145             :   "VZERO",
     146             :   "ZDC",
     147             :   "ACORDE",
     148             :   "CTP",
     149             :   "EMCAL",
     150             :   "DAQ_TEST",
     151             :   "EMPTY",
     152             :   "AD",
     153             :   "MFT",
     154             :   "FIT",
     155             :   "HLT"
     156             : };
     157             : 
     158             : const char* AliDAQ::fgkOnlineName[AliDAQ::kNDetectors] = {
     159             :   "SPD",
     160             :   "SDD",
     161             :   "SSD",
     162             :   "TPC",
     163             :   "TRD",
     164             :   "TOF",
     165             :   "HMP",
     166             :   "PHS",
     167             :   "CPV",
     168             :   "PMD",
     169             :   "MCH",
     170             :   "MTR",
     171             :   "FMD",
     172             :   "T00",
     173             :   "V00",
     174             :   "ZDC",
     175             :   "ACO",
     176             :   "TRI",
     177             :   "EMC",
     178             :   "TST",
     179             :   "EMP",
     180             :   "AD0",
     181             :   "MFT",
     182             :   "FIT",
     183             :   "HLT"
     184             : };
     185             : 
     186             : Int_t AliDAQ::fgkRunPeriod = 1;
     187             : Int_t AliDAQ::fgkFirstSTUDDL = 44;
     188             : Int_t AliDAQ::fgkLastSTUDDL = 45;
     189             : 
     190             : AliDAQ::AliDAQ(const AliDAQ& source) :
     191           0 :   TObject(source)
     192           0 : {
     193             :   // Copy constructor
     194             :   // Nothing to be done
     195           0 : }
     196             : 
     197             : AliDAQ& AliDAQ::operator = (const AliDAQ& /* source */)
     198             : {
     199             :   // Assignment operator
     200             :   // Nothing to be done
     201           0 :   return *this;
     202             : }
     203             : 
     204             : Int_t AliDAQ::DetectorID(const char *detectorName)
     205             : {
     206             :   // Return the detector index
     207             :   // corresponding to a given
     208             :   // detector name
     209        9432 :   TString detStr = detectorName;
     210             : 
     211             :   Int_t iDet;
     212        9432 :   if (detStr.CompareTo(fgkDetectorName[kNDetectors-1],TString::kIgnoreCase)==0) { //HLT
     213          14 :     return kHLTId;
     214             :   }
     215       56312 :   for(iDet = 0; iDet < kNDetectors; iDet++) {
     216       56312 :     if (detStr.CompareTo(fgkDetectorName[iDet],TString::kIgnoreCase) == 0)
     217             :       break;
     218             :   }
     219        4702 :   if (iDet == kNDetectors) {
     220           0 :     AliErrorClass(Form("Invalid detector name: %s !",detectorName));
     221           0 :     return -1;
     222             :   }
     223        4702 :   return iDet;
     224        4716 : }
     225             : 
     226             : const char *AliDAQ::DetectorName(Int_t detectorID)
     227             : {
     228             :   // Returns the name of particular
     229             :   // detector identified by its index
     230       11522 :   if (detectorID==kHLTId) return fgkDetectorName[kNDetectors-1];
     231        5761 :   if (detectorID < 0 || detectorID > kNDetectors-1) { //Accept also kNDetectors - 1 as HLT id
     232           0 :     AliErrorClass(Form("Invalid detector index: %d (%d -> %d, %d) !",detectorID,0,kNDetectors-2,kHLTId));
     233           0 :     return "";
     234             :   }
     235        5761 :   return fgkDetectorName[detectorID];
     236        5761 : }
     237             : 
     238             : Int_t AliDAQ::DdlIDOffset(const char *detectorName)
     239             : {
     240             :   // Returns the DDL ID offset
     241             :   // for a given detector
     242          34 :   Int_t detectorID = DetectorID(detectorName);
     243          17 :   if (detectorID < 0)
     244           0 :     return -1;
     245             :   
     246          17 :   return DdlIDOffset(detectorID);
     247          17 : }
     248             : 
     249             : Int_t AliDAQ::DdlIDOffset(Int_t detectorID)
     250             : {
     251             :   // Returns the DDL ID offset
     252             :   // for a given detector identified
     253             :   // by its index
     254       24114 :   if (detectorID < 0 || (detectorID > kNDetectors-1 && detectorID!=kHLTId)) {//Accept also kNDetectors - 1 as HLT id
     255           0 :     AliErrorClass(Form("Invalid detector index: %d (%d -> %d, %d) !",detectorID,0,kNDetectors-2,kHLTId));
     256           0 :     return -1;
     257             :   }
     258             :   // HLT has a DDL offset = 30, we accept detectorID == kNDetectors - 1 as HLT detector-id as well.
     259        8262 :   if (detectorID==kNDetectors-1) return (kHLTId << 8);
     260             : 
     261        7814 :   return (detectorID << 8);
     262        8038 : }
     263             : 
     264             : const char *AliDAQ::DetectorNameFromDdlID(Int_t ddlID,Int_t &ddlIndex)
     265             : {
     266             :   // Returns the detector name for
     267             :   // a given DDL ID
     268          10 :   ddlIndex = -1;
     269           5 :   Int_t detectorID = DetectorIDFromDdlID(ddlID,ddlIndex);
     270           5 :   if (detectorID < 0)
     271           0 :     return "";
     272             : 
     273           5 :   return DetectorName(detectorID);
     274           5 : }
     275             : 
     276             : Int_t AliDAQ::DetectorIDFromDdlID(Int_t ddlID,Int_t &ddlIndex)
     277             : {
     278             :   // Returns the detector ID and
     279             :   // the ddl index within the
     280             :   // detector range for
     281             :   // a given input DDL ID
     282      159596 :   Int_t detectorID = ddlID >> 8;
     283             : 
     284      159596 :   if (detectorID < 0 || (detectorID >= kNDetectors-1 && detectorID!=kHLTId)) {//detectorID comes from ddlID, so it cannot be kNDetectors - 1!
     285           0 :     AliErrorClass(Form("Invalid detector index: %d (%d -> %d) !",detectorID,0,kNDetectors-1));
     286           0 :     return -1;
     287             :   }
     288       79798 :   ddlIndex = ddlID & 0xFF;
     289       79798 :   if (ddlIndex >= NumberOfDdls(detectorID)) {
     290           0 :     AliErrorClass(Form("Invalid DDL index %d (%d -> %d) for detector %d",
     291             :                        ddlIndex,0,NumberOfDdls(detectorID),detectorID));
     292           0 :     ddlIndex = -1;
     293           0 :     return -1;
     294             :   }
     295       79798 :   return detectorID;
     296       79798 : }
     297             : 
     298             : Int_t AliDAQ::DdlID(const char *detectorName, Int_t ddlIndex)
     299             : {
     300             :   // Returns the DDL ID starting from
     301             :   // the detector name and the DDL
     302             :   // index inside the detector
     303           0 :   Int_t detectorID = DetectorID(detectorName);
     304           0 :   if (detectorID < 0)
     305           0 :     return -1;
     306             : 
     307           0 :   return DdlID(detectorID,ddlIndex);
     308           0 : }
     309             : 
     310             : Int_t AliDAQ::DdlID(Int_t detectorID, Int_t ddlIndex)
     311             : {
     312             :   // Returns the DDL ID starting from
     313             :   // the detector ID and the DDL
     314             :   // index inside the detector
     315        8432 :   Int_t ddlID = DdlIDOffset(detectorID);
     316        4216 :   if (ddlID < 0)
     317           0 :     return -1;
     318             :  
     319        4216 :   if (ddlIndex >= NumberOfDdls(detectorID)) {
     320           0 :     AliErrorClass(Form("Invalid DDL index %d (%d -> %d) for detector %d",
     321             :                        ddlIndex,0,NumberOfDdls(detectorID),detectorID));
     322           0 :     return -1;
     323             :   }
     324             : 
     325        4216 :   ddlID += ddlIndex;
     326        4216 :   return ddlID;
     327        4216 : }
     328             : 
     329             : const char *AliDAQ::DdlFileName(const char *detectorName, Int_t ddlIndex)
     330             : {
     331             :   // Returns the DDL file name
     332             :   // (used in the simulation) starting from
     333             :   // the detector name and the DDL
     334             :   // index inside the detector
     335        3098 :   Int_t detectorID = DetectorID(detectorName);
     336        1549 :   if (detectorID < 0)
     337           0 :     return "";
     338             : 
     339        1549 :   return DdlFileName(detectorID,ddlIndex);
     340        1549 : }
     341             : 
     342             : const char *AliDAQ::DdlFileName(Int_t detectorID, Int_t ddlIndex)
     343             : {
     344             :   // Returns the DDL file name
     345             :   // (used in the simulation) starting from
     346             :   // the detector ID and the DDL
     347             :   // index inside the detector
     348        7466 :   Int_t ddlID = DdlIDOffset(detectorID);
     349        3733 :   if (ddlID < 0)
     350           0 :     return "";
     351             :   
     352        3733 :   if (ddlIndex >= NumberOfDdls(detectorID)) {
     353           0 :     AliErrorClass(Form("Invalid DDL index %d (%d -> %d) for detector %d",
     354             :                        ddlIndex,0,NumberOfDdls(detectorID),detectorID));
     355           0 :     return "";
     356             :   }
     357             : 
     358        3733 :   ddlID += ddlIndex;
     359        3736 :   static TString fileName;
     360             : 
     361        3733 :   fileName = DetectorName(detectorID);
     362        3733 :   fileName += "_";
     363        3733 :   fileName += ddlID;
     364        3733 :   fileName += ".ddl";
     365        3733 :   return fileName.Data();
     366        3733 : }
     367             : 
     368             : Int_t AliDAQ::NumberOfDdls(const char *detectorName)
     369             : {
     370             :   // Returns the number of DDLs for
     371             :   // a given detector
     372        3202 :   Int_t detectorID = DetectorID(detectorName);
     373        1601 :   if (detectorID < 0)
     374           0 :     return -1;
     375             : 
     376        1601 :   return NumberOfDdls(detectorID);
     377        1601 : }
     378             : 
     379             : Int_t AliDAQ::NumberOfDdls(Int_t detectorID)
     380             : {
     381             :   // Returns the number of DDLs for
     382             :   // a given detector
     383      286614 :   if (detectorID < 0 || (detectorID > kNDetectors-1 && detectorID!=kHLTId)) {//Accept also kNDetectors - 1 as HLT id
     384           0 :     AliErrorClass(Form("Invalid detector index: %d (%d -> %d, %d) !",detectorID,0,kNDetectors-2,kHLTId));
     385           0 :     return -1;
     386             :   }
     387             : 
     388             :   int detectorIDindex = detectorID;
     389       95538 :   if (detectorID==kHLTId) detectorIDindex=kNDetectors-1;
     390             : 
     391       95538 :   return fgkNumberOfDdls[detectorIDindex];
     392       95538 : }
     393             : 
     394             : Float_t AliDAQ::NumberOfLdcs(const char *detectorName)
     395             : {
     396             :   // Returns the number of DDLs for
     397             :   // a given detector
     398           0 :   Int_t detectorID = DetectorID(detectorName);
     399           0 :   if (detectorID < 0)
     400           0 :     return -1;
     401             : 
     402           0 :   return NumberOfLdcs(detectorID);
     403           0 : }
     404             : 
     405             : Float_t AliDAQ::NumberOfLdcs(Int_t detectorID)
     406             : {
     407             :   // Returns the number of DDLs for
     408             :   // a given detector
     409        6552 :   if (detectorID < 0 || (detectorID > kNDetectors-1 && detectorID!=kHLTId)) {//Accept also kNDetectors - 1 as HLT id
     410           0 :     AliErrorClass(Form("Invalid detector index: %d (%d -> %d, %d) !",detectorID,0,kNDetectors-2,kHLTId));
     411           0 :     return -1;
     412             :   }
     413             : 
     414             :   int detectorIDindex = detectorID;
     415        2184 :   if (detectorID==kHLTId) detectorIDindex=kNDetectors-1;
     416             : 
     417        2184 :   return fgkNumberOfLdcs[detectorIDindex];
     418        2184 : }
     419             : 
     420             : void AliDAQ::PrintConfig()
     421             : {
     422             :   // Print the DAQ configuration
     423             :   // for all the detectors
     424           0 :   printf("===================================================================================================\n"
     425             :          "|                              ALICE Data Acquisition Configuration                               |\n"
     426             :          "===================================================================================================\n"
     427             :          "| Detector ID | Detector Name | DDL Offset | # of DDLs | # of LDCs | Online Name | AliRoot Module |\n"
     428             :          "===================================================================================================\n");
     429           0 :   for(Int_t iDet = 0; iDet < kNDetectors; iDet++) {
     430           0 :     printf("|%11d  |%13s  |%10d  |%9d  |%9.1f  |%11s  |%14s  |\n",
     431           0 :            iDet,DetectorName(iDet),DdlIDOffset(iDet),NumberOfDdls(iDet),NumberOfLdcs(iDet),
     432           0 :            OnlineName(iDet),OfflineModuleName(iDet));
     433             :   }
     434           0 :   printf("===================================================================================================\n");
     435             : 
     436           0 : }
     437             : 
     438             : const char *AliDAQ::ListOfTriggeredDetectors(UInt_t detectorPattern)
     439             : {
     440             :   // Returns a string with the list of
     441             :   // active detectors. The input is the
     442             :   // trigger pattern word contained in
     443             :   // the raw-data event header.
     444             : 
     445          61 :   static TString detList;
     446          26 :   detList = "";
     447        1300 :   for(Int_t iDet = 0; iDet < (kNDetectors-1); iDet++) {
     448         624 :     if ((detectorPattern >> iDet) & 0x1) {
     449         477 :       detList += fgkDetectorName[iDet];
     450         477 :       detList += " ";
     451         477 :     }
     452             :   }
     453             : 
     454             :   // Always remember HLT
     455          43 :   if ((detectorPattern >> kHLTId) & 0x1) detList += fgkDetectorName[kNDetectors-1];
     456             : 
     457          26 :   return detList.Data();
     458           0 : }
     459             : 
     460             : UInt_t  AliDAQ::DetectorPattern(const char *detectorList)
     461             : {
     462             :   // Returns a 32-bit word containing the
     463             :   // the detector pattern corresponding to a given
     464             :   // list of detectors
     465             :   UInt_t pattern = 0;
     466         218 :   TString detList = detectorList;
     467        5450 :   for(Int_t iDet = 0; iDet < (kNDetectors-1); iDet++) {
     468        2616 :     TString det = fgkDetectorName[iDet];
     469       18082 :     if((detList.CompareTo(det) == 0) || 
     470        5232 :        detList.BeginsWith(det) ||
     471        7848 :        detList.EndsWith(det) ||
     472        9340 :        detList.Contains( " "+det+" " )) pattern |= (1 << iDet) ;
     473        2616 :   }
     474             : 
     475             :   // HLT
     476         109 :   TString hltDet = fgkDetectorName[kNDetectors-1];
     477         763 :   if((detList.CompareTo(hltDet) == 0) || 
     478         218 :        detList.BeginsWith(hltDet) ||
     479         327 :        detList.EndsWith(hltDet) ||
     480         327 :        detList.Contains( " "+hltDet+" " )) pattern |= (1 << kHLTId) ;
     481             :   
     482             :   return pattern;
     483         109 : }
     484             : 
     485             : UInt_t  AliDAQ::DetectorPatternOffline(const char *detectorList)
     486             : {
     487             :   // Returns a 32-bit word containing the
     488             :   // the detector pattern corresponding to a given
     489             :   // list of detectors.
     490             :   // The list of detectors must follow offline module
     491             :   // name convention.
     492             :   UInt_t pattern = 0;
     493          32 :   TString detList = detectorList;
     494         800 :   for(Int_t iDet = 0; iDet < (kNDetectors-1); iDet++) {
     495         384 :     TString det = fgkOfflineModuleName[iDet];
     496        2592 :     if((detList.CompareTo(det) == 0) || 
     497         768 :        detList.BeginsWith(det) ||
     498        1008 :        detList.EndsWith(det) ||
     499        1296 :        detList.Contains( " "+det+" " )) pattern |= (1 << iDet) ;
     500         384 :   }
     501             : 
     502             :   // HLT
     503          16 :   TString hltDet = fgkOfflineModuleName[kNDetectors-1];
     504          80 :   if((detList.CompareTo(hltDet) == 0) || 
     505          32 :        detList.BeginsWith(hltDet) ||
     506          48 :        detList.EndsWith(hltDet) ||
     507          16 :        detList.Contains( " "+hltDet+" " )) pattern |= (1 << kHLTId) ;
     508             :   
     509             :   return pattern;
     510          16 : }
     511             : 
     512             : const char *AliDAQ::OfflineModuleName(const char *detectorName)
     513             : {
     514             :   // Returns the name of the offline module
     515             :   // for a given detector (online naming convention)
     516           0 :   Int_t detectorID = DetectorID(detectorName);
     517           0 :   if (detectorID < 0)
     518           0 :     return "";
     519             : 
     520           0 :   return OfflineModuleName(detectorID);
     521           0 : }
     522             : 
     523             : const char *AliDAQ::OfflineModuleName(Int_t detectorID)
     524             : {
     525             :   // Returns the name of the offline module
     526             :   // for a given detector (online naming convention)
     527        3048 :   if (detectorID < 0 || (detectorID > kNDetectors-1 && detectorID!=kHLTId)) { //Accept also kNDetectors - 1 as HLT id
     528           0 :     AliErrorClass(Form("Invalid detector index: %d (%d -> %d, %d) !",detectorID,0,kNDetectors-2,kHLTId));
     529           0 :     return "";
     530             :   }
     531             : 
     532             :   int detectorIDindex=detectorID;
     533        1016 :   if (detectorID==kHLTId) detectorIDindex = kNDetectors-1;
     534             : 
     535        1016 :   return fgkOfflineModuleName[detectorIDindex];
     536        1016 : }
     537             : 
     538             : const char *AliDAQ::OnlineName(const char *detectorName)
     539             : {
     540             :   // Returns the name of the online detector name (3 characters)
     541             :   // for a given detector
     542           0 :   Int_t detectorID = DetectorID(detectorName);
     543           0 :   if (detectorID < 0)
     544           0 :     return "";
     545             : 
     546           0 :   return OnlineName(detectorID);
     547           0 : }
     548             : 
     549             : const char *AliDAQ::OnlineName(Int_t detectorID)
     550             : {
     551             :   // Returns the name of the online detector name (3 characters)
     552             :   // for a given detector
     553          84 :   if (detectorID < 0 || (detectorID > kNDetectors-1 && detectorID!=kHLTId)) { //Accept also kNDetectors - 1 as HLT id
     554           0 :     AliErrorClass(Form("Invalid detector index: %d (%d -> %d, %d) !",detectorID,0,kNDetectors-2,kHLTId));
     555           0 :     return "";
     556             :   }
     557             : 
     558             :   int detectorIDindex=detectorID;
     559          28 :   if (detectorID==kHLTId) detectorIDindex = kNDetectors-1;
     560             : 
     561          28 :   return fgkOnlineName[detectorIDindex];
     562          28 : }
     563             : 
     564             : void AliDAQ::SetRun1(){
     565             :   // Set RunPeriod
     566           0 :   fgkRunPeriod = 1;
     567             :   // STU
     568           0 :   fgkFirstSTUDDL=44;
     569           0 :   fgkLastSTUDDL=44;
     570             :   
     571             :   // Change the default values to the ones used in Run1
     572             :   // DDL
     573           0 :   fgkNumberOfDdls[6] = 20; // HMPID in Run1
     574           0 :   fgkNumberOfDdls[17] = 1; // TRG
     575           0 :   fgkNumberOfDdls[18] = 46; // EMCAL
     576           0 :   fgkNumberOfDdls[19] = 1; // DAQ_TEST
     577             : 
     578             :   // LDC
     579           0 :   fgkNumberOfLdcs[0] = 4; // ITSSPD
     580           0 :   fgkNumberOfLdcs[1] = 4; // ITSSDD
     581           0 :   fgkNumberOfLdcs[2] = 4; // ITSSSD
     582           0 :   fgkNumberOfLdcs[4] = 3; // TRD
     583           0 :   fgkNumberOfLdcs[5] = 12; // TOF
     584           0 :   fgkNumberOfLdcs[6] = 4; // HMPID
     585           0 :   fgkNumberOfLdcs[7] = 4; // PHOS
     586           0 :   fgkNumberOfLdcs[8] = 2; // CPV
     587           0 :   fgkNumberOfLdcs[9] = 1; // PMD
     588           0 :   fgkNumberOfLdcs[10] = 5; // MUONTRK
     589           0 :   fgkNumberOfLdcs[13] = 0.5; // T0
     590           0 :   fgkNumberOfLdcs[14] = 0.5; // VZERO
     591           0 :   fgkNumberOfLdcs[18] = 8; // EMCAL
     592           0 :   fgkNumberOfLdcs[19] = 1; // DAQ_TEST
     593           0 :   fgkNumberOfLdcs[24] = 7; // HLT
     594           0 : }
     595             : 
     596             : void AliDAQ::SetRun2(){
     597             :   // Set RunPeriod
     598           0 :   fgkRunPeriod = 2;
     599             :   // STU
     600           0 :   fgkFirstSTUDDL=44;
     601           0 :   fgkLastSTUDDL=45;
     602             :  
     603             :   // Change the default values to the ones used in Run2
     604             :   // DDL
     605           0 :   fgkNumberOfDdls[6] = 14; // HMPID in Run2
     606           0 :   fgkNumberOfDdls[17] = 2; // TRG
     607           0 :   fgkNumberOfDdls[18] = 46; // EMCAL
     608           0 :   fgkNumberOfDdls[19] = 12; // DAQ_TEST
     609             : 
     610             :   // LDC
     611           0 :   fgkNumberOfLdcs[0] = 7; // ITSSPD
     612           0 :   fgkNumberOfLdcs[1] = 8; // ITSSDD
     613           0 :   fgkNumberOfLdcs[2] = 6; // ITSSSD
     614           0 :   fgkNumberOfLdcs[4] = 9; // TRD
     615           0 :   fgkNumberOfLdcs[5] = 24; // TOF
     616           0 :   fgkNumberOfLdcs[6] = 5; // HMPID
     617           0 :   fgkNumberOfLdcs[7] = 8; // PHOS
     618           0 :   fgkNumberOfLdcs[8] = 1; // CPV
     619           0 :   fgkNumberOfLdcs[9] = 2; // PMD
     620           0 :   fgkNumberOfLdcs[10] = 7; // MUONTRK
     621           0 :   fgkNumberOfLdcs[13] = 1; // T0
     622           0 :   fgkNumberOfLdcs[14] = 1; // VZERO
     623           0 :   fgkNumberOfLdcs[18] = 15; // EMCAL
     624           0 :   fgkNumberOfLdcs[19] = 2; // DAQ_TEST
     625           0 :   fgkNumberOfLdcs[24] = 14; // HLT
     626           0 : }

Generated by: LCOV version 1.11