]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZERODataDCS.cxx
Fix Coverity leaks
[u/mrichter/AliRoot.git] / VZERO / AliVZERODataDCS.cxx
index be18f1f2cca33667f128921f4072401131227c8f..b65b7ae4f893a410c27b6fb51e5bea012b0c1c25 100644 (file)
@@ -46,21 +46,30 @@ AliVZERODataDCS::AliVZERODataDCS():
        fRun(0),
        fStartTime(0),
        fEndTime(0),
+       fDaqStartTime(0),
+       fDaqEndTime(0),
     fGraphs("TGraph",kNGraphs),
        fFEEParameters(NULL),
        fIsProcessed(kFALSE)
 
 {
   // Default constructor
-  for(int i=0;i<kNHvChannel;i++) fDeadChannel[i] = kFALSE;
+       for(int i=0;i<kNHvChannel;i++) {
+               fDeadChannel[i] = kFALSE;
+               fMeanHV[i]      = 100.0;
+               fWidthHV[i]     = 0.0; 
+               fHv[i]          = NULL;
+       }
 }
 
 //_____________________________________________________________________________
-AliVZERODataDCS::AliVZERODataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime):
+AliVZERODataDCS::AliVZERODataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime, UInt_t daqStartTime, UInt_t daqEndTime):
        TObject(),
        fRun(nRun),
        fStartTime(startTime),
        fEndTime(endTime),
+       fDaqStartTime(daqStartTime),
+       fDaqEndTime(daqEndTime),
        fGraphs("TGraph",kNGraphs),
        fFEEParameters(new TMap()),
        fIsProcessed(kFALSE)
@@ -68,11 +77,16 @@ AliVZERODataDCS::AliVZERODataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime):
 {
 
   // constructor with arguments
-       for(int i=0;i<kNHvChannel;i++) fDeadChannel[i] = kFALSE;
-
-       AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", nRun,
+       for(int i=0;i<kNHvChannel;i++) {
+        fDeadChannel[i] = kFALSE;        
+        fMeanHV[i]      = 100.0;
+     fWidthHV[i]     = 0.0; 
+       }
+       AliInfo(Form("\n\tRun %d \n\tTime Created %s \n\tTime Completed %s \n\tDAQ start %s \n\tDAQ end %s  ", nRun,
                TTimeStamp(startTime).AsString(),
-               TTimeStamp(endTime).AsString()));
+               TTimeStamp(endTime).AsString(),
+               TTimeStamp(daqStartTime).AsString(),
+               TTimeStamp(daqEndTime).AsString()));
        
        fFEEParameters->SetOwnerValue();
        Init();
@@ -104,7 +118,7 @@ void AliVZERODataDCS::ProcessData(TMap& aliasMap){
     aliasArr = (TObjArray*) aliasMap.GetValue(fAliasNames[iAlias].Data());
     if(!aliasArr){
       AliError(Form("Alias %s not found!", fAliasNames[iAlias].Data()));
-      return;
+      continue;
     }
 
     //Introduce(iAlias, aliasArr);
@@ -126,18 +140,28 @@ void AliVZERODataDCS::ProcessData(TMap& aliasMap){
        Float_t variation = 0.0;
 
        while((aValue = (AliDCSValue*) iterarray.Next())) {
+                       UInt_t currentTime = aValue->GetTimeStamp();
+                       if(currentTime>fDaqEndTime) break;
+
                        values[iValue] = aValue->GetFloat();
+                       times[iValue] = (Double_t) (currentTime);
+                       
                        if(iValue>0) {
                                if(values[iValue-1]>0.) variation = TMath::Abs(values[iValue]-values[iValue-1])/values[iValue-1];
-                               if(variation > 0.10) fDeadChannel[GetOfflineChannel(iAlias)] = kTRUE;
+                               if(variation > 0.01) fDeadChannel[GetOfflineChannel(iAlias)] = kTRUE;
                        }
-                       times[iValue] = (Double_t) (aValue->GetTimeStamp());
                        fHv[iAlias]->Fill(values[iValue]);
                        printf("%s %f Dead=%d\n",fAliasNames[iAlias].Data(),values[iValue],fDeadChannel[GetOfflineChannel(iAlias)]);
                        iValue++;
        }      
        CreateGraph(iAlias, aliasArr->GetEntries(), times, values); // fill graphs 
 
+       // calculate mean and rms of the first two histos
+       // and convert index to aliroot channel
+       Int_t iChannel     = GetOfflineChannel(iAlias); 
+       fMeanHV[iChannel]  = fHv[iAlias]->GetMean();
+       fWidthHV[iChannel] = fHv[iAlias]->GetRMS();
+
        delete[] values;
        delete[] times; 
        } else { // Treating FEE Parameters
@@ -147,14 +171,6 @@ void AliVZERODataDCS::ProcessData(TMap& aliasMap){
        }      
   }
   
-       // calculate mean and rms of the first two histos
-       // and convert index to aliroot channel
-       for(int i=0;i<kNHvChannel;i++){
-           Int_t iChannel     = GetOfflineChannel(i);  
-               fMeanHV[iChannel]  = fHv[i]->GetMean();
-               fWidthHV[iChannel] = fHv[i]->GetRMS();
-       }
-    
   fIsProcessed=kTRUE;
 }
 
@@ -174,7 +190,7 @@ void AliVZERODataDCS::Init(){
                        sindex.Form("%d/RING%d",iSector,iRing);
                        fAliasNames[iAlias] += sindex;
                        
-                       fHv[iAlias] = new TH1F(fAliasNames[iAlias].Data(),fAliasNames[iAlias].Data(), 2000, kHvMin, kHvMax);
+                       fHv[iAlias] = new TH1F(fAliasNames[iAlias].Data(),fAliasNames[iAlias].Data(), 3000, kHvMin, kHvMax);
                        fHv[iAlias]->GetXaxis()->SetTitle("Hv");
                        iAlias++;
                }
@@ -188,6 +204,26 @@ void AliVZERODataDCS::Init(){
                fAliasNames[iAlias++] = Form("V00/FEE/CIU%d/WidthResolution",iCIU);
        }
 
+       // HPTDC parameters
+       for(int iCIU = 0; iCIU<8 ; iCIU++){
+         fAliasNames[iAlias++] = Form("V00/FEE/CIU%d/MatchWindow",iCIU);
+         fAliasNames[iAlias++] = Form("V00/FEE/CIU%d/SearchWindow",iCIU);
+         fAliasNames[iAlias++] = Form("V00/FEE/CIU%d/TriggerCountOffset",iCIU);
+         fAliasNames[iAlias++] = Form("V00/FEE/CIU%d/RollOver",iCIU);
+       }
+
+       for(int iCIU = 0; iCIU<8 ; iCIU++){
+         for(int iCh=1;iCh<=8;iCh++){
+           fAliasNames[iAlias++] = Form("V00/FEE/CIU%d/DelayHit%d",iCIU,iCh);
+         }
+       }
+
+       for(int iCIU = 0; iCIU<8 ; iCIU++){
+         for(int iCh=1;iCh<=8;iCh++){
+           fAliasNames[iAlias++] = Form("V00/FEE/CIU%d/DiscriThr%d",iCIU,iCh);
+         }
+       }
+
   if(iAlias!=kNAliases) 
              AliError(Form("Number of DCS Aliases defined not correct"));