Online-Offline channel correspondence
authormbroz <Michal.Broz@cern.ch>
Thu, 12 Feb 2015 09:26:02 +0000 (10:26 +0100)
committermbroz <Michal.Broz@cern.ch>
Thu, 12 Feb 2015 09:26:02 +0000 (10:26 +0100)
AD/ADbase/AliADCalibData.cxx
AD/ADbase/AliADConst.h
AD/ADbase/AliADDataDCS.cxx
AD/ADbase/AliADDataDCS.h
AD/ADbase/AliADRawStream.h
AD/ADrec/AliADQADataMakerRec.cxx
AD/ADrec/AliADReconstructor.cxx
AD/DA/ADPEDESTALda.cxx

index 67ac300..d0aee32 100644 (file)
@@ -243,18 +243,6 @@ AliADCalibData::~AliADCalibData()
 }
 
 //________________________________________________________________
-Int_t AliADCalibData::GetBoardNumber(Int_t channel)
-{
-  // Get FEE board number
-  // from offline channel index
-  if (channel >= 0 && channel < 8) return (0);
-  if (channel >=8 && channel < 16) return (1);
-
-  AliErrorClass(Form("Wrong channel index: %d",channel));
-  return -1;
-}
-
-//________________________________________________________________
 Float_t AliADCalibData::GetLightYields(Int_t channel)
 {
   // Get the light yield efficiency
@@ -1116,7 +1104,7 @@ Int_t AliADCalibData::GetOfflineChannelNumber(Int_t board, Int_t channel)
     return -1;
   }
 
-  Int_t offCh = (board+1)*channel;
+  Int_t offCh = kOfflineChannel[(board+1)*channel];
 
   return offCh;
 }
@@ -1125,7 +1113,19 @@ Int_t AliADCalibData::GetFEEChannelNumber(Int_t channel)
 {
   // Get FEE channel number
   // from offline channel index
-  if (channel >= 0 && channel < 16) return ((channel % 8));
+  if (channel >= 0 && channel < 16) return ((kOfflineChannel[channel] % 8));
+
+  AliErrorClass(Form("Wrong channel index: %d",channel));
+  return -1;
+}
+//________________________________________________________________
+Int_t AliADCalibData::GetBoardNumber(Int_t channel)
+{
+  // Get FEE board number
+  // from offline channel index
+  Int_t OnChannel = kOfflineChannel[channel];
+  if (OnChannel >= 0 && OnChannel < 8) return (0);
+  if (OnChannel >= 8 && OnChannel < 16) return (1);
 
   AliErrorClass(Form("Wrong channel index: %d",channel));
   return -1;
index a05c52f..5c728d5 100644 (file)
@@ -3,6 +3,8 @@
 
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. */
 
+#include "TROOT.h"
+
 const Float_t kIntTimeRes = 0.39; // intrinsic time resolution of the scintillator
 const Float_t kADOffset = -1488.6; // general AD offset between the TDCs and the trigger
 const Int_t   kNClocks = 21; // Number of ADC clocks that are read out
@@ -15,6 +17,8 @@ const Float_t kPMTransparency = 0.25; // Transparency of the first dynode of the
 const Float_t kPMNbOfSecElec = 6.0;   // Number of secondary electrons emitted from first dynode (per ph.e.)
 const Float_t kPhotoCathodeEfficiency = 0.18; // Photocathode efficiency
 const Int_t   kNCIUBoards = 2; //Number of CIU boards
+/*                                 |------------Cside------------|----------Aside-------|   */ 
+const Int_t   kOfflineChannel[16] = {15, 11, 14, 10, 13, 9, 12, 8, 7, 3, 6, 2, 5, 1, 4, 0};
 
 #endif
 
index 89b6132..386d6c8 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "AliDCSValue.h"
 #include "AliLog.h"
+#include "AliADConst.h"
 
 #include <TGraph.h>
 #include <TAxis.h>
@@ -157,17 +158,17 @@ Bool_t AliADDataDCS::ProcessData(TMap& aliasMap){
                        
                        if(iValue>0) {
                                if(values[iValue-1]>0.) variation = TMath::Abs(values[iValue]-values[iValue-1])/values[iValue-1];
-                               if(variation > 0.01) fDeadChannel[GetOfflineChannel(iAlias)] = kTRUE;
+                               if(variation > 0.01) fDeadChannel[kOfflineChannel[iAlias]] = kTRUE;
                        }
                        fHv[iAlias]->Fill(values[iValue]);
-                       printf("%s : %s : %f Dead=%d\n",fAliasNames[iAlias].Data(),TTimeStamp(currentTime).AsString(),values[iValue],fDeadChannel[GetOfflineChannel(iAlias)]);
+                       printf("%s : %s : %f Dead=%d\n",fAliasNames[iAlias].Data(),TTimeStamp(currentTime).AsString(),values[iValue],fDeadChannel[kOfflineChannel[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); 
+       Int_t iChannel     = kOfflineChannel[iAlias];   
        fMeanHV[iChannel]  = fHv[iAlias]->GetMean();
        fWidthHV[iChannel] = fHv[iAlias]->GetRMS();
 
index fe5fa10..1682448 100644 (file)
@@ -50,14 +50,6 @@ public:
   Bool_t * GetDeadMap()   const {return (bool*)fDeadChannel;}
   TMap * GetFEEParameters() const {return fFEEParameters;};
   
-// Getter of Offline Channel number as used in aliroot (defined by aliroot 
-// numbering convention) from DCS Channel number
-
-    Int_t      GetOfflineChannel(Int_t channel)  const
-      { Int_t  fOfflineChannel[16] = {0,  1,  2,  3,  4,  5,  6,  7, 
-                                     8,  9, 10, 11, 12, 13, 14, 15};
-               return fOfflineChannel[channel]; }
-
 private:
   AliADDataDCS(const AliADDataDCS&); // Not implemented
   AliADDataDCS& operator=(const AliADDataDCS&); // Not implemented
index 9a1ecd2..7dec440 100644 (file)
@@ -73,15 +73,6 @@ class AliADRawStream: public TObject {
     UShort_t          GetTriggerInputsMask() const
       { return fTriggerMask; }
 
-// Getter of Offline Channel number as used in aliroot (defined by aliroot 
-// numbering convention) from FEE channel (electronic channel number given 
-// by the V0 electronics readout) - See comment above - 
-
-    Int_t              GetOfflineChannel(Int_t channel)  const
-      { Int_t  fOfflineChannel[16] = {0,1,2,3,4,5,6,7,
-                                     8,9,10,11,12,13,14,15};
-               return fOfflineChannel[channel]; }      
-
     enum EADRawDataParams {
       kNChannels = 16, // number of electronic channels in AD (FEE numbering)
       kNEvOfInt  = 21, // number of events of interest
index 9255cb0..15ca240 100644 (file)
@@ -579,7 +579,7 @@ void AliADQADataMakerRec::MakeRaws(AliRawReader* rawReader)
 
     for(Int_t iChannel=0; iChannel<16; iChannel++) { // BEGIN : Loop over channels
                   
-      offlineCh = rawStream->GetOfflineChannel(iChannel);
+      offlineCh = kOfflineChannel[iChannel];
                   
       // Fill Pedestal histograms
           
@@ -730,7 +730,7 @@ void AliADQADataMakerRec::MakeRaws(AliRawReader* rawReader)
     }// END of Loop over channels
     
     for(Int_t iChannel=0; iChannel<4; iChannel++) {//Loop over pairs ADC
-       offlineCh = rawStream->GetOfflineChannel(iChannel);
+       offlineCh = kOfflineChannel[iChannel];
        Float_t sigma = fCalibData->GetSigma(offlineCh+16*integrator[offlineCh]);
        Float_t sigma4 = fCalibData->GetSigma(offlineCh+4+16*integrator[offlineCh]);            
        if( ((adc[offlineCh] > 2.*sigma) && !(time[offlineCh] <1.e-6)) && ((adc[offlineCh+4] > 2.*sigma4) && !(time[offlineCh+4] <1.e-6)) ){ 
@@ -743,7 +743,7 @@ void AliADQADataMakerRec::MakeRaws(AliRawReader* rawReader)
        iPair++;
        }
     for(Int_t iChannel=8; iChannel<12; iChannel++) {//Loop over pairs ADA
-       offlineCh = rawStream->GetOfflineChannel(iChannel);
+       offlineCh = kOfflineChannel[iChannel];
        Float_t sigma = fCalibData->GetSigma(offlineCh+16*integrator[offlineCh]);
        Float_t sigma4 = fCalibData->GetSigma(offlineCh+4+16*integrator[offlineCh]);
        if( ((adc[offlineCh] > 2.*sigma) && !(time[offlineCh] <1.e-6)) && ((adc[offlineCh+4] > 2.*sigma4) && !(time[offlineCh+4] <1.e-6)) ){ 
index 0ea81c9..a73d843 100644 (file)
@@ -104,7 +104,7 @@ void AliADReconstructor::ConvertDigits(AliRawReader* rawReader, TTree* digitsTre
   if (rawStream.Next()) { 
 
     for(Int_t iChannel=0; iChannel < 16; ++iChannel) {
-      Int_t offlineCh = rawStream.GetOfflineChannel(iChannel);
+      Int_t offlineCh = kOfflineChannel[iChannel];
       // ADC charge samples
       Short_t chargeADC[kNClocks];
       for(Int_t iClock=0; iClock < kNClocks; ++iClock) {
index 7521e9a..c55b72c 100644 (file)
@@ -32,6 +32,7 @@
 #include "daqDA.h"
 
 //AliRoot
+#include <AliADConst.h>
 #include <AliADRawStream.h>
 #include <AliRawReaderDate.h>
 #include <AliRawReader.h>
@@ -48,8 +49,6 @@
 #include <TH1F.h>
 #include <TMath.h>
 
-Int_t GetOfflineChannel(Int_t channel);
-
 /* Main routine --- Arguments: monitoring data source */
       
 int main(int argc, char **argv) {
@@ -290,14 +289,14 @@ int main(int argc, char **argv) {
       fprintf(fpLocal," %.3f %.3f %.3f %.3f\n",pedMean[i],pedSigma[i],adcMean[i],adcSigma[i]);
       
       if (i < 16) {
-          Int_t j = GetOfflineChannel(i);     
+          Int_t j = kOfflineChannel[i];;     
           pedMeanOff[j]  = pedMean[i];
           pedSigmaOff[j] = pedSigma[i];
           adcMeanOff[j]  = adcMean[i];
           adcSigmaOff[j] = adcSigma[i]; 
          }
       else{
-          Int_t j = GetOfflineChannel(i-16);     
+          Int_t j = kOfflineChannel[i-16];     
           pedMeanOff[j+16]  = pedMean[i];
           pedSigmaOff[j+16] = pedSigma[i];
           adcMeanOff[j+16]  = adcMean[i];
@@ -345,12 +344,4 @@ int main(int argc, char **argv) {
       
   return status;
 }
-
- Int_t GetOfflineChannel(Int_t channel) {
-
-// Channel mapping Online - Offline:
- Int_t fOfflineChannel[16] = {0,1,2,3,4,5,6,7,
-                             8,9,10,11,12,13,14,15};
- return        fOfflineChannel[channel];                     
-}                            
+