ROOT logo
/**************************************************************************
 * Copyright(c) 2007, 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.                  *
 **************************************************************************/


#include "AliTPCPreprocessor.h"
#include "AliShuttleInterface.h"

#include "AliCDBMetaData.h"
#include "AliDCSValue.h"
#include "AliLog.h"
#include "AliTPCSensorTempArray.h"
#include "AliTPCROC.h"
#include "AliTPCCalROC.h"
#include "AliTPCCalPad.h"
#include "AliTPCCalibPedestal.h"
#include "AliTPCCalibPulser.h"
#include "AliTPCCalibCE.h"
#include "AliTPCCalibRaw.h"
#include "AliTPCdataQA.h"
#include "ARVersion.h"
#include "TFile.h"
#include "TTree.h"
#include "TGraph.h" 
#include "TEnv.h"
#include "TParameter.h"

#include <TTimeStamp.h>

const Int_t kValCutTemp = 100;               // discard temperatures > 100 degrees
const Int_t kDiffCutTemp = 5;	             // discard temperature differences > 5 degrees
const Double_t kHighVoltageDifference = 1e-4; // don't record High Voltage points 
                                             // differing by less than 1e-4 from
					     // previous point.
const Double_t kGasCompositionDifference = 1e-3; // don't record Gas Composition points 
                                             // differing by less than 1e-3 from
					     // previous point
const TString kPedestalRunType = "PEDESTAL";  // pedestal run identifier
const TString kPulserRunType = "PULSER";     // pulser run identifier
const TString kPhysicsRunType = "PHYSICS";   // physics run identifier
const TString kCosmicRunType = "COSMIC";     // cosmic run identifier
const TString kLaserRunType = "LASER";       // laser run identifier
const TString kDaqRunType = "DAQ"; // DAQ run identifier
const TString kAmandaTemp = "TPC_PT_%d_TEMPERATURE"; // Amanda string for temperature entries
const TString kAmandaDDL = "DDL%d";   // Amanda string for list of active DDLs
const Int_t  kNumDDL = 216;           // number of TPC DDLs
const Int_t  kFirstDDL = 768;         // identifier of first DDL
//const Double_t kFitFraction = 0.7;                 // Fraction of DCS sensor fits required              
const Double_t kFitFraction = -1.0;          // Don't require minimum number of fits in commissioning run 
const Int_t   kNumPressureSensors = 3;    // number of pressure sensors
const char* kPressureSensorNames[kNumPressureSensors] = {
                   "CavernAtmosPressure",
                   "CavernAtmosPressure2",
                   "SurfaceAtmosPressure" };
const Int_t  kMinCESectors = 32;      // minimum number of sectors (per side)
                                      // to accept CE calibration
      

//
// This class is the SHUTTLE preprocessor for the TPC detector.
//

ClassImp(AliTPCPreprocessor)

//______________________________________________________________________________________________
AliTPCPreprocessor::AliTPCPreprocessor(AliShuttleInterface* shuttle) :
  AliPreprocessor("TPC",shuttle),
  fConfEnv(0), fTemp(0), fHighVoltage(0), fHighVoltageStat(0), fGoofie(0),
  fPressure(0), fGasComposition(0), fConfigOK(kTRUE), fROC(0)
{
  // constructor
  fROC = AliTPCROC::Instance();

  // define run types to be processed
  
  AddRunType(kPedestalRunType);
  AddRunType(kPulserRunType);
  AddRunType(kPhysicsRunType);
  AddRunType(kCosmicRunType);
  AddRunType(kLaserRunType);
  AddRunType(kDaqRunType);
  
}
//______________________________________________________________________________________________
 AliTPCPreprocessor::AliTPCPreprocessor(const AliTPCPreprocessor&  ) :
   AliPreprocessor("TPC",0),
   fConfEnv(0), fTemp(0), fHighVoltage(0), fHighVoltageStat(0), fGoofie(0),
   fPressure(0), fGasComposition(0), fConfigOK(kTRUE), fROC(0)
 {

   Fatal("AliTPCPreprocessor", "copy constructor not implemented");
//
// //  fTemp = new AliTPCSensorTempArray(*(org.fTemp));
 }

//______________________________________________________________________________________________
AliTPCPreprocessor::~AliTPCPreprocessor()
{
  // destructor

  delete fTemp;
  delete fHighVoltage;
  delete fHighVoltageStat;
  delete fGoofie;
  delete fGasComposition;
  delete fPressure;
}
//______________________________________________________________________________________________
AliTPCPreprocessor& AliTPCPreprocessor::operator = (const AliTPCPreprocessor& )
{
  Fatal("operator =", "assignment operator not implemented");
  return *this;
}


//______________________________________________________________________________________________
void AliTPCPreprocessor::Initialize(Int_t run, UInt_t startTime,
	UInt_t endTime)
{

  AliPreprocessor::Initialize(run, startTime, endTime);

	AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", run,
		TTimeStamp((time_t)startTime,0).AsString(),
		TTimeStamp((time_t)endTime,0).AsString()));

  // Preprocessor configuration

	AliCDBEntry* entry = GetFromOCDB("Config", "Preprocessor");
        if (entry) fConfEnv = (TEnv*) entry->GetObject();
        if ( fConfEnv==0 ) {
           Log("AliTPCPreprocsessor: Preprocessor Config OCDB entry missing.\n");
	   fConfigOK = kFALSE;
           return;
        }

  // Temperature sensors

       TTree *confTree = 0;

       TString tempConf = fConfEnv->GetValue("Temperature","ON");
       tempConf.ToUpper();
       if (tempConf != "OFF" ) {
	entry = GetFromOCDB("Config", "Temperature");
        if (entry) confTree = (TTree*) entry->GetObject();
        if ( confTree==0 ) {
           Log("AliTPCPreprocsessor: Temperature Config OCDB entry missing.\n");
	   fConfigOK = kFALSE;
	   return;
        }
        fTemp = new AliTPCSensorTempArray(startTime, endTime, confTree, kAmandaTemp);
	fTemp->SetValCut(kValCutTemp);
	fTemp->SetDiffCut(kDiffCutTemp);
       }

  // High voltage measurements

      TString hvConf = fConfEnv->GetValue("HighVoltage","ON");
      hvConf.ToUpper();
      if (hvConf != "OFF" ) { 
        confTree=0;
        entry=0;
        entry = GetFromOCDB("Config", "HighVoltage");
        if (entry) confTree = (TTree*) entry->GetObject();
        if ( confTree==0 ) {
           Log("AliTPCPreprocsessor: High Voltage Config OCDB entry missing.\n");
           fConfigOK = kFALSE;
           return;
        }
        time_t timeStart = (time_t)(((TString)GetRunParameter("DAQ_time_start")).Atoi());
	time_t timeEnd = (time_t)(((TString)GetRunParameter("DAQ_time_end")).Atoi());
        fHighVoltage = new AliDCSSensorArray (UInt_t(timeStart), 
	                                    UInt_t(timeEnd), confTree);
      }

   // High voltage status values
     
      TString hvStatConf = fConfEnv->GetValue("HighVoltageStat","ON");
      hvStatConf.ToUpper();
      if (hvStatConf != "OFF" ) { 
        confTree=0;
        entry=0;
        entry = GetFromOCDB("Config", "HighVoltageStat");
        if (entry) confTree = (TTree*) entry->GetObject();
        if ( confTree==0 ) {
           Log("AliTPCPreprocsessor: High Voltage Status Config OCDB entry missing.\n");
           fConfigOK = kFALSE;
           return;
        }
        fHighVoltageStat = new AliDCSSensorArray(startTime, endTime, confTree);
      }

   // Goofie values
     
      TString goofieConf = fConfEnv->GetValue("Goofie","ON");
      goofieConf.ToUpper();
      if (goofieConf != "OFF" ) { 
        confTree=0;
        entry=0;
        entry = GetFromOCDB("Config", "Goofie");
        if (entry) confTree = (TTree*) entry->GetObject();
        if ( confTree==0 ) {
           Log("AliTPCPreprocsessor: Goofie Config OCDB entry missing.\n");
           fConfigOK = kFALSE;
           return;
        }
        fGoofie = new AliDCSSensorArray(startTime, endTime, confTree);
      }


  // Gas composition measurements

      TString gasConf = fConfEnv->GetValue("GasComposition","OFF");
      gasConf.ToUpper();
      if (gasConf != "OFF" ) { 
        confTree=0;
        entry=0;
        entry = GetFromOCDB("Config", "GasComposition");
        if (entry) confTree = (TTree*) entry->GetObject();
        if ( confTree==0 ) {
           Log("AliTPCPreprocsessor: Gas Composition Config OCDB entry missing.\n");
           fConfigOK = kFALSE;
           return;
        }
        time_t timeStart = (time_t)(((TString)GetRunParameter("DAQ_time_start")).Atoi());
	time_t timeEnd = (time_t)(((TString)GetRunParameter("DAQ_time_end")).Atoi());
        fGasComposition = new AliDCSSensorArray (UInt_t(timeStart), 
	                                    UInt_t(timeEnd), confTree);
      }
   // Pressure values
     
       TString runType = GetRunType();

       if( runType == kPhysicsRunType || 
        runType == kLaserRunType ) {    
       TString pressureConf = fConfEnv->GetValue("Pressure","ON");
       pressureConf.ToUpper();
       if (pressureConf != "OFF" ) { 
         TClonesArray * array = new TClonesArray("AliDCSSensor",kNumPressureSensors); 
         for(Int_t j = 0; j < kNumPressureSensors; j++) {
           AliDCSSensor * sens = new ((*array)[j])AliDCSSensor;
           sens->SetStringID(kPressureSensorNames[j]);
         }
         fPressure = new AliDCSSensorArray(startTime, endTime, array);
       }
     }
}

//______________________________________________________________________________________________
UInt_t AliTPCPreprocessor::Process(TMap* dcsAliasMap)
{
  // Fills data into TPC calibrations objects

  // Amanda servers provide information directly through dcsAliasMap

  
  if (!fConfigOK) return 9;
  UInt_t result = 0;
  TObjArray *resultArray = new TObjArray();
  TString errorHandling = fConfEnv->GetValue("ErrorHandling","ON");
  errorHandling.ToUpper();
  TObject * status;

  UInt_t dcsResult=0;
  if (!dcsAliasMap) { 
     dcsResult=1;
  } else {
     if (dcsAliasMap->GetEntries() == 0 ) dcsResult=1;
  }  
  status = new TParameter<int>("dcsResult",dcsResult);
  resultArray->Add(status);


  TString runType = GetRunType();

  if ( dcsResult == 0 ) {

  // Temperature sensors are processed by AliTPCCalTemp

    TString tempConf = fConfEnv->GetValue("Temperature","ON");
    tempConf.ToUpper();
    if (tempConf != "OFF" ) {
      UInt_t tempResult = MapTemperature(dcsAliasMap);
      if ( tempConf != "TRY") result+=tempResult;
      status = new TParameter<int>("tempResult",tempResult);
      resultArray->Add(status);
    }

  // High Voltage recordings


    TString hvConf = fConfEnv->GetValue("HighVoltage","ON");
    hvConf.ToUpper();
    if (hvConf != "OFF" ) { 
     UInt_t hvResult = MapHighVoltage(dcsAliasMap);
     if (hvConf != "TRY") result+=hvResult;
     status = new TParameter<int>("hvResult",hvResult);
     resultArray->Add(status);
    }

    // Goofie values


    TString goofieConf = fConfEnv->GetValue("Goofie","ON");
    goofieConf.ToUpper();
    if (goofieConf != "OFF" ) { 
     UInt_t goofieResult = MapGoofie(dcsAliasMap);
     if (goofieConf != "TRY") result+=goofieResult;
     status = new TParameter<int>("goofieResult",goofieResult);
     resultArray->Add(status);
    }


    // Gas composition recordings


    TString gasConf = fConfEnv->GetValue("GasComposition","OFF");
    gasConf.ToUpper();
    if (gasConf != "OFF" ) { 
     UInt_t gasResult = MapGasComposition(dcsAliasMap);
     if (gasConf != "TRY") result+=gasResult;
     status = new TParameter<int>("gasResult",gasResult);
     resultArray->Add(status);
    }

    // Pressure values

    if( runType == kPhysicsRunType || 
      runType == kLaserRunType ) {    

      TString pressureConf = fConfEnv->GetValue("Pressure","ON");
      pressureConf.ToUpper();
      if (pressureConf != "OFF" ) { 
       UInt_t pressureResult = MapPressure(dcsAliasMap);
       status = new TParameter<int>("pressureResult",pressureResult);
       resultArray->Add(status);
      }
    }
  }
  // Other calibration information will be retrieved through FXS files
  //  examples:
  //    TList* fileSourcesDAQ = GetFile(AliShuttleInterface::kDAQ, "pedestals");
  //    const char* fileNamePed = GetFile(AliShuttleInterface::kDAQ, "pedestals", "LDC1");
  //
  //    TList* fileSourcesHLT = GetFile(AliShuttleInterface::kHLT, "calib");
  //    const char* fileNameHLT = GetFile(AliShuttleInterface::kHLT, "calib", "LDC1");

  // pedestal entries

  if(runType == kPedestalRunType) {
    Int_t numSources = 1;
    Int_t pedestalSource[2] = {AliShuttleInterface::kDAQ,AliShuttleInterface::kHLT} ;
    TString source = fConfEnv->GetValue("Pedestal","DAQ");
    source.ToUpper();
    if (source != "OFF" ) { 
     if ( source == "HLT") pedestalSource[0] = AliShuttleInterface::kHLT;
     if (!GetHLTStatus()) pedestalSource[0] = AliShuttleInterface::kDAQ;
     if (source == "HLTDAQ" ) {
         numSources=2;
   	 pedestalSource[0] = AliShuttleInterface::kHLT;
	 pedestalSource[1] = AliShuttleInterface::kDAQ;
     }
     if (source == "DAQHLT" ) numSources=2;
     UInt_t pedestalResult=0;
     for (Int_t i=0; i<numSources; i++ ) {	
       pedestalResult = ExtractPedestals(pedestalSource[i]);
       if ( pedestalResult == 0 ) break;
     }
     result += pedestalResult;
     status = new TParameter<int>("pedestalResult",pedestalResult);
     resultArray->Add(status);
    }
  }

  // pulser trigger processing

  if(runType == kPulserRunType) {
    Int_t numSources = 1;
    Int_t pulserSource[2] = {AliShuttleInterface::kDAQ,AliShuttleInterface::kHLT} ;
    TString source = fConfEnv->GetValue("Pulser","DAQ");
    source.ToUpper();
    if ( source != "OFF") { 
     if ( source == "HLT") pulserSource[0] = AliShuttleInterface::kHLT;
     if (!GetHLTStatus()) pulserSource[0] = AliShuttleInterface::kDAQ;
     if (source == "HLTDAQ" ) {
         numSources=2;
	 pulserSource[0] = AliShuttleInterface::kHLT;
 	 pulserSource[1] = AliShuttleInterface::kDAQ;
     }
     if (source == "DAQHLT" ) numSources=2;
     if (source == "TRY" ) numSources=1;
     UInt_t pulserResult=0;
     for (Int_t i=0; i<numSources; i++ ) {	
       pulserResult = ExtractPulser(pulserSource[i]);
       if ( pulserResult == 0 ) break;
     }
     if (source != "TRY") result += pulserResult;
     status = new TParameter<int>("pulserResult",pulserResult);
     resultArray->Add(status);
    }
  }


// raw calibration processing

  if(runType == kPhysicsRunType) {
    Int_t numSources = 1;
    Int_t rawSource[2] = {AliShuttleInterface::kDAQ,AliShuttleInterface::kHLT} ;
    TString source = fConfEnv->GetValue("Raw","DAQ");
    source.ToUpper();
    if ( source != "OFF") { 
     if ( source == "HLT") rawSource[0] = AliShuttleInterface::kHLT;
     if (!GetHLTStatus()) rawSource[0] = AliShuttleInterface::kDAQ;
     if (source == "HLTDAQ" ) {
         numSources=2;
	 rawSource[0] = AliShuttleInterface::kHLT;
 	 rawSource[1] = AliShuttleInterface::kDAQ;
     }
     if (source == "DAQHLT" ) numSources=2;
     if (source == "TRY" ) numSources=1;
     UInt_t rawResult=0;
     for (Int_t i=0; i<numSources; i++ ) {	
       rawResult = ExtractRaw(rawSource[i]);
       if ( rawResult == 0 ) break;
     }
     if (source != "TRY" )result += rawResult;
     status = new TParameter<int>("rawResult",rawResult);
     resultArray->Add(status);
    }
  }


  // Altro configuration


  TString altroConf = fConfEnv->GetValue("AltroConf","ON");
  altroConf.ToUpper();
  if (altroConf != "OFF" ) { 
   UInt_t altroResult = ExtractAltro(AliShuttleInterface::kDCS,dcsAliasMap);
   if (altroConf != "TRY" ) result+=altroResult;
   status = new TParameter<int>("altroResult",altroResult);
   resultArray->Add(status);
 }


  // Central Electrode processing

  if( runType == kPhysicsRunType || 
      runType == kLaserRunType ) {    

    Int_t numSources = 1;
    Int_t ceSource[2] = {AliShuttleInterface::kDAQ,AliShuttleInterface::kHLT} ;
    TString source = fConfEnv->GetValue("CE","DAQ");
    source.ToUpper();
    if ( source != "OFF" ) { 
     if ( source == "HLT") ceSource[0] = AliShuttleInterface::kHLT;
     if (!GetHLTStatus()) ceSource[0] = AliShuttleInterface::kDAQ;
     if (source == "HLTDAQ" ) {
        numSources=2;
	ceSource[0] = AliShuttleInterface::kHLT;
	ceSource[1] = AliShuttleInterface::kDAQ;
     }
     if (source == "DAQHLT" ) numSources=2;
     if (source == "TRY" ) numSources=1;
     UInt_t ceResult=0;
     for (Int_t i=0; i<numSources; i++ ) {	
       ceResult = ExtractCE(ceSource[i]);
       if ( ceResult == 0 ) break;
     }

   // only flag error if CE result is missing from LASER runs
   //    -- for PHYSICS run do CE processing if data available
   
     if ( runType == kLaserRunType && source != "TRY"  && ceResult<10 ) result += ceResult;
     status = new TParameter<int>("ceResult",ceResult);
     resultArray->Add(status);

    numSources = 1;
    Int_t qaSource[2] = {AliShuttleInterface::kDAQ,AliShuttleInterface::kHLT} ;
    source = fConfEnv->GetValue("QA","DAQ");
    source.ToUpper();
    if ( source != "OFF" ) { 
     if ( source == "HLT") qaSource[0] = AliShuttleInterface::kHLT;
     if (!GetHLTStatus()) qaSource[0] = AliShuttleInterface::kDAQ;
     if (source == "HLTDAQ" ) {
        numSources=2;
	qaSource[0] = AliShuttleInterface::kHLT;
	qaSource[1] = AliShuttleInterface::kDAQ;
     }
     if (source == "DAQHLT" ) numSources=2;
     if (source == "TRY" ) numSources=1;
     UInt_t qaResult=0;
     for (Int_t i=0; i<numSources; i++ ) {	
       qaResult = ExtractQA(qaSource[i]);
       if ( qaResult == 0 ) break;
     }
//     result += qaResult;
     if ( qaResult !=0 ) Log ("ExtractQA failed, no QA entry available.");
     status = new TParameter<int>("qaResult",qaResult);
     resultArray->Add(status);
    }
   }
  }
  
// Store component status to OCDB

  AliCDBMetaData metaData;
  metaData.SetBeamPeriod(0);
  metaData.SetResponsible("Haavard Helstrup");
  metaData.SetAliRootVersion(ALIROOT_BRANCH);
  metaData.SetComment("Preprocessor AliTPC status.");
  Bool_t storeOK = Store("Calib", "PreprocStatus", resultArray, &metaData, 0,  kFALSE);
  if (!storeOK) Log ("Unable to store preprocessor status entry");
 
  resultArray->Delete();
  delete resultArray;

  if (errorHandling == "OFF" ) return 0;
  return result;
  
}
//______________________________________________________________________________________________
UInt_t AliTPCPreprocessor::MapTemperature(TMap* dcsAliasMap)
{

   // extract DCS temperature maps. Perform fits to save space

  UInt_t result=0;
  TMap *map = fTemp->ExtractDCS(dcsAliasMap);
  if (map) {
    fTemp->MakeSplineFit(map);
    Double_t fitFraction = 1.0*fTemp->NumFits()/fTemp->NumSensors(); 
    if (fitFraction > kFitFraction ) {
      AliInfo(Form("Temperature values extracted, fits performed.\n"));
    } else { 
      Log ("Too few temperature maps fitted. \n");
      result = 9;
    }
  } else {
    Log("No temperature map extracted. \n");
    result=9;
  }
  delete map;
  // Now store the final CDB file

  if ( result == 0 ) {
        AliCDBMetaData metaData;
	metaData.SetBeamPeriod(0);
	metaData.SetResponsible("Haavard Helstrup");
	metaData.SetAliRootVersion(ALIROOT_BRANCH);
	metaData.SetComment("Preprocessor AliTPC data base entries.");

	Bool_t storeOK = Store("Calib", "Temperature", fTemp, &metaData, 0, kFALSE);
        if ( !storeOK )  result=1;

   }

   return result;

}
//______________________________________________________________________________________________
UInt_t AliTPCPreprocessor::MapPressure(TMap* dcsAliasMap)
{

   // extract DCS pressure maps. Perform fits to save space

  UInt_t result=0;
  TMap *map = fPressure->ExtractDCS(dcsAliasMap);
  if (map) {
    fPressure->MakeSplineFit(map);
    Double_t fitFraction = 1.0*fPressure->NumFits()/fPressure->NumSensors(); 
    if (fitFraction > kFitFraction ) {
      AliInfo(Form("Pressure values extracted, fits performed.\n"));
    } else { 
      Log ("Too few pressure maps fitted. \n");
      result = 9;
    }
  } else {
    Log("No pressure map extracted. \n");
    result=9;
  }
  delete map;
  return result;
}

//______________________________________________________________________________________________
UInt_t AliTPCPreprocessor::MapHighVoltage(TMap* dcsAliasMap)
{

   // extract DCS HV maps. Perform fits to save space

  UInt_t result=0;
  TMap *map = fHighVoltage->ExtractDCS(dcsAliasMap);
  if (map) {
    fHighVoltage->ClearFit();
    fHighVoltage->RemoveGraphDuplicates(kHighVoltageDifference);
               // don't keep new point if too similar to previous one
    fHighVoltage->SetGraph(map);
  } else {
    Log("No high voltage recordings extracted. \n");
    result=9;
  }
  delete map;

  TString hvStatConf = fConfEnv->GetValue("HighVoltageStat","ON");
  hvStatConf.ToUpper();
  if (hvStatConf != "OFF" ) { 
    TMap *map2 = fHighVoltageStat->ExtractDCS(dcsAliasMap);
    if (map2) {
      fHighVoltageStat->ClearFit();
      fHighVoltageStat->SetGraph(map2);
    } else {
       Log("No high voltage status recordings extracted. \n");
      result=9;
    }
    delete map2;

    // add status maps to high voltage sensor array

    fHighVoltage->AddSensors(fHighVoltageStat);
   }
  // Now store the final CDB file

  if ( result == 0 ) {
        AliCDBMetaData metaData;
	metaData.SetBeamPeriod(0);
	metaData.SetResponsible("Haavard Helstrup");
	metaData.SetAliRootVersion(ALIROOT_BRANCH);
	metaData.SetComment("Preprocessor AliTPC data base entries.");

	Bool_t storeOK = Store("Calib", "HighVoltage", fHighVoltage, &metaData, 0, kFALSE);
        if ( !storeOK )  result=1;

   }

   return result;

}

//______________________________________________________________________________________________
UInt_t AliTPCPreprocessor::MapGoofie(TMap* dcsAliasMap)
{

   // extract DCS Goofie maps. Do not perform fits (low update rate)

  UInt_t result=0;

  TMap *map = fGoofie->ExtractDCS(dcsAliasMap);
  if (map) {
    fGoofie->ClearFit();
    fGoofie->SetGraph(map);
  } else {
    Log("No Goofie recordings extracted. \n");
    result=9;
  }
  delete map;

  // Now store the final CDB file

  if ( result == 0 ) {
        AliCDBMetaData metaData;
	metaData.SetBeamPeriod(0);
	metaData.SetResponsible("Haavard Helstrup");
        metaData.SetAliRootVersion(ALIROOT_BRANCH);
	metaData.SetComment("Preprocessor AliTPC data base entries.");

	Bool_t storeOK = Store("Calib", "Goofie", fGoofie, &metaData, 0, kFALSE);
        if ( !storeOK )  result=1;

   }

   return result;

}

//______________________________________________________________________________________________
UInt_t AliTPCPreprocessor::MapGasComposition(TMap* dcsAliasMap)
{

   // extract DCS HV maps. Perform fits to save space

  UInt_t result=0;
  TMap *map = fGasComposition->ExtractDCS(dcsAliasMap);
  if (map) {
    fGasComposition->ClearFit();
    fGasComposition->RemoveGraphDuplicates(kGasCompositionDifference);
               // don't keep new point if too similar to previous one
    fGasComposition->SetGraph(map);
  } else {
    Log("No gas composition recordings extracted. \n");
    result=9;
  }
  delete map;

  // Now store the final CDB file

  if ( result == 0 ) {
        AliCDBMetaData metaData;
	metaData.SetBeamPeriod(0);
	metaData.SetResponsible("Haavard Helstrup");
	metaData.SetAliRootVersion(ALIROOT_BRANCH);
	metaData.SetComment("Preprocessor AliTPC data base entries.");

	Bool_t storeOK = Store("Calib", "GasComposition", fGasComposition, &metaData, 0, kFALSE);
        if ( !storeOK )  result=1;

   }

   return result;

}


//______________________________________________________________________________________________

UInt_t AliTPCPreprocessor::ExtractPedestals(Int_t sourceFXS)
{
 //
 //  Read pedestal file from file exchage server
 //  Keep original entry from OCDB in case no new pedestals are available
 //
 AliTPCCalPad *calPadPedOCDB=0;
 AliCDBEntry* entry = GetFromOCDB("Calib", "Pedestals");
 if (entry) calPadPedOCDB = (AliTPCCalPad*)entry->GetObject();
 if ( calPadPedOCDB==NULL ) {
     Log("AliTPCPreprocsessor: No previous TPC pedestal entry available.\n");
 }

 AliTPCCalPad *calPadRMSOCDB=0;
 entry = GetFromOCDB("Calib", "PadNoise");
 if (entry) calPadRMSOCDB = (AliTPCCalPad*)entry->GetObject();
 if ( calPadRMSOCDB==NULL ) {
     Log("AliTPCPreprocsessor: No previous TPC noise entry available.\n");
 }

  AliTPCCalPad* calPadPed = new AliTPCCalPad("PedestalsMean","PedestalsMean");
  AliTPCCalPad* calPadRMS = new AliTPCCalPad("PedestalsRMS","PedestalsRMS");


 UInt_t result=0;

 Int_t nSectors = fROC->GetNSectors();
 TVectorD foundSectorsPed(nSectors);
 foundSectorsPed=0;
 TVectorD foundSectorsRMS(nSectors);
 foundSectorsRMS=0;

 TList* list = GetFileSources(sourceFXS,"pedestals");
 
 if (list && list->GetEntries()>0) {

//  loop through all files from LDCs

    Bool_t changed=false;
    UInt_t index = 0;
    while (list->At(index)!=NULL) {
     TObjString* fileNameEntry = (TObjString*) list->At(index);
     if (fileNameEntry!=NULL) {
        TString fileName = GetFile(sourceFXS, "pedestals",
	                                 fileNameEntry->GetString().Data());
        TFile *f = TFile::Open(fileName);
        if (!f) {
	  Log ("Error opening pedestal file.");
	  result =2;
	  break;
	}
        AliTPCCalibPedestal *calPed;
	f->GetObject("tpcCalibPedestal",calPed);
        if ( !calPed ) {
	  Log ("No pedestal calibration object in file.");
	  result = 2;
	  break;
	}

        //  replace entries for the sectors available in the present file

        changed=true;
        for (Int_t sector=0; sector<nSectors; sector++) {
           AliTPCCalROC *rocPed=calPed->GetCalRocPedestal(sector, kFALSE);
           if ( rocPed ) {
	       AliTPCCalROC* roc=calPadPed->GetCalROC(sector);
	       roc->Add(rocPed,1);
	       foundSectorsPed[sector]++;
	   }
           AliTPCCalROC *rocRMS=calPed->GetCalRocRMS(sector, kFALSE);
           if ( rocRMS )  {
               AliTPCCalROC* roc=calPadRMS->GetCalROC(sector);
	       roc->Add(rocRMS,1);
	       foundSectorsRMS[sector]++;
	   } 
        }
        delete calPed; 
        f->Close();
      }
     ++index;
    }  // while(list)

//
//  Check if calibration is complete -- otherwise take from old OCDB entry

// inner sectors
    for (Int_t sector=0; sector<nSectors/2; sector++) {
       if (foundSectorsPed[sector] < 1 ) {
          if (calPadPedOCDB) {
            AliTPCCalROC *rocOCDB=calPadPedOCDB->GetCalROC(sector);
	    calPadPed->SetCalROC(rocOCDB,sector);
	  } else {
	    const int mess_length=100;
            char message[mess_length];
	    snprintf(message,mess_length,"Missing pedestals for sector %d - also not available from previous OCDB entry.\n",
	             sector);
	    Log (message);
	    result = 2;
	  }
       }
       if (foundSectorsRMS[sector] < 1 ) {
          if (calPadRMSOCDB) {
            AliTPCCalROC *rocOCDB=calPadRMSOCDB->GetCalROC(sector);
	    calPadRMS->SetCalROC(rocOCDB,sector);
	  } else {
	    const int mess_length=100;
            char message[mess_length];
	    snprintf(message,mess_length,"Missing pedestal RMS for sector %d - also not available from previous OCDB entry.\n",
	             sector);
	    Log (message);
	    result = 2;
	  }       
       }
    }

// outer sectors -- two updates needed

    for (Int_t sector=nSectors/2; sector<nSectors; sector++) {
       if (foundSectorsPed[sector] < 2 ) {
          if (calPadPedOCDB) {
            AliTPCCalROC *rocOCDB=calPadPedOCDB->GetCalROC(sector);
	    calPadPed->SetCalROC(rocOCDB,sector);
	  } else {
	    const int mess_length=100;
            char message[mess_length];
	    snprintf(message,mess_length,"Missing pedestals for sector %d - also not available from previous OCDB entry.\n",
	             sector);
	    Log (message);
	    result = 2;
	  }

       }
       if (foundSectorsRMS[sector] < 2 ) {
          if (calPadRMSOCDB) {
            AliTPCCalROC *rocOCDB=calPadRMSOCDB->GetCalROC(sector);
	    calPadRMS->SetCalROC(rocOCDB,sector);
	  } else {
	    const int mess_length=100;
            char message[mess_length];
	    snprintf(message,mess_length,"Missing pedestal RMS for sector %d - also not available from previous OCDB entry.\n",
	             sector);
	    Log (message);
	    result = 2;
	  }       

       }       
    }

    
//
//  Store updated pedestal entry to OCDB
//
    if (changed) {
     AliCDBMetaData metaData;
     metaData.SetBeamPeriod(0);
     metaData.SetResponsible("Haavard Helstrup");
     metaData.SetAliRootVersion(ALIROOT_BRANCH);
     metaData.SetComment("Preprocessor AliTPC data base entries."); 
 
     Bool_t storeOK = Store("Calib", "Pedestals", calPadPed, &metaData, 0, kTRUE);
     if ( !storeOK ) ++result;
     storeOK = Store("Calib", "PadNoise", calPadRMS, &metaData, 0, kTRUE);
     if ( !storeOK ) ++result;
    }
  } else {
    Log ("Error: no entries in pedestal file list!");
    result = 1;
  }

  delete calPadPed;
  delete calPadRMS;
  delete calPadPedOCDB;
  delete calPadRMSOCDB;

  return result;
}

//______________________________________________________________________________________________


UInt_t AliTPCPreprocessor::ExtractPulser(Int_t sourceFXS)
{
 //
 //  Read pulser calibration file from file exchage server
 //  Keep original entry from OCDB in case no new pulser calibration is available
 //
 
 TObjArray *pulserObjects = new TObjArray;
 TObjArray *pulserObjectsOCDB=0;   
  
 AliCDBEntry* entry = GetFromOCDB("Calib", "Pulser");
 if (entry) pulserObjectsOCDB = (TObjArray*)entry->GetObject();
 if ( pulserObjectsOCDB==NULL ) {
     Log("AliTPCPreprocsessor: No previous TPC pulser entry available.\n");
 }

 AliTPCCalPad *pulserTmean = new AliTPCCalPad("PulserTmean","PulserTmean");
 pulserObjects->Add(pulserTmean);
 
 AliTPCCalPad *pulserTrms = new AliTPCCalPad("PulserTrms","PulserTrms");
 pulserObjects->Add(pulserTrms);
 
 AliTPCCalPad *pulserQmean = new AliTPCCalPad("PulserQmean","PulserQmean");
 pulserObjects->Add(pulserQmean);
 


 UInt_t result=0;

 Int_t nSectors = fROC->GetNSectors();
 TVectorD foundTmean(nSectors);
 foundTmean=0;
 TVectorD foundTrms(nSectors);
 foundTrms=0;
 TVectorD foundQmean(nSectors);
 foundQmean=0;


 TList* list = GetFileSources(sourceFXS,"pulser");
 
 if (list && list->GetEntries()>0) {

//  loop through all files from LDCs

    Bool_t changed=false;
    UInt_t index = 0;
    while (list->At(index)!=NULL) {
     TObjString* fileNameEntry = (TObjString*) list->At(index);
     if (fileNameEntry!=NULL) {
        TString fileName = GetFile(sourceFXS, "pulser",
	                                 fileNameEntry->GetString().Data());
        TFile *f = TFile::Open(fileName);
        if (!f) {
	  Log ("Error opening pulser file.");
	  result =2;
	  break;
	}
        AliTPCCalibPulser *calPulser;
	f->GetObject("tpcCalibPulser",calPulser);
        if ( !calPulser ) {
	  Log ("No pulser calibration object in file.");
	  result = 2;
	  break;
	}

        //  replace entries for the sectors available in the present file

        changed=true;
        for (Int_t sector=0; sector<nSectors; sector++) {
           AliTPCCalROC *rocTmean=calPulser->GetCalRocT0(sector);
           if ( rocTmean ) {
               AliTPCCalROC* roc=pulserTmean->GetCalROC(sector);
	       roc->Add(rocTmean,1);
	       foundTmean[sector]++;
           }
           AliTPCCalROC *rocTrms=calPulser->GetCalRocRMS(sector);
           if ( rocTrms ) {
               AliTPCCalROC* roc=pulserTrms->GetCalROC(sector);
	       roc->Add(rocTrms,1);
	       foundTrms[sector]++;
           }
           AliTPCCalROC *rocQmean=calPulser->GetCalRocQ(sector);
           if ( rocQmean ) {
               AliTPCCalROC* roc=pulserQmean->GetCalROC(sector);
	       roc->Add(rocQmean,1);
	       foundQmean[sector]++;
           }
        }
       delete calPulser;
       f->Close();
      }
     ++index;
    }  // while(list)




if (pulserObjectsOCDB) {
  AliTPCCalPad* pulserTmeanOCDB = (AliTPCCalPad*)pulserObjectsOCDB->FindObject("PulserTmean");
  AliTPCCalPad* pulserTrmsOCDB  = (AliTPCCalPad*)pulserObjectsOCDB->FindObject("PulserTrms");
  AliTPCCalPad* pulserQmeanOCDB = (AliTPCCalPad*)pulserObjectsOCDB->FindObject("PulserQmean");
 
//
//  Check if calibration is complete -- otherwise take from old OCDB entry

// inner sectors
    for (Int_t sector=0; sector<nSectors/2; sector++) {
       if (foundTmean[sector] < 1 ) {
         if (pulserTmeanOCDB) {
          AliTPCCalROC* rocOCDB = pulserTmeanOCDB->GetCalROC(sector);
          if ( rocOCDB ) pulserTmean->SetCalROC(rocOCDB,sector);
         }
       }
       if (foundTrms[sector] < 1 ) {
         if (pulserTrmsOCDB) {
          AliTPCCalROC* rocOCDB = pulserTrmsOCDB->GetCalROC(sector);
          if ( rocOCDB ) pulserTrms->SetCalROC(rocOCDB,sector);
         }
       }
       if (foundQmean[sector] < 1 ) {
         if (pulserQmeanOCDB) {
          AliTPCCalROC* rocOCDB = pulserQmeanOCDB->GetCalROC(sector);
          if ( rocOCDB ) pulserQmean->SetCalROC(rocOCDB,sector);
         }
       }
    }
  
// outer sectors -- two updates needed

    for (Int_t sector=0; sector<nSectors/2; sector++) {
       if (foundTmean[sector] < 2 ) {
         if (pulserTmeanOCDB) {
          AliTPCCalROC* rocOCDB = pulserTmeanOCDB->GetCalROC(sector);
          if ( rocOCDB ) pulserTmean->SetCalROC(rocOCDB,sector);
         }
       }
       if (foundTrms[sector] < 2 ) {
         if (pulserTrmsOCDB) {
          AliTPCCalROC* rocOCDB = pulserTrmsOCDB->GetCalROC(sector);
          if ( rocOCDB ) pulserTrms->SetCalROC(rocOCDB,sector);
         }
       }
       if (foundQmean[sector] < 2 ) {
         if (pulserQmeanOCDB) {
          AliTPCCalROC* rocOCDB = pulserQmeanOCDB->GetCalROC(sector);
          if ( rocOCDB ) pulserQmean->SetCalROC(rocOCDB,sector);
         }
       }

    }
}

//
//  Store updated pedestal entry to OCDB
//
    if (changed) {
     AliCDBMetaData metaData;
     metaData.SetBeamPeriod(0);
     metaData.SetResponsible("Haavard Helstrup");
     metaData.SetAliRootVersion(ALIROOT_BRANCH);
     metaData.SetComment("Preprocessor AliTPC data base entries.");

     Bool_t storeOK = Store("Calib", "Pulser", pulserObjects, &metaData, 0, kTRUE);
     if ( !storeOK ) ++result;
    }  
  } else {
    Log ("Error: no entries in pulser file list!");
    result = 1;
  }
  pulserObjects->Delete();
  delete pulserObjects;
  if (pulserObjectsOCDB) pulserObjectsOCDB->Delete();
  delete pulserObjectsOCDB;

  return result;
}

//______________________________________________________________________________________________


UInt_t AliTPCPreprocessor::ExtractRaw(Int_t sourceFXS)
{
 //
 //  Read Raw calibration file from file exchage server
 //
 
 UInt_t result=0;
 TObjArray* rawArray = new TObjArray;

 TList* list = GetFileSources(sourceFXS,"tpcCalibRaw");
 
 if (list && list->GetEntries()>0) {

//  loop through all files

    UInt_t index = 0;
    while (list->At(index)!=NULL) {
     TObjString* fileNameEntry = (TObjString*) list->At(index);
     if (fileNameEntry!=NULL) {
        TString fileName = GetFile(sourceFXS, "tpcCalibRaw",
	                                 fileNameEntry->GetString().Data());
        TFile *f = TFile::Open(fileName);
        if (!f) {
	  Log ("Error opening raw file.");
	  result =2;
	  break;
	}
        AliTPCCalibRaw *calRaw;
	f->GetObject("tpcCalibRaw",calRaw);
        if ( !calRaw ) {
	  Log ("No raw calibration object in file.");
	  result = 2;
	  break;
	}
       rawArray->Add(calRaw);
       f->Close();
      }
     ++index;
    }  // while(list)
//
//  Store updated pedestal entry to OCDB
//
     AliCDBMetaData metaData;
     metaData.SetBeamPeriod(0);
     metaData.SetResponsible("Haavard Helstrup");
     metaData.SetAliRootVersion(ALIROOT_BRANCH);
     metaData.SetComment("Preprocessor AliTPC data base entries.");

     Bool_t storeOK = Store("Calib", "Raw", rawArray, &metaData, 0, kTRUE);
     if ( !storeOK ) ++result;
  } else {
    Log ("Error: no entries in raw file list!");
    result = 1;
  }
  
  rawArray->Delete();
  delete rawArray;

  return result;
}
//______________________________________________________________________________________________

UInt_t AliTPCPreprocessor::ExtractCE(Int_t sourceFXS)
{
 //
 //  Read Central Electrode file from file exchage server
 //
 //
  AliTPCCalPad *ceTmean=0;
  AliTPCCalPad *ceTrms=0;
  AliTPCCalPad *ceQmean=0;
  TObjArray    *rocTtime=0;
  TObjArray    *rocQtime=0;
  
  TObjArray    *ceObjects= new TObjArray;
  
  
  Int_t nSectors = fROC->GetNSectors();
  
  ceTmean = new AliTPCCalPad("CETmean","CETmean");
  ceObjects->Add(ceTmean);
  
  ceTrms = new AliTPCCalPad("CETrms","CETrms");
  ceObjects->Add(ceTrms);
  
  ceQmean = new AliTPCCalPad("CEQmean","CEQmean");
  ceObjects->Add(ceQmean);
  
  rocTtime = new TObjArray(nSectors+2);   // also make room for A and C side average
  rocTtime->SetName("rocTtime");
  ceObjects->Add(rocTtime);
  
  rocQtime = new TObjArray(nSectors);
  rocQtime->SetName("rocQtime");
  ceObjects->Add(rocQtime);

  //=== new part
  TObjArray *arrFitGraphs=new TObjArray;
  arrFitGraphs->SetName("ceFitsDrift");
  ceObjects->Add(arrFitGraphs);
  
// Temperature maps 
  
  if (fTemp) {
    AliTPCSensorTempArray *tempMap = new AliTPCSensorTempArray(*fTemp);
    tempMap->SetNameTitle("TempMap","TempMap");
    ceObjects->Add(tempMap);
  }
  
// Pressure maps
  
  if (fPressure) {
    AliDCSSensor *sensor=0, *sensorCopy=0;
    for (Int_t isensor=0; isensor<kNumPressureSensors; ++isensor ) {
      sensor = fPressure->GetSensor(kPressureSensorNames[isensor]);
      if (sensor) {
        sensorCopy = new AliDCSSensor(*sensor);
        sensorCopy->SetNameTitle(kPressureSensorNames[isensor],kPressureSensorNames[isensor]);
        ceObjects->Add(sensorCopy);
      }
    }
  }
  
  UInt_t result=0;
  
  TList* list = GetFileSources(sourceFXS,"CE");
  
  if (list && list->GetEntries()>0) {
    
//  loop through all files from LDCs
    
    UInt_t index = 0;
    while (list->At(index)!=NULL) {
      TObjString* fileNameEntry = (TObjString*) list->At(index);
      if (fileNameEntry!=NULL) {
        TString fileName = GetFile(sourceFXS, "CE",
                                   fileNameEntry->GetString().Data());
        AliTPCCalibCE *calCE=AliTPCCalibCE::ReadFromFile(fileName.Data());        
        
        if (!calCE) {
          Log ("No valid calibCE object.");
          result=2;
          break;
        }
        //  replace entries for the sectors available in the present file
        
        for (Int_t sector=0; sector<nSectors; sector++) {
          AliTPCCalROC *rocTmean=calCE->GetCalRocT0(sector);
          if ( rocTmean )  ceTmean->SetCalROC(rocTmean,sector);
          AliTPCCalROC *rocTrms=calCE->GetCalRocRMS(sector);
          if ( rocTrms )  ceTrms->SetCalROC(rocTrms,sector);
          AliTPCCalROC *rocQmean=calCE->GetCalRocQ(sector);
          if ( rocQmean )  ceQmean->SetCalROC(rocQmean,sector);
          TGraph *grT=calCE->MakeGraphTimeCE(sector,0,2); // T time graph
          if ( grT ) rocTtime->AddAt(grT,sector);
          TGraph *grQ=calCE->MakeGraphTimeCE(sector,0,3); // Q time graph
          if ( grQ ) rocQtime->AddAt(grQ,sector);
        }
        
        TGraph *grT=calCE->MakeGraphTimeCE(-1,0,2); // A side average
        if ( grT ) {
          rocTtime->AddAt(grT,nSectors);
        } else {
          result=10;
        }
        grT=calCE->MakeGraphTimeCE(-2,0,2); // C side average
        if ( grT ) {
          rocTtime->AddAt(grT,nSectors+1);
        } else {
          result=10;
        }

        delete calCE;
      }
      ++index;
    }  // while(list)
//
//   Check number of calibrated sectors per side
// 
    Int_t aside=0, cside=0;
    for (Int_t ind=0; ind<nSectors/4; ind++ ) {
        TGraph *grT=(TGraph*)rocTtime->At(ind);
	if (grT) aside++;
	grT=(TGraph*)rocTtime->At(ind+nSectors/2);
	if (grT) aside++;
	grT=(TGraph*)rocTtime->At(ind+nSectors/4);
	if (grT) cside++;
	grT=(TGraph*)rocTtime->At(ind+3*nSectors/4);
	if (grT) cside++;
     }
     if ( (aside<kMinCESectors) && (cside<kMinCESectors) ) {
        Log (Form("ExtractCE: Too few fitted sectors: Aside =%d, Cside=%d\n",
	     aside, cside)) ;
	result=10;
     }

    //
    //=== New CE part
    //    if it is validated this part needs to be modified again
    //    currently its only processed if there is a valid standard CE object
    //
    list = GetFileSources(sourceFXS,"CEnew");
    
    if (result==0 && list && list->GetEntries()>0) {
      
//  loop through all files from LDCs
      
      UInt_t index2 = 0;
      while (list->At(index2)!=NULL) {
        TObjString* fileNameEntry = (TObjString*) list->At(index2);
        if (fileNameEntry!=NULL) {
          TString fileName = GetFile(sourceFXS, "CEnew",
                                     fileNameEntry->GetString().Data());
          AliTPCCalibCE *calCE=AliTPCCalibCE::ReadFromFile(fileName.Data());        
          
          if (!calCE) {
            Log ("No valid new calibCE object.");
//             result=2;
            break;
          }

          TIter nextObj(calCE->GetArrFitGraphs());
          TObject *obj=0x0;
          while ( (obj=nextObj()) ){
            arrFitGraphs->Add(obj->Clone());
          }
          delete calCE;
        }
        ++index2;
      }
    }
    
//
//  Store updated pedestal entry to OCDB
//
    AliCDBMetaData metaData;
    metaData.SetBeamPeriod(0);
    metaData.SetResponsible("Haavard Helstrup");
    metaData.SetAliRootVersion(ALIROOT_BRANCH);
    metaData.SetComment("Preprocessor AliTPC data base entries.");
    
    if ( result == 0 ) {
      Bool_t storeOK = Store("Calib", "CE", ceObjects, &metaData, 0, kTRUE);
      if ( !storeOK ) ++result;
    } else {
      Log ("Warning: Average time graphs not available - no OCDB entry written");
    }
  } else {
    Log ("Error: no CE entries available from FXS!");
    result = 1;
  }
  
  ceObjects->Delete();
  delete ceObjects;
  
  return result;
}
//______________________________________________________________________________________________

UInt_t AliTPCPreprocessor::ExtractQA(Int_t sourceFXS)
{
 //
 //  Read Quality Assurance file from file exchage server
 //
 
 UInt_t result=0;

 TList* list = GetFileSources(sourceFXS,"QA");
 
 if (list && list->GetEntries()>0) {

//  only one QA object should be available!

    AliTPCdataQA *calQA;

    UInt_t nentries = list->GetEntries();  
    UInt_t index=0;
    if ( nentries > 1) Log ( "More than one QA entry. First one processed");      
    TObjString* fileNameEntry = (TObjString*) list->At(index);
    if (fileNameEntry!=NULL) {
        TString fileName = GetFile(sourceFXS, "QA",
	                                 fileNameEntry->GetString().Data());
        TFile *f = TFile::Open(fileName);
        if (!f) {
	  Log ("Error opening QA file.");
	  result =2;          
	} else {
   	  f->GetObject("tpcCalibQA",calQA);
          if ( calQA ) {      
//
//  Store updated pedestal entry to OCDB
//
           AliCDBMetaData metaData;
           metaData.SetBeamPeriod(0);
           metaData.SetResponsible("Haavard Helstrup");
	   metaData.SetAliRootVersion(ALIROOT_BRANCH);
           metaData.SetComment("Preprocessor AliTPC data base entries.");

           Bool_t storeOK = Store("Calib", "QA", calQA, &metaData, 0, kFALSE);
           if ( !storeOK ) ++result;

           delete calQA;
	  }
        }
    } else {
    Log ("Error: no QA files on FXS!");
    result = 2;
    }
  } else {
    Log ("Error: no QA entries in FXS list!");
    result = 1;
  }
  return result;
}

//______________________________________________________________________________________________


UInt_t AliTPCPreprocessor::ExtractAltro(Int_t sourceFXS, TMap* dcsMap)
{
 //
 //  Read Altro configuration file from file exchage server
 //  Keep original entry from OCDB in case no new pulser calibration is available
 //
 TObjArray    *altroObjects=0;
 AliTPCCalPad *acqStart=0;
 AliTPCCalPad *zsThr=0;
 AliTPCCalPad *acqStop=0;
 AliTPCCalPad *FPED=0;
 AliTPCCalPad *masked=0;
 AliTPCCalPad *k1=0, *k2=0, *k3=0;
 AliTPCCalPad *l1=0, *l2=0, *l3=0;
 TMap *mapRCUconfig=0;

 AliCDBEntry* entry = GetFromOCDB("Calib", "AltroConfig");
 if (entry) altroObjects = (TObjArray*)entry->GetObject();
 if ( altroObjects==NULL ) {
     Log("AliTPCPreprocsessor: No previous TPC altro calibration entry available.\n");
     altroObjects = new TObjArray;    
 }

 acqStart = (AliTPCCalPad*)altroObjects->FindObject("AcqStart");
 if ( !acqStart ) {
    acqStart = new AliTPCCalPad("AcqStart","AcqStart");
    altroObjects->Add(acqStart);
 }
 zsThr = (AliTPCCalPad*)altroObjects->FindObject("ZsThr");
 if ( !zsThr )  { 
    zsThr = new AliTPCCalPad("ZsThr","ZsThr");
    altroObjects->Add(zsThr);
 }
 FPED = (AliTPCCalPad*)altroObjects->FindObject("FPED");
 if ( !FPED )  { 
    FPED = new AliTPCCalPad("FPED","FPED");
    altroObjects->Add(FPED);
 }
 acqStop = (AliTPCCalPad*)altroObjects->FindObject("AcqStop");
 if ( !acqStop ) {
    acqStop = new AliTPCCalPad("AcqStop","AcqStop");
    altroObjects->Add(acqStop);
 }
 masked = (AliTPCCalPad*)altroObjects->FindObject("Masked");
 if ( !masked )  { 
    masked = new AliTPCCalPad("Masked","Masked");
    altroObjects->Add(masked);
 }
 k1 = (AliTPCCalPad*)altroObjects->FindObject("K1");
 if ( !k1 )  { 
    k1 = new AliTPCCalPad("K1","K1");
    altroObjects->Add(k1);
 }
 k2 = (AliTPCCalPad*)altroObjects->FindObject("K2");
 if ( !k2 )  { 
    k2 = new AliTPCCalPad("K2","K2");
    altroObjects->Add(k2);
 }
 k3 = (AliTPCCalPad*)altroObjects->FindObject("K3");
 if ( !k3 )  { 
    k3 = new AliTPCCalPad("K3","K3");
    altroObjects->Add(k3);
 }
 l1 = (AliTPCCalPad*)altroObjects->FindObject("L1");
 if ( !l1 )  { 
    l1 = new AliTPCCalPad("L1","L1");
    altroObjects->Add(l1);
 }
 l2 = (AliTPCCalPad*)altroObjects->FindObject("L2");
 if ( !l2 )  { 
    l2 = new AliTPCCalPad("L2","L2");
    altroObjects->Add(l2);
 }
 l3 = (AliTPCCalPad*)altroObjects->FindObject("L3");
 if ( !l3 )  { 
    l3 = new AliTPCCalPad("L3","L3");
    altroObjects->Add(l3);
 }
 mapRCUconfig = (TMap*)altroObjects->FindObject("RCUconfig");
 if (!mapRCUconfig) {
    mapRCUconfig = new TMap();
    mapRCUconfig->SetName("RCUconfig");
    altroObjects->Add(mapRCUconfig);
 }


 UInt_t result=0;
 TString idFXS[2]={"AltroConfigA","AltroConfigC"};

 Int_t nSectors = fROC->GetNSectors();
 Bool_t changed=false;
 if (altroObjects == 0 ) altroObjects = new TObjArray;

// extract list of active DDLs

 if (dcsMap) {
  Bool_t found; 
  TString arrDDL(kNumDDL);
  arrDDL.Append('x',kNumDDL);
  for ( Int_t iDDL = 0; iDDL<kNumDDL; iDDL++ ) {
    TString stringID = Form (kAmandaDDL.Data(),iDDL+kFirstDDL);
    TPair *pair = (TPair*)dcsMap->FindObject(stringID.Data());
    found = false;
    if ( pair ) {
        TObjArray *valueSet=(TObjArray*)pair->Value();
        if ( valueSet) { 
	  AliDCSValue *val = (AliDCSValue*)valueSet->At(0);
	  if (val) { 
	      found = val->GetBool();
	      if (found){
               arrDDL[iDDL] = '1';
              } else { 
               arrDDL[iDDL] = '0';
              }
	  }    
	}
    } 
  }
  TObjString *ddlArray = new TObjString;
  ddlArray->SetString(arrDDL);
  TMap *activeDDL = new TMap;
  activeDDL->SetName("DDLArray");
  TObjString *key = new TObjString("DDLArray");
  activeDDL->Add(key,ddlArray);
  altroObjects->Add(activeDDL);
  changed=true;
 } else {
   Log ("ExtractAltro: No DCS map available. Active DDL list cannot be obtained.");
   result = 3;
 }        

// extract Altro configuration files

 for ( Int_t id=0; id<2; id++) {
   TList* list = GetFileSources(sourceFXS,idFXS[id].Data());
 
   if (list && list->GetEntries()>0) {

//  loop through all files from LDCs

    UInt_t index = 0;
    while (list->At(index)!=NULL) {
     TObjString* fileNameEntry = (TObjString*) list->At(index);
     if (fileNameEntry!=NULL) {
        TString fileName = GetFile(sourceFXS, idFXS[id].Data(),
	                                 fileNameEntry->GetString().Data());
        TFile *f = TFile::Open(fileName);
        if (!f) {
	  const int mess_length=40;
          char message[mess_length];
	  snprintf(message,mess_length,"Error opening Altro configuration file, id = %d",id);
	  Log (message);
	  result =2;
	  break;
	}
        TObjArray *altroFXS;
	f->GetObject("AltroConfig",altroFXS);
        if ( !altroFXS ) {
	  Log ("No Altro configuration object in file.");
	  result = 2;
	  break;
	}

        //  replace entries for the sectors available in the present file
        AliTPCCalPad *acqStartFXS=(AliTPCCalPad*)altroFXS->FindObject("AcqStart");
        AliTPCCalPad *zsThrFXS=(AliTPCCalPad*)altroFXS->FindObject("ZsThr");
        AliTPCCalPad *acqStopFXS=(AliTPCCalPad*)altroFXS->FindObject("AcqStop");
        AliTPCCalPad *FPEDFXS=(AliTPCCalPad*)altroFXS->FindObject("FPED");
        AliTPCCalPad *maskedFXS=(AliTPCCalPad*)altroFXS->FindObject("Masked");
        AliTPCCalPad *k1FXS=(AliTPCCalPad*)altroFXS->FindObject("K1");
        AliTPCCalPad *k2FXS=(AliTPCCalPad*)altroFXS->FindObject("K2");
        AliTPCCalPad *k3FXS=(AliTPCCalPad*)altroFXS->FindObject("K3");
        AliTPCCalPad *l1FXS=(AliTPCCalPad*)altroFXS->FindObject("L1");
        AliTPCCalPad *l2FXS=(AliTPCCalPad*)altroFXS->FindObject("L2");
        AliTPCCalPad *l3FXS=(AliTPCCalPad*)altroFXS->FindObject("L3");
        TMap *mapRCUconfigFXS = (TMap*)altroFXS->FindObject("RCUconfig");
        TIterator *mapFXSiter = mapRCUconfigFXS->MakeIterator();
	
        changed=true;
        for (Int_t sector=0; sector<nSectors; sector++) {
            
           if (acqStartFXS) {
	      AliTPCCalROC *rocAcqStart=acqStartFXS->GetCalROC(sector);
              if ( rocAcqStart )  acqStart->SetCalROC(rocAcqStart,sector);
	   }
	   if (zsThrFXS ) {
              AliTPCCalROC *rocZsThr=zsThrFXS->GetCalROC(sector);
              if ( rocZsThr )  zsThr->SetCalROC(rocZsThr,sector);
	   }
	   if (acqStopFXS) {
              AliTPCCalROC *rocAcqStop=acqStopFXS->GetCalROC(sector);
              if ( rocAcqStop )  acqStop->SetCalROC(rocAcqStop,sector);
	   }
	   if (FPEDFXS ) {
              AliTPCCalROC *rocFPED=FPEDFXS->GetCalROC(sector);
              if ( rocFPED )  FPED->SetCalROC(rocFPED,sector);
	   }
	   if (maskedFXS) {
              AliTPCCalROC *rocMasked=maskedFXS->GetCalROC(sector);
              if ( rocMasked )  masked->SetCalROC(rocMasked,sector);
	   }
	   if (k1FXS) {
              AliTPCCalROC *rocK1=k1FXS->GetCalROC(sector);
              if ( rocK1 )  k1->SetCalROC(rocK1,sector);
	   }
	   if (k2FXS) {
              AliTPCCalROC *rocK2=k2FXS->GetCalROC(sector);
              if ( rocK2 )  k2->SetCalROC(rocK2,sector);
	   }
	   if (k3FXS) {
              AliTPCCalROC *rocK3=k3FXS->GetCalROC(sector);
              if ( rocK3 )  k3->SetCalROC(rocK3,sector);
	   }
	   if (l1FXS) {
              AliTPCCalROC *rocL1=l1FXS->GetCalROC(sector);
              if ( rocL1 )  l1->SetCalROC(rocL1,sector);
	   }
	   if (l2FXS) {
              AliTPCCalROC *rocL2=l2FXS->GetCalROC(sector);
              if ( rocL2 )  l2->SetCalROC(rocL2,sector);
	   }
	   if (l3FXS) {
              AliTPCCalROC *rocL3=l3FXS->GetCalROC(sector);
              if ( rocL3 )  l3->SetCalROC(rocL3,sector);
	   }
	 }
	 if (mapRCUconfigFXS) {
          Int_t mapEntries = mapRCUconfigFXS->GetEntries();
          TObjString* keyFXS;
	  TVectorF* vecFXS;
	  TVectorF* vec;              // nSectors = 72  (total number of inner/outer sectors)
	  for (Int_t i=0; i<mapEntries; ++i) {
	    keyFXS=(TObjString*)mapFXSiter->Next();
            vecFXS=(TVectorF*)mapRCUconfigFXS->GetValue(keyFXS);
            vec=(TVectorF*)mapRCUconfig->GetValue(keyFXS);
	    if (!vec) {
	      vec = new TVectorF(3*nSectors);
	      *vec = -1;
	      mapRCUconfig->Add(keyFXS,vec);
	    }
	    if (vec->GetNoElements() != 3*nSectors ) {
	      vec->ResizeTo(3*nSectors);
            }
	    if (id==0) {                        // A side
	      vec->SetSub(0,vecFXS->GetSub(0,nSectors/2-1));
	      vec->SetSub(nSectors,vecFXS->GetSub(nSectors,2*nSectors-1));
	    } else {                             // C side
	      vec->SetSub(nSectors/2,vecFXS->GetSub(nSectors/2,nSectors-1));
	      vec->SetSub(2*nSectors,vecFXS->GetSub(2*nSectors,3*nSectors-1));
	    }
	  }
        }
       delete altroFXS;
       f->Close();
      }
     ++index;
     }  // while(list)
    } else {
      Log ("Error: no entries in AltroConfig file list!");
      result = 1;
    }

   }   // for - id
//
//  Store updated pedestal entry to OCDB
//
    if (changed) {
     AliCDBMetaData metaData;
     metaData.SetBeamPeriod(0);
     metaData.SetResponsible("Haavard Helstrup");
     metaData.SetAliRootVersion(ALIROOT_BRANCH);
     metaData.SetComment("Preprocessor AliTPC data base entries.");

     Bool_t storeOK = Store("Calib", "AltroConfig", altroObjects, &metaData, 0, kFALSE);
     if ( !storeOK ) ++result;
    }  

  altroObjects->Delete();
  delete altroObjects;
  
  return result;
}
 AliTPCPreprocessor.cxx:1
 AliTPCPreprocessor.cxx:2
 AliTPCPreprocessor.cxx:3
 AliTPCPreprocessor.cxx:4
 AliTPCPreprocessor.cxx:5
 AliTPCPreprocessor.cxx:6
 AliTPCPreprocessor.cxx:7
 AliTPCPreprocessor.cxx:8
 AliTPCPreprocessor.cxx:9
 AliTPCPreprocessor.cxx:10
 AliTPCPreprocessor.cxx:11
 AliTPCPreprocessor.cxx:12
 AliTPCPreprocessor.cxx:13
 AliTPCPreprocessor.cxx:14
 AliTPCPreprocessor.cxx:15
 AliTPCPreprocessor.cxx:16
 AliTPCPreprocessor.cxx:17
 AliTPCPreprocessor.cxx:18
 AliTPCPreprocessor.cxx:19
 AliTPCPreprocessor.cxx:20
 AliTPCPreprocessor.cxx:21
 AliTPCPreprocessor.cxx:22
 AliTPCPreprocessor.cxx:23
 AliTPCPreprocessor.cxx:24
 AliTPCPreprocessor.cxx:25
 AliTPCPreprocessor.cxx:26
 AliTPCPreprocessor.cxx:27
 AliTPCPreprocessor.cxx:28
 AliTPCPreprocessor.cxx:29
 AliTPCPreprocessor.cxx:30
 AliTPCPreprocessor.cxx:31
 AliTPCPreprocessor.cxx:32
 AliTPCPreprocessor.cxx:33
 AliTPCPreprocessor.cxx:34
 AliTPCPreprocessor.cxx:35
 AliTPCPreprocessor.cxx:36
 AliTPCPreprocessor.cxx:37
 AliTPCPreprocessor.cxx:38
 AliTPCPreprocessor.cxx:39
 AliTPCPreprocessor.cxx:40
 AliTPCPreprocessor.cxx:41
 AliTPCPreprocessor.cxx:42
 AliTPCPreprocessor.cxx:43
 AliTPCPreprocessor.cxx:44
 AliTPCPreprocessor.cxx:45
 AliTPCPreprocessor.cxx:46
 AliTPCPreprocessor.cxx:47
 AliTPCPreprocessor.cxx:48
 AliTPCPreprocessor.cxx:49
 AliTPCPreprocessor.cxx:50
 AliTPCPreprocessor.cxx:51
 AliTPCPreprocessor.cxx:52
 AliTPCPreprocessor.cxx:53
 AliTPCPreprocessor.cxx:54
 AliTPCPreprocessor.cxx:55
 AliTPCPreprocessor.cxx:56
 AliTPCPreprocessor.cxx:57
 AliTPCPreprocessor.cxx:58
 AliTPCPreprocessor.cxx:59
 AliTPCPreprocessor.cxx:60
 AliTPCPreprocessor.cxx:61
 AliTPCPreprocessor.cxx:62
 AliTPCPreprocessor.cxx:63
 AliTPCPreprocessor.cxx:64
 AliTPCPreprocessor.cxx:65
 AliTPCPreprocessor.cxx:66
 AliTPCPreprocessor.cxx:67
 AliTPCPreprocessor.cxx:68
 AliTPCPreprocessor.cxx:69
 AliTPCPreprocessor.cxx:70
 AliTPCPreprocessor.cxx:71
 AliTPCPreprocessor.cxx:72
 AliTPCPreprocessor.cxx:73
 AliTPCPreprocessor.cxx:74
 AliTPCPreprocessor.cxx:75
 AliTPCPreprocessor.cxx:76
 AliTPCPreprocessor.cxx:77
 AliTPCPreprocessor.cxx:78
 AliTPCPreprocessor.cxx:79
 AliTPCPreprocessor.cxx:80
 AliTPCPreprocessor.cxx:81
 AliTPCPreprocessor.cxx:82
 AliTPCPreprocessor.cxx:83
 AliTPCPreprocessor.cxx:84
 AliTPCPreprocessor.cxx:85
 AliTPCPreprocessor.cxx:86
 AliTPCPreprocessor.cxx:87
 AliTPCPreprocessor.cxx:88
 AliTPCPreprocessor.cxx:89
 AliTPCPreprocessor.cxx:90
 AliTPCPreprocessor.cxx:91
 AliTPCPreprocessor.cxx:92
 AliTPCPreprocessor.cxx:93
 AliTPCPreprocessor.cxx:94
 AliTPCPreprocessor.cxx:95
 AliTPCPreprocessor.cxx:96
 AliTPCPreprocessor.cxx:97
 AliTPCPreprocessor.cxx:98
 AliTPCPreprocessor.cxx:99
 AliTPCPreprocessor.cxx:100
 AliTPCPreprocessor.cxx:101
 AliTPCPreprocessor.cxx:102
 AliTPCPreprocessor.cxx:103
 AliTPCPreprocessor.cxx:104
 AliTPCPreprocessor.cxx:105
 AliTPCPreprocessor.cxx:106
 AliTPCPreprocessor.cxx:107
 AliTPCPreprocessor.cxx:108
 AliTPCPreprocessor.cxx:109
 AliTPCPreprocessor.cxx:110
 AliTPCPreprocessor.cxx:111
 AliTPCPreprocessor.cxx:112
 AliTPCPreprocessor.cxx:113
 AliTPCPreprocessor.cxx:114
 AliTPCPreprocessor.cxx:115
 AliTPCPreprocessor.cxx:116
 AliTPCPreprocessor.cxx:117
 AliTPCPreprocessor.cxx:118
 AliTPCPreprocessor.cxx:119
 AliTPCPreprocessor.cxx:120
 AliTPCPreprocessor.cxx:121
 AliTPCPreprocessor.cxx:122
 AliTPCPreprocessor.cxx:123
 AliTPCPreprocessor.cxx:124
 AliTPCPreprocessor.cxx:125
 AliTPCPreprocessor.cxx:126
 AliTPCPreprocessor.cxx:127
 AliTPCPreprocessor.cxx:128
 AliTPCPreprocessor.cxx:129
 AliTPCPreprocessor.cxx:130
 AliTPCPreprocessor.cxx:131
 AliTPCPreprocessor.cxx:132
 AliTPCPreprocessor.cxx:133
 AliTPCPreprocessor.cxx:134
 AliTPCPreprocessor.cxx:135
 AliTPCPreprocessor.cxx:136
 AliTPCPreprocessor.cxx:137
 AliTPCPreprocessor.cxx:138
 AliTPCPreprocessor.cxx:139
 AliTPCPreprocessor.cxx:140
 AliTPCPreprocessor.cxx:141
 AliTPCPreprocessor.cxx:142
 AliTPCPreprocessor.cxx:143
 AliTPCPreprocessor.cxx:144
 AliTPCPreprocessor.cxx:145
 AliTPCPreprocessor.cxx:146
 AliTPCPreprocessor.cxx:147
 AliTPCPreprocessor.cxx:148
 AliTPCPreprocessor.cxx:149
 AliTPCPreprocessor.cxx:150
 AliTPCPreprocessor.cxx:151
 AliTPCPreprocessor.cxx:152
 AliTPCPreprocessor.cxx:153
 AliTPCPreprocessor.cxx:154
 AliTPCPreprocessor.cxx:155
 AliTPCPreprocessor.cxx:156
 AliTPCPreprocessor.cxx:157
 AliTPCPreprocessor.cxx:158
 AliTPCPreprocessor.cxx:159
 AliTPCPreprocessor.cxx:160
 AliTPCPreprocessor.cxx:161
 AliTPCPreprocessor.cxx:162
 AliTPCPreprocessor.cxx:163
 AliTPCPreprocessor.cxx:164
 AliTPCPreprocessor.cxx:165
 AliTPCPreprocessor.cxx:166
 AliTPCPreprocessor.cxx:167
 AliTPCPreprocessor.cxx:168
 AliTPCPreprocessor.cxx:169
 AliTPCPreprocessor.cxx:170
 AliTPCPreprocessor.cxx:171
 AliTPCPreprocessor.cxx:172
 AliTPCPreprocessor.cxx:173
 AliTPCPreprocessor.cxx:174
 AliTPCPreprocessor.cxx:175
 AliTPCPreprocessor.cxx:176
 AliTPCPreprocessor.cxx:177
 AliTPCPreprocessor.cxx:178
 AliTPCPreprocessor.cxx:179
 AliTPCPreprocessor.cxx:180
 AliTPCPreprocessor.cxx:181
 AliTPCPreprocessor.cxx:182
 AliTPCPreprocessor.cxx:183
 AliTPCPreprocessor.cxx:184
 AliTPCPreprocessor.cxx:185
 AliTPCPreprocessor.cxx:186
 AliTPCPreprocessor.cxx:187
 AliTPCPreprocessor.cxx:188
 AliTPCPreprocessor.cxx:189
 AliTPCPreprocessor.cxx:190
 AliTPCPreprocessor.cxx:191
 AliTPCPreprocessor.cxx:192
 AliTPCPreprocessor.cxx:193
 AliTPCPreprocessor.cxx:194
 AliTPCPreprocessor.cxx:195
 AliTPCPreprocessor.cxx:196
 AliTPCPreprocessor.cxx:197
 AliTPCPreprocessor.cxx:198
 AliTPCPreprocessor.cxx:199
 AliTPCPreprocessor.cxx:200
 AliTPCPreprocessor.cxx:201
 AliTPCPreprocessor.cxx:202
 AliTPCPreprocessor.cxx:203
 AliTPCPreprocessor.cxx:204
 AliTPCPreprocessor.cxx:205
 AliTPCPreprocessor.cxx:206
 AliTPCPreprocessor.cxx:207
 AliTPCPreprocessor.cxx:208
 AliTPCPreprocessor.cxx:209
 AliTPCPreprocessor.cxx:210
 AliTPCPreprocessor.cxx:211
 AliTPCPreprocessor.cxx:212
 AliTPCPreprocessor.cxx:213
 AliTPCPreprocessor.cxx:214
 AliTPCPreprocessor.cxx:215
 AliTPCPreprocessor.cxx:216
 AliTPCPreprocessor.cxx:217
 AliTPCPreprocessor.cxx:218
 AliTPCPreprocessor.cxx:219
 AliTPCPreprocessor.cxx:220
 AliTPCPreprocessor.cxx:221
 AliTPCPreprocessor.cxx:222
 AliTPCPreprocessor.cxx:223
 AliTPCPreprocessor.cxx:224
 AliTPCPreprocessor.cxx:225
 AliTPCPreprocessor.cxx:226
 AliTPCPreprocessor.cxx:227
 AliTPCPreprocessor.cxx:228
 AliTPCPreprocessor.cxx:229
 AliTPCPreprocessor.cxx:230
 AliTPCPreprocessor.cxx:231
 AliTPCPreprocessor.cxx:232
 AliTPCPreprocessor.cxx:233
 AliTPCPreprocessor.cxx:234
 AliTPCPreprocessor.cxx:235
 AliTPCPreprocessor.cxx:236
 AliTPCPreprocessor.cxx:237
 AliTPCPreprocessor.cxx:238
 AliTPCPreprocessor.cxx:239
 AliTPCPreprocessor.cxx:240
 AliTPCPreprocessor.cxx:241
 AliTPCPreprocessor.cxx:242
 AliTPCPreprocessor.cxx:243
 AliTPCPreprocessor.cxx:244
 AliTPCPreprocessor.cxx:245
 AliTPCPreprocessor.cxx:246
 AliTPCPreprocessor.cxx:247
 AliTPCPreprocessor.cxx:248
 AliTPCPreprocessor.cxx:249
 AliTPCPreprocessor.cxx:250
 AliTPCPreprocessor.cxx:251
 AliTPCPreprocessor.cxx:252
 AliTPCPreprocessor.cxx:253
 AliTPCPreprocessor.cxx:254
 AliTPCPreprocessor.cxx:255
 AliTPCPreprocessor.cxx:256
 AliTPCPreprocessor.cxx:257
 AliTPCPreprocessor.cxx:258
 AliTPCPreprocessor.cxx:259
 AliTPCPreprocessor.cxx:260
 AliTPCPreprocessor.cxx:261
 AliTPCPreprocessor.cxx:262
 AliTPCPreprocessor.cxx:263
 AliTPCPreprocessor.cxx:264
 AliTPCPreprocessor.cxx:265
 AliTPCPreprocessor.cxx:266
 AliTPCPreprocessor.cxx:267
 AliTPCPreprocessor.cxx:268
 AliTPCPreprocessor.cxx:269
 AliTPCPreprocessor.cxx:270
 AliTPCPreprocessor.cxx:271
 AliTPCPreprocessor.cxx:272
 AliTPCPreprocessor.cxx:273
 AliTPCPreprocessor.cxx:274
 AliTPCPreprocessor.cxx:275
 AliTPCPreprocessor.cxx:276
 AliTPCPreprocessor.cxx:277
 AliTPCPreprocessor.cxx:278
 AliTPCPreprocessor.cxx:279
 AliTPCPreprocessor.cxx:280
 AliTPCPreprocessor.cxx:281
 AliTPCPreprocessor.cxx:282
 AliTPCPreprocessor.cxx:283
 AliTPCPreprocessor.cxx:284
 AliTPCPreprocessor.cxx:285
 AliTPCPreprocessor.cxx:286
 AliTPCPreprocessor.cxx:287
 AliTPCPreprocessor.cxx:288
 AliTPCPreprocessor.cxx:289
 AliTPCPreprocessor.cxx:290
 AliTPCPreprocessor.cxx:291
 AliTPCPreprocessor.cxx:292
 AliTPCPreprocessor.cxx:293
 AliTPCPreprocessor.cxx:294
 AliTPCPreprocessor.cxx:295
 AliTPCPreprocessor.cxx:296
 AliTPCPreprocessor.cxx:297
 AliTPCPreprocessor.cxx:298
 AliTPCPreprocessor.cxx:299
 AliTPCPreprocessor.cxx:300
 AliTPCPreprocessor.cxx:301
 AliTPCPreprocessor.cxx:302
 AliTPCPreprocessor.cxx:303
 AliTPCPreprocessor.cxx:304
 AliTPCPreprocessor.cxx:305
 AliTPCPreprocessor.cxx:306
 AliTPCPreprocessor.cxx:307
 AliTPCPreprocessor.cxx:308
 AliTPCPreprocessor.cxx:309
 AliTPCPreprocessor.cxx:310
 AliTPCPreprocessor.cxx:311
 AliTPCPreprocessor.cxx:312
 AliTPCPreprocessor.cxx:313
 AliTPCPreprocessor.cxx:314
 AliTPCPreprocessor.cxx:315
 AliTPCPreprocessor.cxx:316
 AliTPCPreprocessor.cxx:317
 AliTPCPreprocessor.cxx:318
 AliTPCPreprocessor.cxx:319
 AliTPCPreprocessor.cxx:320
 AliTPCPreprocessor.cxx:321
 AliTPCPreprocessor.cxx:322
 AliTPCPreprocessor.cxx:323
 AliTPCPreprocessor.cxx:324
 AliTPCPreprocessor.cxx:325
 AliTPCPreprocessor.cxx:326
 AliTPCPreprocessor.cxx:327
 AliTPCPreprocessor.cxx:328
 AliTPCPreprocessor.cxx:329
 AliTPCPreprocessor.cxx:330
 AliTPCPreprocessor.cxx:331
 AliTPCPreprocessor.cxx:332
 AliTPCPreprocessor.cxx:333
 AliTPCPreprocessor.cxx:334
 AliTPCPreprocessor.cxx:335
 AliTPCPreprocessor.cxx:336
 AliTPCPreprocessor.cxx:337
 AliTPCPreprocessor.cxx:338
 AliTPCPreprocessor.cxx:339
 AliTPCPreprocessor.cxx:340
 AliTPCPreprocessor.cxx:341
 AliTPCPreprocessor.cxx:342
 AliTPCPreprocessor.cxx:343
 AliTPCPreprocessor.cxx:344
 AliTPCPreprocessor.cxx:345
 AliTPCPreprocessor.cxx:346
 AliTPCPreprocessor.cxx:347
 AliTPCPreprocessor.cxx:348
 AliTPCPreprocessor.cxx:349
 AliTPCPreprocessor.cxx:350
 AliTPCPreprocessor.cxx:351
 AliTPCPreprocessor.cxx:352
 AliTPCPreprocessor.cxx:353
 AliTPCPreprocessor.cxx:354
 AliTPCPreprocessor.cxx:355
 AliTPCPreprocessor.cxx:356
 AliTPCPreprocessor.cxx:357
 AliTPCPreprocessor.cxx:358
 AliTPCPreprocessor.cxx:359
 AliTPCPreprocessor.cxx:360
 AliTPCPreprocessor.cxx:361
 AliTPCPreprocessor.cxx:362
 AliTPCPreprocessor.cxx:363
 AliTPCPreprocessor.cxx:364
 AliTPCPreprocessor.cxx:365
 AliTPCPreprocessor.cxx:366
 AliTPCPreprocessor.cxx:367
 AliTPCPreprocessor.cxx:368
 AliTPCPreprocessor.cxx:369
 AliTPCPreprocessor.cxx:370
 AliTPCPreprocessor.cxx:371
 AliTPCPreprocessor.cxx:372
 AliTPCPreprocessor.cxx:373
 AliTPCPreprocessor.cxx:374
 AliTPCPreprocessor.cxx:375
 AliTPCPreprocessor.cxx:376
 AliTPCPreprocessor.cxx:377
 AliTPCPreprocessor.cxx:378
 AliTPCPreprocessor.cxx:379
 AliTPCPreprocessor.cxx:380
 AliTPCPreprocessor.cxx:381
 AliTPCPreprocessor.cxx:382
 AliTPCPreprocessor.cxx:383
 AliTPCPreprocessor.cxx:384
 AliTPCPreprocessor.cxx:385
 AliTPCPreprocessor.cxx:386
 AliTPCPreprocessor.cxx:387
 AliTPCPreprocessor.cxx:388
 AliTPCPreprocessor.cxx:389
 AliTPCPreprocessor.cxx:390
 AliTPCPreprocessor.cxx:391
 AliTPCPreprocessor.cxx:392
 AliTPCPreprocessor.cxx:393
 AliTPCPreprocessor.cxx:394
 AliTPCPreprocessor.cxx:395
 AliTPCPreprocessor.cxx:396
 AliTPCPreprocessor.cxx:397
 AliTPCPreprocessor.cxx:398
 AliTPCPreprocessor.cxx:399
 AliTPCPreprocessor.cxx:400
 AliTPCPreprocessor.cxx:401
 AliTPCPreprocessor.cxx:402
 AliTPCPreprocessor.cxx:403
 AliTPCPreprocessor.cxx:404
 AliTPCPreprocessor.cxx:405
 AliTPCPreprocessor.cxx:406
 AliTPCPreprocessor.cxx:407
 AliTPCPreprocessor.cxx:408
 AliTPCPreprocessor.cxx:409
 AliTPCPreprocessor.cxx:410
 AliTPCPreprocessor.cxx:411
 AliTPCPreprocessor.cxx:412
 AliTPCPreprocessor.cxx:413
 AliTPCPreprocessor.cxx:414
 AliTPCPreprocessor.cxx:415
 AliTPCPreprocessor.cxx:416
 AliTPCPreprocessor.cxx:417
 AliTPCPreprocessor.cxx:418
 AliTPCPreprocessor.cxx:419
 AliTPCPreprocessor.cxx:420
 AliTPCPreprocessor.cxx:421
 AliTPCPreprocessor.cxx:422
 AliTPCPreprocessor.cxx:423
 AliTPCPreprocessor.cxx:424
 AliTPCPreprocessor.cxx:425
 AliTPCPreprocessor.cxx:426
 AliTPCPreprocessor.cxx:427
 AliTPCPreprocessor.cxx:428
 AliTPCPreprocessor.cxx:429
 AliTPCPreprocessor.cxx:430
 AliTPCPreprocessor.cxx:431
 AliTPCPreprocessor.cxx:432
 AliTPCPreprocessor.cxx:433
 AliTPCPreprocessor.cxx:434
 AliTPCPreprocessor.cxx:435
 AliTPCPreprocessor.cxx:436
 AliTPCPreprocessor.cxx:437
 AliTPCPreprocessor.cxx:438
 AliTPCPreprocessor.cxx:439
 AliTPCPreprocessor.cxx:440
 AliTPCPreprocessor.cxx:441
 AliTPCPreprocessor.cxx:442
 AliTPCPreprocessor.cxx:443
 AliTPCPreprocessor.cxx:444
 AliTPCPreprocessor.cxx:445
 AliTPCPreprocessor.cxx:446
 AliTPCPreprocessor.cxx:447
 AliTPCPreprocessor.cxx:448
 AliTPCPreprocessor.cxx:449
 AliTPCPreprocessor.cxx:450
 AliTPCPreprocessor.cxx:451
 AliTPCPreprocessor.cxx:452
 AliTPCPreprocessor.cxx:453
 AliTPCPreprocessor.cxx:454
 AliTPCPreprocessor.cxx:455
 AliTPCPreprocessor.cxx:456
 AliTPCPreprocessor.cxx:457
 AliTPCPreprocessor.cxx:458
 AliTPCPreprocessor.cxx:459
 AliTPCPreprocessor.cxx:460
 AliTPCPreprocessor.cxx:461
 AliTPCPreprocessor.cxx:462
 AliTPCPreprocessor.cxx:463
 AliTPCPreprocessor.cxx:464
 AliTPCPreprocessor.cxx:465
 AliTPCPreprocessor.cxx:466
 AliTPCPreprocessor.cxx:467
 AliTPCPreprocessor.cxx:468
 AliTPCPreprocessor.cxx:469
 AliTPCPreprocessor.cxx:470
 AliTPCPreprocessor.cxx:471
 AliTPCPreprocessor.cxx:472
 AliTPCPreprocessor.cxx:473
 AliTPCPreprocessor.cxx:474
 AliTPCPreprocessor.cxx:475
 AliTPCPreprocessor.cxx:476
 AliTPCPreprocessor.cxx:477
 AliTPCPreprocessor.cxx:478
 AliTPCPreprocessor.cxx:479
 AliTPCPreprocessor.cxx:480
 AliTPCPreprocessor.cxx:481
 AliTPCPreprocessor.cxx:482
 AliTPCPreprocessor.cxx:483
 AliTPCPreprocessor.cxx:484
 AliTPCPreprocessor.cxx:485
 AliTPCPreprocessor.cxx:486
 AliTPCPreprocessor.cxx:487
 AliTPCPreprocessor.cxx:488
 AliTPCPreprocessor.cxx:489
 AliTPCPreprocessor.cxx:490
 AliTPCPreprocessor.cxx:491
 AliTPCPreprocessor.cxx:492
 AliTPCPreprocessor.cxx:493
 AliTPCPreprocessor.cxx:494
 AliTPCPreprocessor.cxx:495
 AliTPCPreprocessor.cxx:496
 AliTPCPreprocessor.cxx:497
 AliTPCPreprocessor.cxx:498
 AliTPCPreprocessor.cxx:499
 AliTPCPreprocessor.cxx:500
 AliTPCPreprocessor.cxx:501
 AliTPCPreprocessor.cxx:502
 AliTPCPreprocessor.cxx:503
 AliTPCPreprocessor.cxx:504
 AliTPCPreprocessor.cxx:505
 AliTPCPreprocessor.cxx:506
 AliTPCPreprocessor.cxx:507
 AliTPCPreprocessor.cxx:508
 AliTPCPreprocessor.cxx:509
 AliTPCPreprocessor.cxx:510
 AliTPCPreprocessor.cxx:511
 AliTPCPreprocessor.cxx:512
 AliTPCPreprocessor.cxx:513
 AliTPCPreprocessor.cxx:514
 AliTPCPreprocessor.cxx:515
 AliTPCPreprocessor.cxx:516
 AliTPCPreprocessor.cxx:517
 AliTPCPreprocessor.cxx:518
 AliTPCPreprocessor.cxx:519
 AliTPCPreprocessor.cxx:520
 AliTPCPreprocessor.cxx:521
 AliTPCPreprocessor.cxx:522
 AliTPCPreprocessor.cxx:523
 AliTPCPreprocessor.cxx:524
 AliTPCPreprocessor.cxx:525
 AliTPCPreprocessor.cxx:526
 AliTPCPreprocessor.cxx:527
 AliTPCPreprocessor.cxx:528
 AliTPCPreprocessor.cxx:529
 AliTPCPreprocessor.cxx:530
 AliTPCPreprocessor.cxx:531
 AliTPCPreprocessor.cxx:532
 AliTPCPreprocessor.cxx:533
 AliTPCPreprocessor.cxx:534
 AliTPCPreprocessor.cxx:535
 AliTPCPreprocessor.cxx:536
 AliTPCPreprocessor.cxx:537
 AliTPCPreprocessor.cxx:538
 AliTPCPreprocessor.cxx:539
 AliTPCPreprocessor.cxx:540
 AliTPCPreprocessor.cxx:541
 AliTPCPreprocessor.cxx:542
 AliTPCPreprocessor.cxx:543
 AliTPCPreprocessor.cxx:544
 AliTPCPreprocessor.cxx:545
 AliTPCPreprocessor.cxx:546
 AliTPCPreprocessor.cxx:547
 AliTPCPreprocessor.cxx:548
 AliTPCPreprocessor.cxx:549
 AliTPCPreprocessor.cxx:550
 AliTPCPreprocessor.cxx:551
 AliTPCPreprocessor.cxx:552
 AliTPCPreprocessor.cxx:553
 AliTPCPreprocessor.cxx:554
 AliTPCPreprocessor.cxx:555
 AliTPCPreprocessor.cxx:556
 AliTPCPreprocessor.cxx:557
 AliTPCPreprocessor.cxx:558
 AliTPCPreprocessor.cxx:559
 AliTPCPreprocessor.cxx:560
 AliTPCPreprocessor.cxx:561
 AliTPCPreprocessor.cxx:562
 AliTPCPreprocessor.cxx:563
 AliTPCPreprocessor.cxx:564
 AliTPCPreprocessor.cxx:565
 AliTPCPreprocessor.cxx:566
 AliTPCPreprocessor.cxx:567
 AliTPCPreprocessor.cxx:568
 AliTPCPreprocessor.cxx:569
 AliTPCPreprocessor.cxx:570
 AliTPCPreprocessor.cxx:571
 AliTPCPreprocessor.cxx:572
 AliTPCPreprocessor.cxx:573
 AliTPCPreprocessor.cxx:574
 AliTPCPreprocessor.cxx:575
 AliTPCPreprocessor.cxx:576
 AliTPCPreprocessor.cxx:577
 AliTPCPreprocessor.cxx:578
 AliTPCPreprocessor.cxx:579
 AliTPCPreprocessor.cxx:580
 AliTPCPreprocessor.cxx:581
 AliTPCPreprocessor.cxx:582
 AliTPCPreprocessor.cxx:583
 AliTPCPreprocessor.cxx:584
 AliTPCPreprocessor.cxx:585
 AliTPCPreprocessor.cxx:586
 AliTPCPreprocessor.cxx:587
 AliTPCPreprocessor.cxx:588
 AliTPCPreprocessor.cxx:589
 AliTPCPreprocessor.cxx:590
 AliTPCPreprocessor.cxx:591
 AliTPCPreprocessor.cxx:592
 AliTPCPreprocessor.cxx:593
 AliTPCPreprocessor.cxx:594
 AliTPCPreprocessor.cxx:595
 AliTPCPreprocessor.cxx:596
 AliTPCPreprocessor.cxx:597
 AliTPCPreprocessor.cxx:598
 AliTPCPreprocessor.cxx:599
 AliTPCPreprocessor.cxx:600
 AliTPCPreprocessor.cxx:601
 AliTPCPreprocessor.cxx:602
 AliTPCPreprocessor.cxx:603
 AliTPCPreprocessor.cxx:604
 AliTPCPreprocessor.cxx:605
 AliTPCPreprocessor.cxx:606
 AliTPCPreprocessor.cxx:607
 AliTPCPreprocessor.cxx:608
 AliTPCPreprocessor.cxx:609
 AliTPCPreprocessor.cxx:610
 AliTPCPreprocessor.cxx:611
 AliTPCPreprocessor.cxx:612
 AliTPCPreprocessor.cxx:613
 AliTPCPreprocessor.cxx:614
 AliTPCPreprocessor.cxx:615
 AliTPCPreprocessor.cxx:616
 AliTPCPreprocessor.cxx:617
 AliTPCPreprocessor.cxx:618
 AliTPCPreprocessor.cxx:619
 AliTPCPreprocessor.cxx:620
 AliTPCPreprocessor.cxx:621
 AliTPCPreprocessor.cxx:622
 AliTPCPreprocessor.cxx:623
 AliTPCPreprocessor.cxx:624
 AliTPCPreprocessor.cxx:625
 AliTPCPreprocessor.cxx:626
 AliTPCPreprocessor.cxx:627
 AliTPCPreprocessor.cxx:628
 AliTPCPreprocessor.cxx:629
 AliTPCPreprocessor.cxx:630
 AliTPCPreprocessor.cxx:631
 AliTPCPreprocessor.cxx:632
 AliTPCPreprocessor.cxx:633
 AliTPCPreprocessor.cxx:634
 AliTPCPreprocessor.cxx:635
 AliTPCPreprocessor.cxx:636
 AliTPCPreprocessor.cxx:637
 AliTPCPreprocessor.cxx:638
 AliTPCPreprocessor.cxx:639
 AliTPCPreprocessor.cxx:640
 AliTPCPreprocessor.cxx:641
 AliTPCPreprocessor.cxx:642
 AliTPCPreprocessor.cxx:643
 AliTPCPreprocessor.cxx:644
 AliTPCPreprocessor.cxx:645
 AliTPCPreprocessor.cxx:646
 AliTPCPreprocessor.cxx:647
 AliTPCPreprocessor.cxx:648
 AliTPCPreprocessor.cxx:649
 AliTPCPreprocessor.cxx:650
 AliTPCPreprocessor.cxx:651
 AliTPCPreprocessor.cxx:652
 AliTPCPreprocessor.cxx:653
 AliTPCPreprocessor.cxx:654
 AliTPCPreprocessor.cxx:655
 AliTPCPreprocessor.cxx:656
 AliTPCPreprocessor.cxx:657
 AliTPCPreprocessor.cxx:658
 AliTPCPreprocessor.cxx:659
 AliTPCPreprocessor.cxx:660
 AliTPCPreprocessor.cxx:661
 AliTPCPreprocessor.cxx:662
 AliTPCPreprocessor.cxx:663
 AliTPCPreprocessor.cxx:664
 AliTPCPreprocessor.cxx:665
 AliTPCPreprocessor.cxx:666
 AliTPCPreprocessor.cxx:667
 AliTPCPreprocessor.cxx:668
 AliTPCPreprocessor.cxx:669
 AliTPCPreprocessor.cxx:670
 AliTPCPreprocessor.cxx:671
 AliTPCPreprocessor.cxx:672
 AliTPCPreprocessor.cxx:673
 AliTPCPreprocessor.cxx:674
 AliTPCPreprocessor.cxx:675
 AliTPCPreprocessor.cxx:676
 AliTPCPreprocessor.cxx:677
 AliTPCPreprocessor.cxx:678
 AliTPCPreprocessor.cxx:679
 AliTPCPreprocessor.cxx:680
 AliTPCPreprocessor.cxx:681
 AliTPCPreprocessor.cxx:682
 AliTPCPreprocessor.cxx:683
 AliTPCPreprocessor.cxx:684
 AliTPCPreprocessor.cxx:685
 AliTPCPreprocessor.cxx:686
 AliTPCPreprocessor.cxx:687
 AliTPCPreprocessor.cxx:688
 AliTPCPreprocessor.cxx:689
 AliTPCPreprocessor.cxx:690
 AliTPCPreprocessor.cxx:691
 AliTPCPreprocessor.cxx:692
 AliTPCPreprocessor.cxx:693
 AliTPCPreprocessor.cxx:694
 AliTPCPreprocessor.cxx:695
 AliTPCPreprocessor.cxx:696
 AliTPCPreprocessor.cxx:697
 AliTPCPreprocessor.cxx:698
 AliTPCPreprocessor.cxx:699
 AliTPCPreprocessor.cxx:700
 AliTPCPreprocessor.cxx:701
 AliTPCPreprocessor.cxx:702
 AliTPCPreprocessor.cxx:703
 AliTPCPreprocessor.cxx:704
 AliTPCPreprocessor.cxx:705
 AliTPCPreprocessor.cxx:706
 AliTPCPreprocessor.cxx:707
 AliTPCPreprocessor.cxx:708
 AliTPCPreprocessor.cxx:709
 AliTPCPreprocessor.cxx:710
 AliTPCPreprocessor.cxx:711
 AliTPCPreprocessor.cxx:712
 AliTPCPreprocessor.cxx:713
 AliTPCPreprocessor.cxx:714
 AliTPCPreprocessor.cxx:715
 AliTPCPreprocessor.cxx:716
 AliTPCPreprocessor.cxx:717
 AliTPCPreprocessor.cxx:718
 AliTPCPreprocessor.cxx:719
 AliTPCPreprocessor.cxx:720
 AliTPCPreprocessor.cxx:721
 AliTPCPreprocessor.cxx:722
 AliTPCPreprocessor.cxx:723
 AliTPCPreprocessor.cxx:724
 AliTPCPreprocessor.cxx:725
 AliTPCPreprocessor.cxx:726
 AliTPCPreprocessor.cxx:727
 AliTPCPreprocessor.cxx:728
 AliTPCPreprocessor.cxx:729
 AliTPCPreprocessor.cxx:730
 AliTPCPreprocessor.cxx:731
 AliTPCPreprocessor.cxx:732
 AliTPCPreprocessor.cxx:733
 AliTPCPreprocessor.cxx:734
 AliTPCPreprocessor.cxx:735
 AliTPCPreprocessor.cxx:736
 AliTPCPreprocessor.cxx:737
 AliTPCPreprocessor.cxx:738
 AliTPCPreprocessor.cxx:739
 AliTPCPreprocessor.cxx:740
 AliTPCPreprocessor.cxx:741
 AliTPCPreprocessor.cxx:742
 AliTPCPreprocessor.cxx:743
 AliTPCPreprocessor.cxx:744
 AliTPCPreprocessor.cxx:745
 AliTPCPreprocessor.cxx:746
 AliTPCPreprocessor.cxx:747
 AliTPCPreprocessor.cxx:748
 AliTPCPreprocessor.cxx:749
 AliTPCPreprocessor.cxx:750
 AliTPCPreprocessor.cxx:751
 AliTPCPreprocessor.cxx:752
 AliTPCPreprocessor.cxx:753
 AliTPCPreprocessor.cxx:754
 AliTPCPreprocessor.cxx:755
 AliTPCPreprocessor.cxx:756
 AliTPCPreprocessor.cxx:757
 AliTPCPreprocessor.cxx:758
 AliTPCPreprocessor.cxx:759
 AliTPCPreprocessor.cxx:760
 AliTPCPreprocessor.cxx:761
 AliTPCPreprocessor.cxx:762
 AliTPCPreprocessor.cxx:763
 AliTPCPreprocessor.cxx:764
 AliTPCPreprocessor.cxx:765
 AliTPCPreprocessor.cxx:766
 AliTPCPreprocessor.cxx:767
 AliTPCPreprocessor.cxx:768
 AliTPCPreprocessor.cxx:769
 AliTPCPreprocessor.cxx:770
 AliTPCPreprocessor.cxx:771
 AliTPCPreprocessor.cxx:772
 AliTPCPreprocessor.cxx:773
 AliTPCPreprocessor.cxx:774
 AliTPCPreprocessor.cxx:775
 AliTPCPreprocessor.cxx:776
 AliTPCPreprocessor.cxx:777
 AliTPCPreprocessor.cxx:778
 AliTPCPreprocessor.cxx:779
 AliTPCPreprocessor.cxx:780
 AliTPCPreprocessor.cxx:781
 AliTPCPreprocessor.cxx:782
 AliTPCPreprocessor.cxx:783
 AliTPCPreprocessor.cxx:784
 AliTPCPreprocessor.cxx:785
 AliTPCPreprocessor.cxx:786
 AliTPCPreprocessor.cxx:787
 AliTPCPreprocessor.cxx:788
 AliTPCPreprocessor.cxx:789
 AliTPCPreprocessor.cxx:790
 AliTPCPreprocessor.cxx:791
 AliTPCPreprocessor.cxx:792
 AliTPCPreprocessor.cxx:793
 AliTPCPreprocessor.cxx:794
 AliTPCPreprocessor.cxx:795
 AliTPCPreprocessor.cxx:796
 AliTPCPreprocessor.cxx:797
 AliTPCPreprocessor.cxx:798
 AliTPCPreprocessor.cxx:799
 AliTPCPreprocessor.cxx:800
 AliTPCPreprocessor.cxx:801
 AliTPCPreprocessor.cxx:802
 AliTPCPreprocessor.cxx:803
 AliTPCPreprocessor.cxx:804
 AliTPCPreprocessor.cxx:805
 AliTPCPreprocessor.cxx:806
 AliTPCPreprocessor.cxx:807
 AliTPCPreprocessor.cxx:808
 AliTPCPreprocessor.cxx:809
 AliTPCPreprocessor.cxx:810
 AliTPCPreprocessor.cxx:811
 AliTPCPreprocessor.cxx:812
 AliTPCPreprocessor.cxx:813
 AliTPCPreprocessor.cxx:814
 AliTPCPreprocessor.cxx:815
 AliTPCPreprocessor.cxx:816
 AliTPCPreprocessor.cxx:817
 AliTPCPreprocessor.cxx:818
 AliTPCPreprocessor.cxx:819
 AliTPCPreprocessor.cxx:820
 AliTPCPreprocessor.cxx:821
 AliTPCPreprocessor.cxx:822
 AliTPCPreprocessor.cxx:823
 AliTPCPreprocessor.cxx:824
 AliTPCPreprocessor.cxx:825
 AliTPCPreprocessor.cxx:826
 AliTPCPreprocessor.cxx:827
 AliTPCPreprocessor.cxx:828
 AliTPCPreprocessor.cxx:829
 AliTPCPreprocessor.cxx:830
 AliTPCPreprocessor.cxx:831
 AliTPCPreprocessor.cxx:832
 AliTPCPreprocessor.cxx:833
 AliTPCPreprocessor.cxx:834
 AliTPCPreprocessor.cxx:835
 AliTPCPreprocessor.cxx:836
 AliTPCPreprocessor.cxx:837
 AliTPCPreprocessor.cxx:838
 AliTPCPreprocessor.cxx:839
 AliTPCPreprocessor.cxx:840
 AliTPCPreprocessor.cxx:841
 AliTPCPreprocessor.cxx:842
 AliTPCPreprocessor.cxx:843
 AliTPCPreprocessor.cxx:844
 AliTPCPreprocessor.cxx:845
 AliTPCPreprocessor.cxx:846
 AliTPCPreprocessor.cxx:847
 AliTPCPreprocessor.cxx:848
 AliTPCPreprocessor.cxx:849
 AliTPCPreprocessor.cxx:850
 AliTPCPreprocessor.cxx:851
 AliTPCPreprocessor.cxx:852
 AliTPCPreprocessor.cxx:853
 AliTPCPreprocessor.cxx:854
 AliTPCPreprocessor.cxx:855
 AliTPCPreprocessor.cxx:856
 AliTPCPreprocessor.cxx:857
 AliTPCPreprocessor.cxx:858
 AliTPCPreprocessor.cxx:859
 AliTPCPreprocessor.cxx:860
 AliTPCPreprocessor.cxx:861
 AliTPCPreprocessor.cxx:862
 AliTPCPreprocessor.cxx:863
 AliTPCPreprocessor.cxx:864
 AliTPCPreprocessor.cxx:865
 AliTPCPreprocessor.cxx:866
 AliTPCPreprocessor.cxx:867
 AliTPCPreprocessor.cxx:868
 AliTPCPreprocessor.cxx:869
 AliTPCPreprocessor.cxx:870
 AliTPCPreprocessor.cxx:871
 AliTPCPreprocessor.cxx:872
 AliTPCPreprocessor.cxx:873
 AliTPCPreprocessor.cxx:874
 AliTPCPreprocessor.cxx:875
 AliTPCPreprocessor.cxx:876
 AliTPCPreprocessor.cxx:877
 AliTPCPreprocessor.cxx:878
 AliTPCPreprocessor.cxx:879
 AliTPCPreprocessor.cxx:880
 AliTPCPreprocessor.cxx:881
 AliTPCPreprocessor.cxx:882
 AliTPCPreprocessor.cxx:883
 AliTPCPreprocessor.cxx:884
 AliTPCPreprocessor.cxx:885
 AliTPCPreprocessor.cxx:886
 AliTPCPreprocessor.cxx:887
 AliTPCPreprocessor.cxx:888
 AliTPCPreprocessor.cxx:889
 AliTPCPreprocessor.cxx:890
 AliTPCPreprocessor.cxx:891
 AliTPCPreprocessor.cxx:892
 AliTPCPreprocessor.cxx:893
 AliTPCPreprocessor.cxx:894
 AliTPCPreprocessor.cxx:895
 AliTPCPreprocessor.cxx:896
 AliTPCPreprocessor.cxx:897
 AliTPCPreprocessor.cxx:898
 AliTPCPreprocessor.cxx:899
 AliTPCPreprocessor.cxx:900
 AliTPCPreprocessor.cxx:901
 AliTPCPreprocessor.cxx:902
 AliTPCPreprocessor.cxx:903
 AliTPCPreprocessor.cxx:904
 AliTPCPreprocessor.cxx:905
 AliTPCPreprocessor.cxx:906
 AliTPCPreprocessor.cxx:907
 AliTPCPreprocessor.cxx:908
 AliTPCPreprocessor.cxx:909
 AliTPCPreprocessor.cxx:910
 AliTPCPreprocessor.cxx:911
 AliTPCPreprocessor.cxx:912
 AliTPCPreprocessor.cxx:913
 AliTPCPreprocessor.cxx:914
 AliTPCPreprocessor.cxx:915
 AliTPCPreprocessor.cxx:916
 AliTPCPreprocessor.cxx:917
 AliTPCPreprocessor.cxx:918
 AliTPCPreprocessor.cxx:919
 AliTPCPreprocessor.cxx:920
 AliTPCPreprocessor.cxx:921
 AliTPCPreprocessor.cxx:922
 AliTPCPreprocessor.cxx:923
 AliTPCPreprocessor.cxx:924
 AliTPCPreprocessor.cxx:925
 AliTPCPreprocessor.cxx:926
 AliTPCPreprocessor.cxx:927
 AliTPCPreprocessor.cxx:928
 AliTPCPreprocessor.cxx:929
 AliTPCPreprocessor.cxx:930
 AliTPCPreprocessor.cxx:931
 AliTPCPreprocessor.cxx:932
 AliTPCPreprocessor.cxx:933
 AliTPCPreprocessor.cxx:934
 AliTPCPreprocessor.cxx:935
 AliTPCPreprocessor.cxx:936
 AliTPCPreprocessor.cxx:937
 AliTPCPreprocessor.cxx:938
 AliTPCPreprocessor.cxx:939
 AliTPCPreprocessor.cxx:940
 AliTPCPreprocessor.cxx:941
 AliTPCPreprocessor.cxx:942
 AliTPCPreprocessor.cxx:943
 AliTPCPreprocessor.cxx:944
 AliTPCPreprocessor.cxx:945
 AliTPCPreprocessor.cxx:946
 AliTPCPreprocessor.cxx:947
 AliTPCPreprocessor.cxx:948
 AliTPCPreprocessor.cxx:949
 AliTPCPreprocessor.cxx:950
 AliTPCPreprocessor.cxx:951
 AliTPCPreprocessor.cxx:952
 AliTPCPreprocessor.cxx:953
 AliTPCPreprocessor.cxx:954
 AliTPCPreprocessor.cxx:955
 AliTPCPreprocessor.cxx:956
 AliTPCPreprocessor.cxx:957
 AliTPCPreprocessor.cxx:958
 AliTPCPreprocessor.cxx:959
 AliTPCPreprocessor.cxx:960
 AliTPCPreprocessor.cxx:961
 AliTPCPreprocessor.cxx:962
 AliTPCPreprocessor.cxx:963
 AliTPCPreprocessor.cxx:964
 AliTPCPreprocessor.cxx:965
 AliTPCPreprocessor.cxx:966
 AliTPCPreprocessor.cxx:967
 AliTPCPreprocessor.cxx:968
 AliTPCPreprocessor.cxx:969
 AliTPCPreprocessor.cxx:970
 AliTPCPreprocessor.cxx:971
 AliTPCPreprocessor.cxx:972
 AliTPCPreprocessor.cxx:973
 AliTPCPreprocessor.cxx:974
 AliTPCPreprocessor.cxx:975
 AliTPCPreprocessor.cxx:976
 AliTPCPreprocessor.cxx:977
 AliTPCPreprocessor.cxx:978
 AliTPCPreprocessor.cxx:979
 AliTPCPreprocessor.cxx:980
 AliTPCPreprocessor.cxx:981
 AliTPCPreprocessor.cxx:982
 AliTPCPreprocessor.cxx:983
 AliTPCPreprocessor.cxx:984
 AliTPCPreprocessor.cxx:985
 AliTPCPreprocessor.cxx:986
 AliTPCPreprocessor.cxx:987
 AliTPCPreprocessor.cxx:988
 AliTPCPreprocessor.cxx:989
 AliTPCPreprocessor.cxx:990
 AliTPCPreprocessor.cxx:991
 AliTPCPreprocessor.cxx:992
 AliTPCPreprocessor.cxx:993
 AliTPCPreprocessor.cxx:994
 AliTPCPreprocessor.cxx:995
 AliTPCPreprocessor.cxx:996
 AliTPCPreprocessor.cxx:997
 AliTPCPreprocessor.cxx:998
 AliTPCPreprocessor.cxx:999
 AliTPCPreprocessor.cxx:1000
 AliTPCPreprocessor.cxx:1001
 AliTPCPreprocessor.cxx:1002
 AliTPCPreprocessor.cxx:1003
 AliTPCPreprocessor.cxx:1004
 AliTPCPreprocessor.cxx:1005
 AliTPCPreprocessor.cxx:1006
 AliTPCPreprocessor.cxx:1007
 AliTPCPreprocessor.cxx:1008
 AliTPCPreprocessor.cxx:1009
 AliTPCPreprocessor.cxx:1010
 AliTPCPreprocessor.cxx:1011
 AliTPCPreprocessor.cxx:1012
 AliTPCPreprocessor.cxx:1013
 AliTPCPreprocessor.cxx:1014
 AliTPCPreprocessor.cxx:1015
 AliTPCPreprocessor.cxx:1016
 AliTPCPreprocessor.cxx:1017
 AliTPCPreprocessor.cxx:1018
 AliTPCPreprocessor.cxx:1019
 AliTPCPreprocessor.cxx:1020
 AliTPCPreprocessor.cxx:1021
 AliTPCPreprocessor.cxx:1022
 AliTPCPreprocessor.cxx:1023
 AliTPCPreprocessor.cxx:1024
 AliTPCPreprocessor.cxx:1025
 AliTPCPreprocessor.cxx:1026
 AliTPCPreprocessor.cxx:1027
 AliTPCPreprocessor.cxx:1028
 AliTPCPreprocessor.cxx:1029
 AliTPCPreprocessor.cxx:1030
 AliTPCPreprocessor.cxx:1031
 AliTPCPreprocessor.cxx:1032
 AliTPCPreprocessor.cxx:1033
 AliTPCPreprocessor.cxx:1034
 AliTPCPreprocessor.cxx:1035
 AliTPCPreprocessor.cxx:1036
 AliTPCPreprocessor.cxx:1037
 AliTPCPreprocessor.cxx:1038
 AliTPCPreprocessor.cxx:1039
 AliTPCPreprocessor.cxx:1040
 AliTPCPreprocessor.cxx:1041
 AliTPCPreprocessor.cxx:1042
 AliTPCPreprocessor.cxx:1043
 AliTPCPreprocessor.cxx:1044
 AliTPCPreprocessor.cxx:1045
 AliTPCPreprocessor.cxx:1046
 AliTPCPreprocessor.cxx:1047
 AliTPCPreprocessor.cxx:1048
 AliTPCPreprocessor.cxx:1049
 AliTPCPreprocessor.cxx:1050
 AliTPCPreprocessor.cxx:1051
 AliTPCPreprocessor.cxx:1052
 AliTPCPreprocessor.cxx:1053
 AliTPCPreprocessor.cxx:1054
 AliTPCPreprocessor.cxx:1055
 AliTPCPreprocessor.cxx:1056
 AliTPCPreprocessor.cxx:1057
 AliTPCPreprocessor.cxx:1058
 AliTPCPreprocessor.cxx:1059
 AliTPCPreprocessor.cxx:1060
 AliTPCPreprocessor.cxx:1061
 AliTPCPreprocessor.cxx:1062
 AliTPCPreprocessor.cxx:1063
 AliTPCPreprocessor.cxx:1064
 AliTPCPreprocessor.cxx:1065
 AliTPCPreprocessor.cxx:1066
 AliTPCPreprocessor.cxx:1067
 AliTPCPreprocessor.cxx:1068
 AliTPCPreprocessor.cxx:1069
 AliTPCPreprocessor.cxx:1070
 AliTPCPreprocessor.cxx:1071
 AliTPCPreprocessor.cxx:1072
 AliTPCPreprocessor.cxx:1073
 AliTPCPreprocessor.cxx:1074
 AliTPCPreprocessor.cxx:1075
 AliTPCPreprocessor.cxx:1076
 AliTPCPreprocessor.cxx:1077
 AliTPCPreprocessor.cxx:1078
 AliTPCPreprocessor.cxx:1079
 AliTPCPreprocessor.cxx:1080
 AliTPCPreprocessor.cxx:1081
 AliTPCPreprocessor.cxx:1082
 AliTPCPreprocessor.cxx:1083
 AliTPCPreprocessor.cxx:1084
 AliTPCPreprocessor.cxx:1085
 AliTPCPreprocessor.cxx:1086
 AliTPCPreprocessor.cxx:1087
 AliTPCPreprocessor.cxx:1088
 AliTPCPreprocessor.cxx:1089
 AliTPCPreprocessor.cxx:1090
 AliTPCPreprocessor.cxx:1091
 AliTPCPreprocessor.cxx:1092
 AliTPCPreprocessor.cxx:1093
 AliTPCPreprocessor.cxx:1094
 AliTPCPreprocessor.cxx:1095
 AliTPCPreprocessor.cxx:1096
 AliTPCPreprocessor.cxx:1097
 AliTPCPreprocessor.cxx:1098
 AliTPCPreprocessor.cxx:1099
 AliTPCPreprocessor.cxx:1100
 AliTPCPreprocessor.cxx:1101
 AliTPCPreprocessor.cxx:1102
 AliTPCPreprocessor.cxx:1103
 AliTPCPreprocessor.cxx:1104
 AliTPCPreprocessor.cxx:1105
 AliTPCPreprocessor.cxx:1106
 AliTPCPreprocessor.cxx:1107
 AliTPCPreprocessor.cxx:1108
 AliTPCPreprocessor.cxx:1109
 AliTPCPreprocessor.cxx:1110
 AliTPCPreprocessor.cxx:1111
 AliTPCPreprocessor.cxx:1112
 AliTPCPreprocessor.cxx:1113
 AliTPCPreprocessor.cxx:1114
 AliTPCPreprocessor.cxx:1115
 AliTPCPreprocessor.cxx:1116
 AliTPCPreprocessor.cxx:1117
 AliTPCPreprocessor.cxx:1118
 AliTPCPreprocessor.cxx:1119
 AliTPCPreprocessor.cxx:1120
 AliTPCPreprocessor.cxx:1121
 AliTPCPreprocessor.cxx:1122
 AliTPCPreprocessor.cxx:1123
 AliTPCPreprocessor.cxx:1124
 AliTPCPreprocessor.cxx:1125
 AliTPCPreprocessor.cxx:1126
 AliTPCPreprocessor.cxx:1127
 AliTPCPreprocessor.cxx:1128
 AliTPCPreprocessor.cxx:1129
 AliTPCPreprocessor.cxx:1130
 AliTPCPreprocessor.cxx:1131
 AliTPCPreprocessor.cxx:1132
 AliTPCPreprocessor.cxx:1133
 AliTPCPreprocessor.cxx:1134
 AliTPCPreprocessor.cxx:1135
 AliTPCPreprocessor.cxx:1136
 AliTPCPreprocessor.cxx:1137
 AliTPCPreprocessor.cxx:1138
 AliTPCPreprocessor.cxx:1139
 AliTPCPreprocessor.cxx:1140
 AliTPCPreprocessor.cxx:1141
 AliTPCPreprocessor.cxx:1142
 AliTPCPreprocessor.cxx:1143
 AliTPCPreprocessor.cxx:1144
 AliTPCPreprocessor.cxx:1145
 AliTPCPreprocessor.cxx:1146
 AliTPCPreprocessor.cxx:1147
 AliTPCPreprocessor.cxx:1148
 AliTPCPreprocessor.cxx:1149
 AliTPCPreprocessor.cxx:1150
 AliTPCPreprocessor.cxx:1151
 AliTPCPreprocessor.cxx:1152
 AliTPCPreprocessor.cxx:1153
 AliTPCPreprocessor.cxx:1154
 AliTPCPreprocessor.cxx:1155
 AliTPCPreprocessor.cxx:1156
 AliTPCPreprocessor.cxx:1157
 AliTPCPreprocessor.cxx:1158
 AliTPCPreprocessor.cxx:1159
 AliTPCPreprocessor.cxx:1160
 AliTPCPreprocessor.cxx:1161
 AliTPCPreprocessor.cxx:1162
 AliTPCPreprocessor.cxx:1163
 AliTPCPreprocessor.cxx:1164
 AliTPCPreprocessor.cxx:1165
 AliTPCPreprocessor.cxx:1166
 AliTPCPreprocessor.cxx:1167
 AliTPCPreprocessor.cxx:1168
 AliTPCPreprocessor.cxx:1169
 AliTPCPreprocessor.cxx:1170
 AliTPCPreprocessor.cxx:1171
 AliTPCPreprocessor.cxx:1172
 AliTPCPreprocessor.cxx:1173
 AliTPCPreprocessor.cxx:1174
 AliTPCPreprocessor.cxx:1175
 AliTPCPreprocessor.cxx:1176
 AliTPCPreprocessor.cxx:1177
 AliTPCPreprocessor.cxx:1178
 AliTPCPreprocessor.cxx:1179
 AliTPCPreprocessor.cxx:1180
 AliTPCPreprocessor.cxx:1181
 AliTPCPreprocessor.cxx:1182
 AliTPCPreprocessor.cxx:1183
 AliTPCPreprocessor.cxx:1184
 AliTPCPreprocessor.cxx:1185
 AliTPCPreprocessor.cxx:1186
 AliTPCPreprocessor.cxx:1187
 AliTPCPreprocessor.cxx:1188
 AliTPCPreprocessor.cxx:1189
 AliTPCPreprocessor.cxx:1190
 AliTPCPreprocessor.cxx:1191
 AliTPCPreprocessor.cxx:1192
 AliTPCPreprocessor.cxx:1193
 AliTPCPreprocessor.cxx:1194
 AliTPCPreprocessor.cxx:1195
 AliTPCPreprocessor.cxx:1196
 AliTPCPreprocessor.cxx:1197
 AliTPCPreprocessor.cxx:1198
 AliTPCPreprocessor.cxx:1199
 AliTPCPreprocessor.cxx:1200
 AliTPCPreprocessor.cxx:1201
 AliTPCPreprocessor.cxx:1202
 AliTPCPreprocessor.cxx:1203
 AliTPCPreprocessor.cxx:1204
 AliTPCPreprocessor.cxx:1205
 AliTPCPreprocessor.cxx:1206
 AliTPCPreprocessor.cxx:1207
 AliTPCPreprocessor.cxx:1208
 AliTPCPreprocessor.cxx:1209
 AliTPCPreprocessor.cxx:1210
 AliTPCPreprocessor.cxx:1211
 AliTPCPreprocessor.cxx:1212
 AliTPCPreprocessor.cxx:1213
 AliTPCPreprocessor.cxx:1214
 AliTPCPreprocessor.cxx:1215
 AliTPCPreprocessor.cxx:1216
 AliTPCPreprocessor.cxx:1217
 AliTPCPreprocessor.cxx:1218
 AliTPCPreprocessor.cxx:1219
 AliTPCPreprocessor.cxx:1220
 AliTPCPreprocessor.cxx:1221
 AliTPCPreprocessor.cxx:1222
 AliTPCPreprocessor.cxx:1223
 AliTPCPreprocessor.cxx:1224
 AliTPCPreprocessor.cxx:1225
 AliTPCPreprocessor.cxx:1226
 AliTPCPreprocessor.cxx:1227
 AliTPCPreprocessor.cxx:1228
 AliTPCPreprocessor.cxx:1229
 AliTPCPreprocessor.cxx:1230
 AliTPCPreprocessor.cxx:1231
 AliTPCPreprocessor.cxx:1232
 AliTPCPreprocessor.cxx:1233
 AliTPCPreprocessor.cxx:1234
 AliTPCPreprocessor.cxx:1235
 AliTPCPreprocessor.cxx:1236
 AliTPCPreprocessor.cxx:1237
 AliTPCPreprocessor.cxx:1238
 AliTPCPreprocessor.cxx:1239
 AliTPCPreprocessor.cxx:1240
 AliTPCPreprocessor.cxx:1241
 AliTPCPreprocessor.cxx:1242
 AliTPCPreprocessor.cxx:1243
 AliTPCPreprocessor.cxx:1244
 AliTPCPreprocessor.cxx:1245
 AliTPCPreprocessor.cxx:1246
 AliTPCPreprocessor.cxx:1247
 AliTPCPreprocessor.cxx:1248
 AliTPCPreprocessor.cxx:1249
 AliTPCPreprocessor.cxx:1250
 AliTPCPreprocessor.cxx:1251
 AliTPCPreprocessor.cxx:1252
 AliTPCPreprocessor.cxx:1253
 AliTPCPreprocessor.cxx:1254
 AliTPCPreprocessor.cxx:1255
 AliTPCPreprocessor.cxx:1256
 AliTPCPreprocessor.cxx:1257
 AliTPCPreprocessor.cxx:1258
 AliTPCPreprocessor.cxx:1259
 AliTPCPreprocessor.cxx:1260
 AliTPCPreprocessor.cxx:1261
 AliTPCPreprocessor.cxx:1262
 AliTPCPreprocessor.cxx:1263
 AliTPCPreprocessor.cxx:1264
 AliTPCPreprocessor.cxx:1265
 AliTPCPreprocessor.cxx:1266
 AliTPCPreprocessor.cxx:1267
 AliTPCPreprocessor.cxx:1268
 AliTPCPreprocessor.cxx:1269
 AliTPCPreprocessor.cxx:1270
 AliTPCPreprocessor.cxx:1271
 AliTPCPreprocessor.cxx:1272
 AliTPCPreprocessor.cxx:1273
 AliTPCPreprocessor.cxx:1274
 AliTPCPreprocessor.cxx:1275
 AliTPCPreprocessor.cxx:1276
 AliTPCPreprocessor.cxx:1277
 AliTPCPreprocessor.cxx:1278
 AliTPCPreprocessor.cxx:1279
 AliTPCPreprocessor.cxx:1280
 AliTPCPreprocessor.cxx:1281
 AliTPCPreprocessor.cxx:1282
 AliTPCPreprocessor.cxx:1283
 AliTPCPreprocessor.cxx:1284
 AliTPCPreprocessor.cxx:1285
 AliTPCPreprocessor.cxx:1286
 AliTPCPreprocessor.cxx:1287
 AliTPCPreprocessor.cxx:1288
 AliTPCPreprocessor.cxx:1289
 AliTPCPreprocessor.cxx:1290
 AliTPCPreprocessor.cxx:1291
 AliTPCPreprocessor.cxx:1292
 AliTPCPreprocessor.cxx:1293
 AliTPCPreprocessor.cxx:1294
 AliTPCPreprocessor.cxx:1295
 AliTPCPreprocessor.cxx:1296
 AliTPCPreprocessor.cxx:1297
 AliTPCPreprocessor.cxx:1298
 AliTPCPreprocessor.cxx:1299
 AliTPCPreprocessor.cxx:1300
 AliTPCPreprocessor.cxx:1301
 AliTPCPreprocessor.cxx:1302
 AliTPCPreprocessor.cxx:1303
 AliTPCPreprocessor.cxx:1304
 AliTPCPreprocessor.cxx:1305
 AliTPCPreprocessor.cxx:1306
 AliTPCPreprocessor.cxx:1307
 AliTPCPreprocessor.cxx:1308
 AliTPCPreprocessor.cxx:1309
 AliTPCPreprocessor.cxx:1310
 AliTPCPreprocessor.cxx:1311
 AliTPCPreprocessor.cxx:1312
 AliTPCPreprocessor.cxx:1313
 AliTPCPreprocessor.cxx:1314
 AliTPCPreprocessor.cxx:1315
 AliTPCPreprocessor.cxx:1316
 AliTPCPreprocessor.cxx:1317
 AliTPCPreprocessor.cxx:1318
 AliTPCPreprocessor.cxx:1319
 AliTPCPreprocessor.cxx:1320
 AliTPCPreprocessor.cxx:1321
 AliTPCPreprocessor.cxx:1322
 AliTPCPreprocessor.cxx:1323
 AliTPCPreprocessor.cxx:1324
 AliTPCPreprocessor.cxx:1325
 AliTPCPreprocessor.cxx:1326
 AliTPCPreprocessor.cxx:1327
 AliTPCPreprocessor.cxx:1328
 AliTPCPreprocessor.cxx:1329
 AliTPCPreprocessor.cxx:1330
 AliTPCPreprocessor.cxx:1331
 AliTPCPreprocessor.cxx:1332
 AliTPCPreprocessor.cxx:1333
 AliTPCPreprocessor.cxx:1334
 AliTPCPreprocessor.cxx:1335
 AliTPCPreprocessor.cxx:1336
 AliTPCPreprocessor.cxx:1337
 AliTPCPreprocessor.cxx:1338
 AliTPCPreprocessor.cxx:1339
 AliTPCPreprocessor.cxx:1340
 AliTPCPreprocessor.cxx:1341
 AliTPCPreprocessor.cxx:1342
 AliTPCPreprocessor.cxx:1343
 AliTPCPreprocessor.cxx:1344
 AliTPCPreprocessor.cxx:1345
 AliTPCPreprocessor.cxx:1346
 AliTPCPreprocessor.cxx:1347
 AliTPCPreprocessor.cxx:1348
 AliTPCPreprocessor.cxx:1349
 AliTPCPreprocessor.cxx:1350
 AliTPCPreprocessor.cxx:1351
 AliTPCPreprocessor.cxx:1352
 AliTPCPreprocessor.cxx:1353
 AliTPCPreprocessor.cxx:1354
 AliTPCPreprocessor.cxx:1355
 AliTPCPreprocessor.cxx:1356
 AliTPCPreprocessor.cxx:1357
 AliTPCPreprocessor.cxx:1358
 AliTPCPreprocessor.cxx:1359
 AliTPCPreprocessor.cxx:1360
 AliTPCPreprocessor.cxx:1361
 AliTPCPreprocessor.cxx:1362
 AliTPCPreprocessor.cxx:1363
 AliTPCPreprocessor.cxx:1364
 AliTPCPreprocessor.cxx:1365
 AliTPCPreprocessor.cxx:1366
 AliTPCPreprocessor.cxx:1367
 AliTPCPreprocessor.cxx:1368
 AliTPCPreprocessor.cxx:1369
 AliTPCPreprocessor.cxx:1370
 AliTPCPreprocessor.cxx:1371
 AliTPCPreprocessor.cxx:1372
 AliTPCPreprocessor.cxx:1373
 AliTPCPreprocessor.cxx:1374
 AliTPCPreprocessor.cxx:1375
 AliTPCPreprocessor.cxx:1376
 AliTPCPreprocessor.cxx:1377
 AliTPCPreprocessor.cxx:1378
 AliTPCPreprocessor.cxx:1379
 AliTPCPreprocessor.cxx:1380
 AliTPCPreprocessor.cxx:1381
 AliTPCPreprocessor.cxx:1382
 AliTPCPreprocessor.cxx:1383
 AliTPCPreprocessor.cxx:1384
 AliTPCPreprocessor.cxx:1385
 AliTPCPreprocessor.cxx:1386
 AliTPCPreprocessor.cxx:1387
 AliTPCPreprocessor.cxx:1388
 AliTPCPreprocessor.cxx:1389
 AliTPCPreprocessor.cxx:1390
 AliTPCPreprocessor.cxx:1391
 AliTPCPreprocessor.cxx:1392
 AliTPCPreprocessor.cxx:1393
 AliTPCPreprocessor.cxx:1394
 AliTPCPreprocessor.cxx:1395
 AliTPCPreprocessor.cxx:1396
 AliTPCPreprocessor.cxx:1397
 AliTPCPreprocessor.cxx:1398
 AliTPCPreprocessor.cxx:1399
 AliTPCPreprocessor.cxx:1400
 AliTPCPreprocessor.cxx:1401
 AliTPCPreprocessor.cxx:1402
 AliTPCPreprocessor.cxx:1403
 AliTPCPreprocessor.cxx:1404
 AliTPCPreprocessor.cxx:1405
 AliTPCPreprocessor.cxx:1406
 AliTPCPreprocessor.cxx:1407
 AliTPCPreprocessor.cxx:1408
 AliTPCPreprocessor.cxx:1409
 AliTPCPreprocessor.cxx:1410
 AliTPCPreprocessor.cxx:1411
 AliTPCPreprocessor.cxx:1412
 AliTPCPreprocessor.cxx:1413
 AliTPCPreprocessor.cxx:1414
 AliTPCPreprocessor.cxx:1415
 AliTPCPreprocessor.cxx:1416
 AliTPCPreprocessor.cxx:1417
 AliTPCPreprocessor.cxx:1418
 AliTPCPreprocessor.cxx:1419
 AliTPCPreprocessor.cxx:1420
 AliTPCPreprocessor.cxx:1421
 AliTPCPreprocessor.cxx:1422
 AliTPCPreprocessor.cxx:1423
 AliTPCPreprocessor.cxx:1424
 AliTPCPreprocessor.cxx:1425
 AliTPCPreprocessor.cxx:1426
 AliTPCPreprocessor.cxx:1427
 AliTPCPreprocessor.cxx:1428
 AliTPCPreprocessor.cxx:1429
 AliTPCPreprocessor.cxx:1430
 AliTPCPreprocessor.cxx:1431
 AliTPCPreprocessor.cxx:1432
 AliTPCPreprocessor.cxx:1433
 AliTPCPreprocessor.cxx:1434
 AliTPCPreprocessor.cxx:1435
 AliTPCPreprocessor.cxx:1436
 AliTPCPreprocessor.cxx:1437
 AliTPCPreprocessor.cxx:1438
 AliTPCPreprocessor.cxx:1439
 AliTPCPreprocessor.cxx:1440
 AliTPCPreprocessor.cxx:1441
 AliTPCPreprocessor.cxx:1442
 AliTPCPreprocessor.cxx:1443
 AliTPCPreprocessor.cxx:1444
 AliTPCPreprocessor.cxx:1445
 AliTPCPreprocessor.cxx:1446
 AliTPCPreprocessor.cxx:1447
 AliTPCPreprocessor.cxx:1448
 AliTPCPreprocessor.cxx:1449
 AliTPCPreprocessor.cxx:1450
 AliTPCPreprocessor.cxx:1451
 AliTPCPreprocessor.cxx:1452
 AliTPCPreprocessor.cxx:1453
 AliTPCPreprocessor.cxx:1454
 AliTPCPreprocessor.cxx:1455
 AliTPCPreprocessor.cxx:1456
 AliTPCPreprocessor.cxx:1457
 AliTPCPreprocessor.cxx:1458
 AliTPCPreprocessor.cxx:1459
 AliTPCPreprocessor.cxx:1460
 AliTPCPreprocessor.cxx:1461
 AliTPCPreprocessor.cxx:1462
 AliTPCPreprocessor.cxx:1463
 AliTPCPreprocessor.cxx:1464
 AliTPCPreprocessor.cxx:1465
 AliTPCPreprocessor.cxx:1466
 AliTPCPreprocessor.cxx:1467
 AliTPCPreprocessor.cxx:1468
 AliTPCPreprocessor.cxx:1469
 AliTPCPreprocessor.cxx:1470
 AliTPCPreprocessor.cxx:1471
 AliTPCPreprocessor.cxx:1472
 AliTPCPreprocessor.cxx:1473
 AliTPCPreprocessor.cxx:1474
 AliTPCPreprocessor.cxx:1475
 AliTPCPreprocessor.cxx:1476
 AliTPCPreprocessor.cxx:1477
 AliTPCPreprocessor.cxx:1478
 AliTPCPreprocessor.cxx:1479
 AliTPCPreprocessor.cxx:1480
 AliTPCPreprocessor.cxx:1481
 AliTPCPreprocessor.cxx:1482
 AliTPCPreprocessor.cxx:1483
 AliTPCPreprocessor.cxx:1484
 AliTPCPreprocessor.cxx:1485
 AliTPCPreprocessor.cxx:1486
 AliTPCPreprocessor.cxx:1487
 AliTPCPreprocessor.cxx:1488
 AliTPCPreprocessor.cxx:1489
 AliTPCPreprocessor.cxx:1490
 AliTPCPreprocessor.cxx:1491
 AliTPCPreprocessor.cxx:1492
 AliTPCPreprocessor.cxx:1493
 AliTPCPreprocessor.cxx:1494
 AliTPCPreprocessor.cxx:1495
 AliTPCPreprocessor.cxx:1496
 AliTPCPreprocessor.cxx:1497
 AliTPCPreprocessor.cxx:1498
 AliTPCPreprocessor.cxx:1499
 AliTPCPreprocessor.cxx:1500
 AliTPCPreprocessor.cxx:1501
 AliTPCPreprocessor.cxx:1502
 AliTPCPreprocessor.cxx:1503
 AliTPCPreprocessor.cxx:1504
 AliTPCPreprocessor.cxx:1505
 AliTPCPreprocessor.cxx:1506
 AliTPCPreprocessor.cxx:1507
 AliTPCPreprocessor.cxx:1508
 AliTPCPreprocessor.cxx:1509
 AliTPCPreprocessor.cxx:1510
 AliTPCPreprocessor.cxx:1511
 AliTPCPreprocessor.cxx:1512
 AliTPCPreprocessor.cxx:1513
 AliTPCPreprocessor.cxx:1514
 AliTPCPreprocessor.cxx:1515
 AliTPCPreprocessor.cxx:1516
 AliTPCPreprocessor.cxx:1517
 AliTPCPreprocessor.cxx:1518
 AliTPCPreprocessor.cxx:1519
 AliTPCPreprocessor.cxx:1520
 AliTPCPreprocessor.cxx:1521
 AliTPCPreprocessor.cxx:1522
 AliTPCPreprocessor.cxx:1523
 AliTPCPreprocessor.cxx:1524
 AliTPCPreprocessor.cxx:1525
 AliTPCPreprocessor.cxx:1526
 AliTPCPreprocessor.cxx:1527
 AliTPCPreprocessor.cxx:1528
 AliTPCPreprocessor.cxx:1529
 AliTPCPreprocessor.cxx:1530
 AliTPCPreprocessor.cxx:1531
 AliTPCPreprocessor.cxx:1532
 AliTPCPreprocessor.cxx:1533
 AliTPCPreprocessor.cxx:1534
 AliTPCPreprocessor.cxx:1535
 AliTPCPreprocessor.cxx:1536
 AliTPCPreprocessor.cxx:1537
 AliTPCPreprocessor.cxx:1538
 AliTPCPreprocessor.cxx:1539
 AliTPCPreprocessor.cxx:1540
 AliTPCPreprocessor.cxx:1541
 AliTPCPreprocessor.cxx:1542
 AliTPCPreprocessor.cxx:1543
 AliTPCPreprocessor.cxx:1544
 AliTPCPreprocessor.cxx:1545
 AliTPCPreprocessor.cxx:1546
 AliTPCPreprocessor.cxx:1547
 AliTPCPreprocessor.cxx:1548
 AliTPCPreprocessor.cxx:1549
 AliTPCPreprocessor.cxx:1550
 AliTPCPreprocessor.cxx:1551
 AliTPCPreprocessor.cxx:1552
 AliTPCPreprocessor.cxx:1553
 AliTPCPreprocessor.cxx:1554
 AliTPCPreprocessor.cxx:1555
 AliTPCPreprocessor.cxx:1556
 AliTPCPreprocessor.cxx:1557
 AliTPCPreprocessor.cxx:1558
 AliTPCPreprocessor.cxx:1559
 AliTPCPreprocessor.cxx:1560
 AliTPCPreprocessor.cxx:1561
 AliTPCPreprocessor.cxx:1562
 AliTPCPreprocessor.cxx:1563
 AliTPCPreprocessor.cxx:1564
 AliTPCPreprocessor.cxx:1565
 AliTPCPreprocessor.cxx:1566
 AliTPCPreprocessor.cxx:1567
 AliTPCPreprocessor.cxx:1568
 AliTPCPreprocessor.cxx:1569
 AliTPCPreprocessor.cxx:1570
 AliTPCPreprocessor.cxx:1571
 AliTPCPreprocessor.cxx:1572
 AliTPCPreprocessor.cxx:1573
 AliTPCPreprocessor.cxx:1574
 AliTPCPreprocessor.cxx:1575
 AliTPCPreprocessor.cxx:1576
 AliTPCPreprocessor.cxx:1577
 AliTPCPreprocessor.cxx:1578
 AliTPCPreprocessor.cxx:1579
 AliTPCPreprocessor.cxx:1580
 AliTPCPreprocessor.cxx:1581
 AliTPCPreprocessor.cxx:1582
 AliTPCPreprocessor.cxx:1583
 AliTPCPreprocessor.cxx:1584
 AliTPCPreprocessor.cxx:1585
 AliTPCPreprocessor.cxx:1586
 AliTPCPreprocessor.cxx:1587
 AliTPCPreprocessor.cxx:1588
 AliTPCPreprocessor.cxx:1589
 AliTPCPreprocessor.cxx:1590
 AliTPCPreprocessor.cxx:1591
 AliTPCPreprocessor.cxx:1592
 AliTPCPreprocessor.cxx:1593
 AliTPCPreprocessor.cxx:1594
 AliTPCPreprocessor.cxx:1595
 AliTPCPreprocessor.cxx:1596
 AliTPCPreprocessor.cxx:1597
 AliTPCPreprocessor.cxx:1598
 AliTPCPreprocessor.cxx:1599
 AliTPCPreprocessor.cxx:1600
 AliTPCPreprocessor.cxx:1601
 AliTPCPreprocessor.cxx:1602
 AliTPCPreprocessor.cxx:1603
 AliTPCPreprocessor.cxx:1604
 AliTPCPreprocessor.cxx:1605
 AliTPCPreprocessor.cxx:1606
 AliTPCPreprocessor.cxx:1607
 AliTPCPreprocessor.cxx:1608
 AliTPCPreprocessor.cxx:1609
 AliTPCPreprocessor.cxx:1610
 AliTPCPreprocessor.cxx:1611
 AliTPCPreprocessor.cxx:1612
 AliTPCPreprocessor.cxx:1613
 AliTPCPreprocessor.cxx:1614
 AliTPCPreprocessor.cxx:1615
 AliTPCPreprocessor.cxx:1616
 AliTPCPreprocessor.cxx:1617
 AliTPCPreprocessor.cxx:1618
 AliTPCPreprocessor.cxx:1619
 AliTPCPreprocessor.cxx:1620
 AliTPCPreprocessor.cxx:1621
 AliTPCPreprocessor.cxx:1622
 AliTPCPreprocessor.cxx:1623
 AliTPCPreprocessor.cxx:1624
 AliTPCPreprocessor.cxx:1625
 AliTPCPreprocessor.cxx:1626
 AliTPCPreprocessor.cxx:1627
 AliTPCPreprocessor.cxx:1628
 AliTPCPreprocessor.cxx:1629
 AliTPCPreprocessor.cxx:1630
 AliTPCPreprocessor.cxx:1631
 AliTPCPreprocessor.cxx:1632
 AliTPCPreprocessor.cxx:1633
 AliTPCPreprocessor.cxx:1634
 AliTPCPreprocessor.cxx:1635
 AliTPCPreprocessor.cxx:1636
 AliTPCPreprocessor.cxx:1637
 AliTPCPreprocessor.cxx:1638
 AliTPCPreprocessor.cxx:1639
 AliTPCPreprocessor.cxx:1640
 AliTPCPreprocessor.cxx:1641
 AliTPCPreprocessor.cxx:1642
 AliTPCPreprocessor.cxx:1643
 AliTPCPreprocessor.cxx:1644
 AliTPCPreprocessor.cxx:1645
 AliTPCPreprocessor.cxx:1646
 AliTPCPreprocessor.cxx:1647
 AliTPCPreprocessor.cxx:1648
 AliTPCPreprocessor.cxx:1649
 AliTPCPreprocessor.cxx:1650
 AliTPCPreprocessor.cxx:1651
 AliTPCPreprocessor.cxx:1652
 AliTPCPreprocessor.cxx:1653
 AliTPCPreprocessor.cxx:1654
 AliTPCPreprocessor.cxx:1655
 AliTPCPreprocessor.cxx:1656
 AliTPCPreprocessor.cxx:1657
 AliTPCPreprocessor.cxx:1658
 AliTPCPreprocessor.cxx:1659
 AliTPCPreprocessor.cxx:1660
 AliTPCPreprocessor.cxx:1661
 AliTPCPreprocessor.cxx:1662
 AliTPCPreprocessor.cxx:1663
 AliTPCPreprocessor.cxx:1664
 AliTPCPreprocessor.cxx:1665
 AliTPCPreprocessor.cxx:1666
 AliTPCPreprocessor.cxx:1667
 AliTPCPreprocessor.cxx:1668
 AliTPCPreprocessor.cxx:1669
 AliTPCPreprocessor.cxx:1670
 AliTPCPreprocessor.cxx:1671
 AliTPCPreprocessor.cxx:1672
 AliTPCPreprocessor.cxx:1673
 AliTPCPreprocessor.cxx:1674
 AliTPCPreprocessor.cxx:1675
 AliTPCPreprocessor.cxx:1676
 AliTPCPreprocessor.cxx:1677
 AliTPCPreprocessor.cxx:1678
 AliTPCPreprocessor.cxx:1679
 AliTPCPreprocessor.cxx:1680
 AliTPCPreprocessor.cxx:1681
 AliTPCPreprocessor.cxx:1682
 AliTPCPreprocessor.cxx:1683
 AliTPCPreprocessor.cxx:1684
 AliTPCPreprocessor.cxx:1685
 AliTPCPreprocessor.cxx:1686