LCOV - code coverage report
Current view: top level - ZDC/ZDCbase - AliZDCDataDCS.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 118 0.8 %
Date: 2016-06-14 17:26:59 Functions: 1 14 7.1 %

          Line data    Source code
       1             : ///////////////////////////////////////////////////////////////////////////////
       2             : //                                                                           //
       3             : // Class for ZDC DCS data                                                    //
       4             : //                                                                           //
       5             : ///////////////////////////////////////////////////////////////////////////////
       6             : 
       7             : #include "AliZDCDataDCS.h"
       8             : 
       9             : #include "AliCDBMetaData.h"
      10             : #include "AliDCSValue.h"
      11             : #include "AliLog.h"
      12             : 
      13             : #include <TCanvas.h>
      14             : #include <TDatime.h>
      15             : #include <TString.h>
      16             : #include <TObjString.h>
      17             : #include <TStyle.h>
      18             : #include <TTimeStamp.h>
      19             : 
      20          12 : ClassImp(AliZDCDataDCS)
      21             : 
      22             : //---------------------------------------------------------------
      23           0 : AliZDCDataDCS::AliZDCDataDCS():
      24           0 :    TObject(),
      25           0 :    fRun(0),
      26           0 :    fStartTime(0),
      27           0 :    fEndTime(0),
      28           0 :    fStartTimeDCSQuery(0),
      29           0 :    fEndTimeDCSQuery(0),
      30             : //   fTimeStamp(0x0), 
      31             : //   fHVData(0x0), 
      32           0 :    fIsProcessed(kFALSE)
      33           0 : {
      34             :   // Default constructor
      35           0 :   for(Int_t i=0; i<kNAliases; i++) fAliasNames[i] = "";
      36           0 :   for(Int_t i=0; i<kNAlignDet; i++) fAlignData[i] = 0.;
      37           0 : }
      38             : 
      39             : //---------------------------------------------------------------
      40           0 : AliZDCDataDCS::AliZDCDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime,
      41             :                          UInt_t startTimeDCSQuery, UInt_t endTimeDCSQuery):
      42           0 :    TObject(),
      43           0 :    fRun(nRun),
      44           0 :    fStartTime(startTime),
      45           0 :    fEndTime(endTime),
      46           0 :    fStartTimeDCSQuery(startTimeDCSQuery),
      47           0 :    fEndTimeDCSQuery(endTimeDCSQuery),
      48             : //   fTimeStamp(0x0), 
      49             : //   fHVData(0x0), 
      50           0 :    fIsProcessed(kFALSE)
      51           0 : {
      52             :    // Standard constructor
      53             :    
      54           0 :    AliDebug(2,Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s \n\tStartTime DCS Query %s \n\tEndTime DCS Query %s", nRun,
      55             :    TTimeStamp(startTime).AsString(),
      56             :    TTimeStamp(endTime).AsString(), 
      57             :    TTimeStamp(startTimeDCSQuery).AsString(), 
      58             :    TTimeStamp(endTimeDCSQuery).AsString()));
      59             : 
      60           0 :    for(Int_t i=0; i<kNAlignDet; i++) fAlignData[i] = 0.;
      61             : 
      62           0 :    Init();
      63             : 
      64           0 : }
      65             : 
      66             : //---------------------------------------------------------------
      67           0 : AliZDCDataDCS::AliZDCDataDCS(const AliZDCDataDCS & data):
      68           0 :   TObject(data), 
      69           0 :   fRun(data.fRun),
      70           0 :   fStartTime(data.fStartTime),
      71           0 :   fEndTime(data.fEndTime),
      72           0 :   fStartTimeDCSQuery(data.fStartTimeDCSQuery),
      73           0 :   fEndTimeDCSQuery(data.fEndTimeDCSQuery),
      74             : //  fTimeStamp(data.fTimeStamp), 
      75             : //  fHVData(data.fHVData), 
      76           0 :   fIsProcessed(data.fIsProcessed)
      77           0 : {
      78             : 
      79             :   // copy constructor
      80             : 
      81           0 :   for(int i=0;i<kNAliases;i++) fAliasNames[i] = data.fAliasNames[i];
      82           0 :   for(int i=0;i<kNAlignDet;i++) fAlignData[i] = data.fAlignData[i];
      83             :     
      84           0 : }
      85             : 
      86             : //---------------------------------------------------------------
      87             : AliZDCDataDCS& AliZDCDataDCS:: operator=(const AliZDCDataDCS & data) { 
      88             : 
      89             :   // assignment operator
      90             : 
      91           0 :   if (this == &data)
      92           0 :     return *this;
      93             : 
      94           0 :   TObject::operator=(data);
      95           0 :   fRun = data.GetRun();
      96           0 :   fStartTime = data.GetStartTime();
      97           0 :   fEndTime = data.GetEndTime();
      98           0 :   fStartTimeDCSQuery = data.GetStartTimeDCSQuery();
      99           0 :   fEndTimeDCSQuery = data.GetEndTimeDCSQuery();
     100             : //  fTimeStamp  = data.GetTimeStamp();
     101             : //  fHVData  = data.GetHVData();
     102           0 :   fIsProcessed = data.fIsProcessed; 
     103             : 
     104           0 :   for(int i=0;i<kNAliases;i++) fAliasNames[i] = data.GetAliasName(i);
     105           0 :   for(int i=0;i<kNAlignDet;i++) fAlignData[i] = data.GetAlignData(i);
     106             : 
     107           0 :   return *this;
     108           0 : }
     109             : 
     110             : //---------------------------------------------------------------
     111             : AliZDCDataDCS::~AliZDCDataDCS() 
     112           0 : {
     113             :   // Destructor
     114           0 : }
     115             : 
     116             : //---------------------------------------------------------------
     117             : Bool_t AliZDCDataDCS::ProcessData(TMap& aliasMap)
     118             : {
     119             :    // Data processing
     120             : 
     121           0 :    if(!(fAliasNames[0])) Init();
     122             :    
     123           0 :    AliInfo(Form(" Start Time = %i",fStartTime));
     124           0 :    AliInfo(Form(" End Time = %i",fEndTime));
     125           0 :    AliInfo(Form(" Start Time DCS Query= %i",fStartTimeDCSQuery));
     126           0 :    AliInfo(Form(" End Time DCS Query= %i",fEndTimeDCSQuery));
     127             : 
     128           0 :    if (fEndTime==fStartTime){
     129           0 :      AliError(Form(" Run with null time length: start time = %i = end time = %i",fStartTime,fEndTime));
     130           0 :      return kFALSE;
     131             :    }
     132             :    
     133             :    TObjArray   *aliasArr;
     134             :    AliDCSValue *aValue;
     135             :   
     136           0 :    for(int j=0; j<kNAliases; j++){
     137             :       //printf(" Processing alias %d  aliasName %s \n", j, fAliasNames[j].Data());
     138             :       
     139           0 :       aliasArr = (TObjArray*) (aliasMap.GetValue(fAliasNames[j].Data()));
     140           0 :       if(!aliasArr){
     141           0 :         AliWarning(Form("Alias %s: data not found!", fAliasNames[j].Data()));
     142           0 :         continue;
     143             :       }
     144             : 
     145           0 :       Introduce(j, aliasArr);
     146             : 
     147           0 :       Int_t nentries = aliasArr->GetEntries();
     148             : /*      if(nentries<=2){
     149             :         AliWarning(Form("Alias %s has just %d entries!", fAliasNames[j].Data(), nentries));
     150             : //        continue;
     151             :       }
     152             : */
     153           0 :       Float_t *time = new Float_t[nentries];
     154           0 :       Float_t *val  = new Float_t[nentries];
     155             : 
     156           0 :       TIter iterarray(aliasArr);
     157             :       
     158             :       UInt_t ne=0;
     159             :       Float_t sum=0.;
     160             :       Int_t nMeasures=0;
     161           0 :       while((aValue = (AliDCSValue*) iterarray.Next())){
     162           0 :         val[ne] = aValue->GetFloat();
     163           0 :         time[ne] = (Float_t) (aValue->GetTimeStamp());
     164           0 :         if(j<4){
     165           0 :           sum += val[ne];
     166           0 :           nMeasures++;
     167           0 :         }
     168             :         else{
     169             :           //fHVData[ne] = val[ne];
     170             :           //fTimeStamp[ne] = time[ne];
     171             :         }
     172           0 :         ne++;
     173             :       }
     174             :       //
     175           0 :       if(j<4 && nMeasures!=0) fAlignData[j] = sum/nMeasures;
     176             :       
     177           0 :       delete[] val;
     178           0 :       delete[] time;   
     179           0 :    }
     180             :   
     181           0 :    fIsProcessed=kTRUE;
     182             :    return kTRUE;
     183             :    
     184           0 : }
     185             : 
     186             : //---------------------------------------------------------------
     187             : void AliZDCDataDCS::Init()
     188             : {
     189             :    // Initialization
     190             : 
     191           0 :    fAliasNames[0] = "ZDC_ZNA_POS.actual.position";
     192           0 :    fAliasNames[1] = "ZDC_ZPA_POS.actual.position";
     193           0 :    fAliasNames[2] = "ZDC_ZNC_POS.actual.position";
     194           0 :    fAliasNames[3] = "ZDC_ZPC_POS.actual.position";
     195             :    //
     196           0 :    fAliasNames[4]  = "ZDC_ZNA_HV0.actual.vMon";
     197           0 :    fAliasNames[5]  = "ZDC_ZNA_HV1.actual.vMon";
     198           0 :    fAliasNames[6]  = "ZDC_ZNA_HV2.actual.vMon";
     199           0 :    fAliasNames[7]  = "ZDC_ZNA_HV3.actual.vMon";
     200           0 :    fAliasNames[8]  = "ZDC_ZNA_HV4.actual.vMon";
     201             :    //
     202           0 :    fAliasNames[9]   = "ZDC_ZPA_HV0.actual.vMon";
     203           0 :    fAliasNames[10]  = "ZDC_ZPA_HV1.actual.vMon";
     204           0 :    fAliasNames[11]  = "ZDC_ZPA_HV2.actual.vMon";
     205           0 :    fAliasNames[12]  = "ZDC_ZPA_HV3.actual.vMon";
     206           0 :    fAliasNames[13]  = "ZDC_ZPA_HV4.actual.vMon";
     207             :    //
     208           0 :    fAliasNames[14]  = "ZDC_ZNC_HV0.actual.vMon";
     209           0 :    fAliasNames[15]  = "ZDC_ZNC_HV1.actual.vMon";
     210           0 :    fAliasNames[16]  = "ZDC_ZNC_HV2.actual.vMon";
     211           0 :    fAliasNames[17]  = "ZDC_ZNC_HV3.actual.vMon";
     212           0 :    fAliasNames[18]  = "ZDC_ZNC_HV4.actual.vMon";
     213             :    //
     214           0 :    fAliasNames[19]  = "ZDC_ZPC_HV0.actual.vMon";
     215           0 :    fAliasNames[20]  = "ZDC_ZPC_HV1.actual.vMon";
     216           0 :    fAliasNames[21]  = "ZDC_ZPC_HV2.actual.vMon";
     217           0 :    fAliasNames[22]  = "ZDC_ZPC_HV3.actual.vMon";
     218           0 :    fAliasNames[23]  = "ZDC_ZPC_HV4.actual.vMon";
     219             :    //
     220           0 :    fAliasNames[24]  = "ZDC_ZEM_HV0.actual.vMon";
     221           0 :    fAliasNames[25]  = "ZDC_ZEM_HV1.actual.vMon";
     222             :    //
     223           0 :    fAliasNames[26]  = "ZDC_REFA_HV.actual.vMon";
     224           0 :    fAliasNames[27]  = "ZDC_REFC_HV.actual.vMon";
     225             :  
     226           0 : }
     227             : 
     228             : //---------------------------------------------------------------
     229             : void AliZDCDataDCS::Introduce(UInt_t numAlias, const TObjArray* aliasArr)
     230             : {
     231             :    // Getting array of DCS aliases
     232             :    
     233           0 :    int entries = aliasArr->GetEntries();
     234           0 :    printf("************ Alias: %s has  %d DP values collected\n",
     235           0 :         fAliasNames[numAlias].Data(),entries);
     236             : 
     237           0 : }

Generated by: LCOV version 1.11