]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZERODataDCS.cxx
Adding extra check for GPU_FORCE_64BIT_PTR env var
[u/mrichter/AliRoot.git] / VZERO / AliVZERODataDCS.cxx
index 5217b7daa96e410bc671998d3ad14e41bb34e396..2894bad1175fef18f18d5790ef4d76cda793f916 100644 (file)
@@ -48,6 +48,8 @@ AliVZERODataDCS::AliVZERODataDCS():
        fEndTime(0),
        fDaqStartTime(0),
        fDaqEndTime(0),
+       fCtpStartTime(0),
+       fCtpEndTime(0),
     fGraphs("TGraph",kNGraphs),
        fFEEParameters(NULL),
        fIsProcessed(kFALSE)
@@ -58,17 +60,20 @@ AliVZERODataDCS::AliVZERODataDCS():
                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, UInt_t daqStartTime, UInt_t daqEndTime):
+AliVZERODataDCS::AliVZERODataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime, UInt_t daqStartTime, UInt_t daqEndTime, UInt_t ctpStartTime, UInt_t ctpEndTime):
        TObject(),
        fRun(nRun),
        fStartTime(startTime),
        fEndTime(endTime),
        fDaqStartTime(daqStartTime),
        fDaqEndTime(daqEndTime),
+       fCtpStartTime(ctpStartTime),
+       fCtpEndTime(ctpEndTime),
        fGraphs("TGraph",kNGraphs),
        fFEEParameters(new TMap()),
        fIsProcessed(kFALSE)
@@ -81,11 +86,14 @@ AliVZERODataDCS::AliVZERODataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime, U
         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,
+       AliInfo(Form("\n\tRun %d \n\tTime Created %s \n\tTime Completed %s \n\tDAQ start %s \n\tDAQ end %s \n\tCTP start %s \n\tCTP end %s   ", nRun,
                TTimeStamp(startTime).AsString(),
                TTimeStamp(endTime).AsString(),
                TTimeStamp(daqStartTime).AsString(),
-               TTimeStamp(daqEndTime).AsString()));
+               TTimeStamp(daqEndTime).AsString(),
+               TTimeStamp(ctpStartTime).AsString(),
+               TTimeStamp(ctpEndTime).AsString()
+               ));
        
        fFEEParameters->SetOwnerValue();
        Init();
@@ -102,9 +110,10 @@ AliVZERODataDCS::~AliVZERODataDCS() {
 }
 
 //_____________________________________________________________________________
-void AliVZERODataDCS::ProcessData(TMap& aliasMap){
+Bool_t AliVZERODataDCS::ProcessData(TMap& aliasMap){
 
   // method to process the data
+  Bool_t success = kTRUE;
 
   if(!(fAliasNames[0])) Init();
 
@@ -117,6 +126,7 @@ void AliVZERODataDCS::ProcessData(TMap& aliasMap){
     aliasArr = (TObjArray*) aliasMap.GetValue(fAliasNames[iAlias].Data());
     if(!aliasArr){
       AliError(Form("Alias %s not found!", fAliasNames[iAlias].Data()));
+      success = kFALSE;
       continue;
     }
 
@@ -139,17 +149,18 @@ void AliVZERODataDCS::ProcessData(TMap& aliasMap){
        Float_t variation = 0.0;
 
        while((aValue = (AliDCSValue*) iterarray.Next())) {
-                       values[iValue] = aValue->GetFloat();
                        UInt_t currentTime = aValue->GetTimeStamp();
+                       if(currentTime>fCtpEndTime) 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(currentTime>fDaqEndTime && variation>0.10) continue;
-                               if(variation > 0.10) fDeadChannel[GetOfflineChannel(iAlias)] = kTRUE;
+                               if(variation > 0.01) fDeadChannel[GetOfflineChannel(iAlias)] = kTRUE;
                        }
                        fHv[iAlias]->Fill(values[iValue]);
-                       printf("%s %f Dead=%d\n",fAliasNames[iAlias].Data(),values[iValue],fDeadChannel[GetOfflineChannel(iAlias)]);
+                       printf("%s : %s : %f Dead=%d\n",fAliasNames[iAlias].Data(),TTimeStamp(currentTime).AsString(),values[iValue],fDeadChannel[GetOfflineChannel(iAlias)]);
                        iValue++;
        }      
        CreateGraph(iAlias, aliasArr->GetEntries(), times, values); // fill graphs 
@@ -170,6 +181,8 @@ void AliVZERODataDCS::ProcessData(TMap& aliasMap){
   }
   
   fIsProcessed=kTRUE;
+
+  return success;
 }
 
 //_____________________________________________________________________________
@@ -210,6 +223,18 @@ void AliVZERODataDCS::Init(){
          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"));