]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Changes to center ZDC TDC values around 0
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 3 Oct 2011 08:20:08 +0000 (08:20 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 3 Oct 2011 08:20:08 +0000 (08:20 +0000)
12 files changed:
OCDB/ZDC/Calib/TDCCalib/Run0_999999999_v0_s0.root [new file with mode: 0644]
ZDC/AliZDCPreprocessor.cxx
ZDC/AliZDCRawStream.cxx
ZDC/AliZDCReconstructor.cxx
ZDC/AliZDCReconstructor.h
ZDC/AliZDCTDCCalib.cxx [new file with mode: 0644]
ZDC/AliZDCTDCCalib.h [new file with mode: 0644]
ZDC/CMakelibZDCbase.pkg
ZDC/ShuttleInput/ZDCTDCCalib.dat [new file with mode: 0644]
ZDC/ShuttleInput/ZDCTDCHisto.root [new file with mode: 0644]
ZDC/TestZDCPreprocessor.C
ZDC/ZDCbaseLinkDef.h

diff --git a/OCDB/ZDC/Calib/TDCCalib/Run0_999999999_v0_s0.root b/OCDB/ZDC/Calib/TDCCalib/Run0_999999999_v0_s0.root
new file mode 100644 (file)
index 0000000..5dc522f
Binary files /dev/null and b/OCDB/ZDC/Calib/TDCCalib/Run0_999999999_v0_s0.root differ
index e78a962eee4c551121177458dd49a5b3e6ea7c9e..3a9828d88b7d5fe66c85d35ed7ad1c43173a559d 100644 (file)
@@ -20,6 +20,7 @@
 #include "AliZDCEnCalib.h"
 #include "AliZDCTowerCalib.h"
 #include "AliZDCMBCalib.h"
+#include "AliZDCTDCCalib.h"
 
 /////////////////////////////////////////////////////////////////////
 //                                                                //
 // return 17: error storing laser histos in RefData 
 // return 18: error in ZDCMBCalib.root file retrieved from DAQ FXS 
 // return 19: error storing MB calibration obj. in OCDB
+// return 20: error in ZDCTDCCalib.root file retrieved from DAQ FXS
+// return 21: error in storing TDC calibration obj. in OCDB
+// return 22: error in ZDCTDCHisto.root file retrieved from DAQ FXS
+// Return 23: error storing TDC reference histos in RefData
 // ******************************************************************
 
 ClassImp(AliZDCPreprocessor)
@@ -333,6 +338,93 @@ UInt_t AliZDCPreprocessor::ProcessChMap()
   }
   
   delete daqSource; daqSource=0;
+  // Reading the file for mapping from FXS
+  TList* daqSourcetdc = GetFileSources(kDAQ, "TDCDATA");
+  if(!daqSourcetdc){
+    AliError(Form("No sources for file ZDCChMappingTDCCalib.dat in run %d ", fRun));
+    return 20;
+  }
+  if(daqSourcetdc->GetEntries()==0) return 20;
+  Log("\t List of DAQ sources for TDCDATA id: "); daqSourcetdc->Print();
+  //
+  Bool_t resTDCcal = kTRUE;
+  TIter itertdc(daqSourcetdc);
+  TObjString* sourcetdc = 0;
+  Int_t isoutdc = 0;
+  //
+  while((sourcetdc = dynamic_cast<TObjString*> (itertdc.Next()))){
+     TString fileNametdc = GetFile(kDAQ, "TDCDATA", sourcetdc->GetName());
+     Log(Form("\t Getting file #%d: ZDCTDCdata.dat from %s\n",++isoutdc, sourcetdc->GetName()));
+
+     if(fileNametdc.Length() <= 0){
+       Log(Form("No file from source %s!", sourcetdc->GetName()));
+       return 20;
+     }
+     // --- Initializing TDC calibration object
+     AliZDCTDCCalib *tdcCalib = new AliZDCTDCCalib("ZDC");
+     // --- Reading file with calibration data
+     //const char* fname = fileName.Data();
+     if(fileNametdc){
+       FILE *filetdc;
+       if((filetdc = fopen(fileNametdc,"r")) == NULL){
+        printf("Cannot open file %s \n",fileNametdc.Data());
+         return 20;
+       }
+       Log(Form("File %s connected to process TDC data", fileNametdc.Data()));
+       //
+       Float_t tdcMean[6][2];
+       for(Int_t it=0; it<6; it++){
+         for(Int_t iu=0; iu<2; iu++) tdcMean[it][iu]=0.;
+       }
+       for(Int_t k=0; k<6; k++){
+        for(Int_t j=0; j<2; j++){
+           int leggi = fscanf(filetdc,"%f",&tdcMean[k][j]);
+          if(leggi==0) AliDebug(3," Failing reading data from tdc file");
+          tdcCalib->SetMeanTDC(k, tdcMean[k][0]);
+          tdcCalib->SetWidthTDC(k, tdcMean[k][1]);
+       }
+       }
+       fclose(filetdc);
+     }
+     else{
+       Log(Form("File %s not found", fileNametdc.Data()));
+       return 20;
+     }
+     //
+     AliCDBMetaData metaData;
+     metaData.SetBeamPeriod(0);
+     metaData.SetResponsible("Chiara Oppedisano");
+     metaData.SetComment("Filling AliZDCTDCCalib object");  
+     //
+     resTDCcal = Store("Calib","TDCCalib",tdcCalib, &metaData, 0, kTRUE);
+     if(resTDCcal==kFALSE) return 21;
+  }
+  delete daqSourcetdc; daqSourcetdc = 0;
+
+  Bool_t restdcHist = kTRUE;
+  TList* daqSourceH = GetFileSources(kDAQ, "TDCHISTOS");
+  if(!daqSourceH){
+    Log(Form("No source for TDCHISTOS id run %d !", fRun));
+    return 22;
+  }
+  Log("\t List of DAQ sources for TDCHISTOS id: "); daqSourceH->Print();
+  //
+  TIter iterH(daqSourceH);
+  TObjString* sourceH = 0;
+  Int_t iH=0;
+  while((sourceH = dynamic_cast<TObjString*> (iterH.Next()))){
+     TString stringTDCFileName = GetFile(kDAQ, "TDCHISTOS", sourceH->GetName());
+     if(stringTDCFileName.Length() <= 0){
+       Log(Form("No TDCHISTOS file from source %s!", sourceH->GetName()));
+        return 22;
+     }
+     const char* tdcFileName = stringTDCFileName.Data();
+     Log(Form("\t Getting file #%d: %s from %s\n",++iH, tdcFileName, sourceH->GetName()));
+     restdcHist = StoreReferenceFile(tdcFileName, "tdcReference.root");
+     if(restdcHist==kFALSE) return 23;
+  }
+  delete daqSourceH; daqSourceH=0;
+  
   
   if(resChMapStore==kFALSE) return 5;
   else return 0;
index 87243c2348f7edaf0aeea3da927cd68aa19ed164..520b9e04857ab63fc5019f661de0f7b8d3515e14 100644 (file)
@@ -436,11 +436,11 @@ Bool_t AliZDCRawStream::Next()
       if((fBuffer&0xff000001) == 0xff000001){ // ************** Mapping
         // DARC 1st datum @ fDataOffset+1 \ ZRC 1st valid datum @ fDataOffset=0
         if((fPosition==fDataOffset+1) || (fPosition==fDataOffset)){ 
-          printf("\n\n ------ AliZDCRawStream -> Reading mapping from StartOfData event ------\n");
+          //printf("\n\n ------ AliZDCRawStream -> Reading mapping from StartOfData event ------\n");
           fCurrentCh=0; fCurrScCh=0; fCurrTDCCh=0;     
         }
        else{
-         printf(" ------ AliZDCRawStream -> End of ZDC StartOfData event ------\n\n");
+         //printf(" ------ AliZDCRawStream -> End of ZDC StartOfData event ------\n\n");
           fSODReading = kFALSE;
          return kFALSE;
        }
@@ -825,9 +825,10 @@ Bool_t AliZDCRawStream::Next()
         //printf("  AliZDCRawStream -> VME SCALER HEADER: geo %d Nwords %d TrigSource %d TrigNo. %d\n",
         //   fScGeo,fScNWords,fScTriggerSource,fScTriggerNumber);
       } 
-      else if(!(fBuffer & 0x04000000)){
-        fIsScEventGood = kFALSE;
-      }
+      // Commented by C.O. & M.G. (23/09/2011)
+      //else if(!(fBuffer & 0x04000000) && fIsScHeaderRead==kFALSE){
+      //  fIsScEventGood = kFALSE;
+      //}
     }
     // *********************************** PATTERN UNIT ***********************************
     else if(fADCModule == kPUGeo){
@@ -861,12 +862,14 @@ Bool_t AliZDCRawStream::Next()
     // ********************************** VME SCALER DATA **********************************
     //  Reading VME scaler data 
     if(fIsScHeaderRead && fPosition>=fScStartCounter+1){ // *** Scaler word
-      fADCModule=kScalerGeo; fIsADCDataWord=kFALSE; fIsScalerWord=kTRUE;
+      fADCModule=kScalerGeo; 
+      fIsADCDataWord=kFALSE; 
+      fIsScalerWord=kTRUE;
       fScEvCounter = fBuffer;
       Int_t nWords = (Int_t) (fScNWords);
       if(fPosition == fScStartCounter+nWords) fIsScHeaderRead = kFALSE;
       //Ch. debug
-      //printf("  AliZDCRawStream -> scaler datum %d", fScEvCounter);
+      //printf("  AliZDCRawStream -> scaler datum %x \n", fScEvCounter);
     }
     // ********************************** ZDC TDC DATA **********************************
     //  ZDC TDC data
@@ -965,7 +968,7 @@ Bool_t AliZDCRawStream::Next()
           }
         }       
         // Ch. debug
-        //printf("  AliZDCRawStream -> Trigger history word %d\n", fPosition-fTrigHistStart);
+        //printf("  AliZDCRawStream -> Trigger history word[%d] %x\n", fPosition, fBuffer);
     }
     
   }
index 9a5120de5eb0757cedda25034ef854ef6d586699..a62c925417dfb4e1aa7d45ea528138f8170ae4b7 100644 (file)
@@ -43,6 +43,7 @@
 #include "AliZDCEnCalib.h"
 #include "AliZDCTowerCalib.h"
 #include "AliZDCMBCalib.h"
+#include "AliZDCTDCCalib.h"
 #include "AliZDCRecoParam.h"
 #include "AliZDCRecoParampp.h"
 #include "AliZDCRecoParamPbPb.h"
@@ -59,6 +60,7 @@ AliZDCReconstructor:: AliZDCReconstructor() :
   fPedData(GetPedestalData()),
   fEnCalibData(GetEnergyCalibData()),
   fTowCalibData(GetTowerCalibData()),
+  fTDCCalibData(GetTDCCalibData()),
   fRecoMode(0),
   fBeamEnergy(0.),
   fNRun(0),
@@ -557,7 +559,7 @@ void AliZDCReconstructor::Reconstruct(AliRawReader* rawReader, TTree* clustersTr
    }// ADC DATA
    // ***************************** Reading Scaler
    else if(rawData.GetADCModule()==kScalerGeo){
-     if(rawData.IsScalerWord()==kTRUE && rawData.IsScEventGood()==kTRUE){
+     if(rawData.IsScalerWord()==kTRUE){
        isScalerOn = kTRUE;
        scalerData[jsc] = rawData.GetTriggerCount();
        // Ch. debug
@@ -574,7 +576,7 @@ void AliZDCReconstructor::Reconstruct(AliRawReader* rawReader, TTree* clustersTr
        iprevtdc=itdc;
        tdcData[itdc][ihittdc] = rawData.GetZDCTDCDatum();
        // Ch. debug
-       //printf("   Reconstructed TDC[%d, %d] %d  ",itdc, ihittdc, tdcData[itdc][ihittdc]);
+       //if(ihittdc==0) printf("   TDC%d %d  ",itdc, tdcData[itdc][ihittdc]);
    }// ZDC TDC DATA
    // ***************************** Reading PU
    else if(rawData.GetADCModule()==kPUGeo){
@@ -1293,6 +1295,13 @@ void AliZDCReconstructor::FillZDCintoESD(TTree *clustersTree, AliESDEvent* esd)
 {
   // fill energies and number of participants to the ESD
 
+  // Retrieving TDC calibration data  
+  // Parameters for TDC centering around zero
+  int const knTDC = 6;
+  Float_t tdcOffset[knTDC];
+  for(Int_t jj=0; jj<knTDC; jj++) tdcOffset[jj] = fTDCCalibData->GetMeanTDC(jj);
+  //fTDCCalibData->Print("");
+
   AliZDCReco reco;
   AliZDCReco* preco = &reco;
   clustersTree->SetBranchAddress("ZDC", &preco);
@@ -1343,21 +1352,32 @@ void AliZDCReconstructor::FillZDCintoESD(TTree *clustersTree, AliESDEvent* esd)
     fESDZDC->SetZDCScaler(counts);
   }    
   
-  // Writing TDC data into ZDC ESDs
   Int_t tdcValues[32][4]; 
   Float_t tdcCorrected[32][4];
   for(Int_t jk=0; jk<32; jk++){
     for(Int_t lk=0; lk<4; lk++){
       tdcValues[jk][lk] = reco.GetZDCTDCData(jk, lk);
+      //Ch debug
+      //if((jk>=8 && jk<=13 && lk==0) || jk==15) printf(" *** ZDC: tdc%d =  %d = %f ns \n",jk,tdcValues[jk][lk],0.025*tdcValues[jk][lk]);
     }
   }
+  
+  // Writing TDC data into ZDC ESDs
   // 4/2/2011 -> Subtracting L0 (tdcValues[15]) instead of ADC gate 
   // we try to keep the TDC oscillations as low as possible!
   for(Int_t jk=0; jk<32; jk++){
     for(Int_t lk=0; lk<4; lk++){
-      if(tdcValues[jk][lk]!=0.) tdcCorrected[jk][lk] = 0.025*(tdcValues[jk][lk]-tdcValues[15][0])+fMeanPhase;
+      if(TMath::Abs(tdcValues[jk][lk])>1e-10){
+        tdcCorrected[jk][lk] = 0.025*(tdcValues[jk][lk]-tdcValues[15][0])+fMeanPhase;
+        // Sep 2011: TDC ch. from 8 to 13 centered around 0 using OCDB 
+       if(jk>=8 && jk<=13) tdcCorrected[jk][lk] =  tdcCorrected[jk][lk] - tdcOffset[jk-8];
+       //Ch. debug
+       //if((jk>=8 && jk<=13) || jk==15) printf(" *** tdcOffset%d %f  tdcCorr%d %f ",jk,tdcOffset[jk-8],tdcCorrected[jk][lk]);
+   
+      }
     }
   }
+
   fESDZDC->SetZDCTDCData(tdcValues);
   fESDZDC->SetZDCTDCCorrected(tdcCorrected);
   fESDZDC->AliESDZDC::SetBit(AliESDZDC::kCorrectedTDCFilled, reco.GetEnergyFlag());
@@ -1455,3 +1475,19 @@ AliZDCMBCalib* AliZDCReconstructor::GetMBCalibData() const
 
   return calibdata;
 }
+
+//_____________________________________________________________________________
+AliZDCTDCCalib* AliZDCReconstructor::GetTDCCalibData() const
+{
+
+  // Getting TDC object for ZDC 
+
+  AliCDBEntry  *entry = AliCDBManager::Instance()->Get("ZDC/Calib/TDCCalib");
+  if(!entry) AliFatal("No calibration data loaded!");  
+  entry->SetOwner(kFALSE);
+
+  AliZDCTDCCalib *calibdata = dynamic_cast<AliZDCTDCCalib*> (entry->GetObject());
+  if(!calibdata)  AliFatal("Wrong calibration object in calibration  file!");
+
+  return calibdata;
+}
index d892d5d5f51866a1acab5cb79e39c9b2fce262e0..1957f26ede7c46ca817e0f19e705c044681cc697 100644 (file)
@@ -21,6 +21,7 @@ class AliZDCPedestals;
 class AliZDCEnCalib;
 class AliZDCTowerCalib;
 class AliZDCMBCalib;
+class AliZDCTDCCalib;
 class AliZDCRecoParampp;
 class AliZDCRecoParamPbPb;
 class AliLog;
@@ -71,6 +72,7 @@ public:
   AliZDCEnCalib       *GetEnergyCalibData() const; 
   AliZDCTowerCalib    *GetTowerCalibData() const; 
   AliZDCMBCalib       *GetMBCalibData() const; 
+  AliZDCTDCCalib      *GetTDCCalibData() const; 
   
 private:
   AliZDCReconstructor(const AliZDCReconstructor&); //Not implemented
@@ -97,6 +99,7 @@ private:
   AliZDCPedestals  *fPedData;            //! pedestal calibration data
   AliZDCEnCalib    *fEnCalibData;        //! energy calibration data
   AliZDCTowerCalib *fTowCalibData;       //! equalization calibration data
+  AliZDCTDCCalib   *fTDCCalibData;       //! TDC offset data
   
   Int_t    fRecoMode;      // =1->p-p, =2->A-A
   Float_t  fBeamEnergy;            // beam energy
@@ -108,7 +111,7 @@ private:
   
   AliESDZDC* fESDZDC;       // ESD output object  
 
-  ClassDef(AliZDCReconstructor, 12)   // class for the ZDC reconstruction
+  ClassDef(AliZDCReconstructor, 13)   // class for the ZDC reconstruction
 };
 
 #endif
diff --git a/ZDC/AliZDCTDCCalib.cxx b/ZDC/AliZDCTDCCalib.cxx
new file mode 100644 (file)
index 0000000..98521bc
--- /dev/null
@@ -0,0 +1,117 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/* $Id: AliZDCTDCCalib.cxx 46092 2010-12-16 13:18:21Z coppedis $ */
+
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+// class for ZDC calibration  -> values for TDC offset calibration           //
+//                                                                           //
+///////////////////////////////////////////////////////////////////////////////
+
+#include "AliZDCTDCCalib.h"
+
+ClassImp(AliZDCTDCCalib)
+
+//________________________________________________________________
+AliZDCTDCCalib::AliZDCTDCCalib():
+TNamed()
+{
+  Reset();
+}
+
+//________________________________________________________________
+AliZDCTDCCalib::AliZDCTDCCalib(const char* name):
+TNamed()
+{
+  // Constructor
+  TString namst = "Calib_";
+  namst += name;
+  SetName(namst.Data());
+  SetTitle(namst.Data());
+  Reset();
+  for(Int_t i=0; i<6; i++){
+    fMeanTDC[i] = 0.;
+    fWidthTDC[i] = 0.;
+  }
+  
+  
+}
+
+//________________________________________________________________
+AliZDCTDCCalib::AliZDCTDCCalib(const AliZDCTDCCalib& calibda) :
+  TNamed(calibda)
+{
+  // Copy constructor
+  SetName(calibda.GetName());
+  SetTitle(calibda.GetName());
+  Reset();
+  for(int t=0; t<6; t++){
+     fMeanTDC[t] = calibda.GetMeanTDC(t);
+     fWidthTDC[t] = calibda.GetWidthTDC(t);
+  }
+}
+
+//________________________________________________________________
+AliZDCTDCCalib &AliZDCTDCCalib::operator =(const AliZDCTDCCalib& calibda)
+{
+// assignment operator
+  SetName(calibda.GetName());
+  SetTitle(calibda.GetName());
+  Reset();
+  for(int t=0; t<6; t++){
+     fMeanTDC[t] = calibda.GetMeanTDC(t);
+     fWidthTDC[t] = calibda.GetWidthTDC(t);
+  }
+
+  return *this;
+}
+
+//________________________________________________________________
+AliZDCTDCCalib::~AliZDCTDCCalib()
+{
+}
+
+//________________________________________________________________
+void AliZDCTDCCalib::Reset()
+{
+  // Reset
+  memset(fMeanTDC,0,6*sizeof(Float_t));
+  memset(fWidthTDC,0,6*sizeof(Float_t));
+}                                                                                       
+
+
+//________________________________________________________________
+void  AliZDCTDCCalib::Print(Option_t *) const
+{
+   // Printing of calibration object
+   printf("\n ####### TDC calibration values ####### \n");
+   for(int t=0; t<6; t++) 
+      printf("\t ch.%d (%f, %f)\n",t,fMeanTDC[t],fWidthTDC[t]);
+} 
+
+//________________________________________________________________
+void AliZDCTDCCalib::SetMeanTDC(Float_t* mean)
+{
+  if(mean) for(int t=0; t<6; t++) fMeanTDC[t] = mean[t];
+  else for(int t=0; t<6; t++) fMeanTDC[t] = 0.;
+}
+//________________________________________________________________
+void AliZDCTDCCalib::SetWidthTDC(Float_t* width)
+{
+  if(width) for(int t=0; t<6; t++) fWidthTDC[t] = width[t];
+  else for(int t=0; t<6; t++) fWidthTDC[t] = 0.;
+}
diff --git a/ZDC/AliZDCTDCCalib.h b/ZDC/AliZDCTDCCalib.h
new file mode 100644 (file)
index 0000000..adeb80e
--- /dev/null
@@ -0,0 +1,47 @@
+#ifndef ALIZDCTDCCALIB_H
+#define ALIZDCTDCCALIB_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+////////////////////////////////////////////////////
+//  class for ZDC calibration -> TDC mean values  //
+////////////////////////////////////////////////////
+
+#include "TNamed.h"
+#include "AliCDBEntry.h"
+
+class AliZDC;
+
+class AliZDCTDCCalib: public TNamed {
+
+ public:
+  AliZDCTDCCalib();
+  AliZDCTDCCalib(const char* name);
+  AliZDCTDCCalib(const AliZDCTDCCalib &calibda);
+  AliZDCTDCCalib& operator= (const AliZDCTDCCalib &calibda);
+  virtual ~AliZDCTDCCalib();
+  void Reset();
+  virtual void  Print(Option_t *) const; 
+
+  Float_t GetMeanTDC(Int_t ch) const 
+       {if(ch<6) return fMeanTDC[ch];
+        else printf(" ERROR! ZDC TDC calib data only for ch<6\n\n");}
+  Float_t GetWidthTDC(Int_t ch) const 
+       {if(ch<6) return fWidthTDC[ch];
+        else printf(" ERROR! ZDC TDC calib data only for ch<6\n\n");}
+        
+  void SetMeanTDC(Int_t ch, Float_t val) {fMeanTDC[ch]=val;}
+  void SetWidthTDC(Int_t ch, Float_t val) {fWidthTDC[ch]=val;}
+  void SetMeanTDC(Float_t* mean);
+  void SetWidthTDC(Float_t* width);
+  
+ protected:
+  // --- Pedestals
+  Float_t  fMeanTDC[6];                // Mean TDC values 
+  Float_t  fWidthTDC[6];       // TDC widths 
+  //
+  ClassDef(AliZDCTDCCalib,1)    // ZDC TDC calibration data
+};
+
+#endif
index 8d309cfc9f1ed4f9d95a12f89fe9612c6bed549a..430ad478932737d2b671d2729e07b9376385294e 100644 (file)
@@ -37,6 +37,7 @@ set ( SRCS
     AliZDCTowerCalib.cxx 
     AliZDCMBCalib.cxx 
     AliZDCChMap.cxx 
+    AliZDCTDCCalib.cxx 
     AliZDCMisAligner.cxx 
     AliZDCDataDCS.cxx 
     AliZDCPreprocessor.cxx 
diff --git a/ZDC/ShuttleInput/ZDCTDCCalib.dat b/ZDC/ShuttleInput/ZDCTDCCalib.dat
new file mode 100644 (file)
index 0000000..9b0469e
--- /dev/null
@@ -0,0 +1,6 @@
+       -68.922867      0.199467
+       -68.248161      0.827527
+       -33.459202      0.639460
+       -31.035864      0.238498
+       -31.331154      0.595405
+       -35.603035      0.690892
diff --git a/ZDC/ShuttleInput/ZDCTDCHisto.root b/ZDC/ShuttleInput/ZDCTDCHisto.root
new file mode 100644 (file)
index 0000000..eae8779
Binary files /dev/null and b/ZDC/ShuttleInput/ZDCTDCHisto.root differ
index 7c3b554225a2cb0ec1f02b5ae93d7215bd286050..aa42892e4c93754ae57db88d7428603d22b27c35 100644 (file)
@@ -76,8 +76,10 @@ void TestZDCPreprocessor(const char* runType="PHYSICS")
   shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "MBCALIB", "LDC", "ZDCMBCalib.root");
   //
   shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "MAPPING", "MON", "ZDCChMapping.dat");
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "TDCDATA", "MON", "ZDCTDCCalib.dat");
+  shuttle->AddInputFile(AliTestShuttle::kDAQ, "ZDC", "TDCHISTOS", "MON", "ZDCTDCHisto.root");
 
-  // TODO(3)
+  // Todo(3)
   //
   // The shuttle can read run type stored in the DAQ logbook.
   // To test it, we must provide the run type manually. They will be retrieved in the preprocessor
@@ -145,6 +147,8 @@ void TestZDCPreprocessor(const char* runType="PHYSICS")
                        ->Get("ZDC/Calib/LaserCalib", 0);
   else if((str.CompareTo("CALIBRATION_EMD")) == 0) chkEntry1 = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())
                        ->Get("ZDC/Calib/EnergyCalib", 0);
+  else if((str.CompareTo("PHYSICS")) == 0) chkEntry1 = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())
+                       ->Get("ZDC/Calib/TDCCalib", 0);
   
   
   if(!chkEntry0){
@@ -155,6 +159,7 @@ void TestZDCPreprocessor(const char* runType="PHYSICS")
     if((str.CompareTo("STANDALONE_PEDESTAL")) == 0)  printf("No file in ZDC/Calib/Pedestal\n");
     else if((str.CompareTo("STANDALONE_LASER")) == 0) printf("No file in ZDC/Calib/LaserCalib\n");
     else if((str.CompareTo("CALIBRATION_EMD")) == 0)  printf("No file in ZDC/Calib/EnergyCalib\n");
+    else if((str.CompareTo("PHYSICS")) == 0)  printf("No file in ZDC/Calib/TDCCalib\n");
     return;
   }
   
index 5266a7ca5ee1c51802651b51b0f3052f57b4e021..efbc5523459743aceb87b721298199681540c146 100644 (file)
@@ -18,6 +18,7 @@
 #pragma link C++ class  AliZDCMBCalib+;
 #pragma link C++ class  AliZDCMisAligner+;
 #pragma link C++ class  AliZDCChMap+;
+#pragma link C++ class  AliZDCTDCCalib+;
 #pragma link C++ class  AliZDCDataDCS+;
 #pragma link C++ class  AliZDCPreprocessor+;
 #pragma link C++ class  AliZDCQAChecker+;