ROOT logo
/***************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/*********************************************
 
 *   PMD Preproccessor Source Code      *
    
    
     0 --> Run Successesfully
     1 --> No pmd Alias is available
 
**********************************************/
 

#include <TFile.h>
#include <TTimeStamp.h>
#include <TObjString.h>
#include <TTree.h>

#include "AliLog.h"
#include "AliShuttleInterface.h"
#include "AliCDBMetaData.h"
#include "AliPMDCalibData.h"
#include "AliPMDHotData.h"
#include "AliPMDMeanSm.h"
#include "AliPMDPedestal.h"
#include "AliPMDPreprocessor.h"

ClassImp(AliPMDPreprocessor)

AliPMDPreprocessor::AliPMDPreprocessor(AliShuttleInterface* shuttle) :
  AliPreprocessor("PMD", shuttle)
{
  AddRunType("PHYSICS");
  AddRunType("PEDESTAL");
}

//________________________________________________________ 
AliPMDPreprocessor::~AliPMDPreprocessor()
{
  
}

//________________________________________________________ 
void AliPMDPreprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t endTime)
{
  AliPreprocessor::Initialize(run, startTime, endTime);
  
  AliInfo(Form("\nRun       : %d \nStart Time: %s \nEnd Time  : %s", run,
	       TTimeStamp(startTime).AsString(),
	       TTimeStamp(endTime).AsString()));
  
  fRun = run;
  fStartTime = startTime;
  fEndTime   = endTime;

}

//________________________________________________________ 
Bool_t AliPMDPreprocessor::ProcessDAQ()
{
  TString sRunType = GetRunType();
  Log(Form("RunType %s",sRunType.Data()));
  if (sRunType !="PHYSICS" || sRunType != "PEDESTAL") 
    {
      return kFALSE;
    }
  return kTRUE;
}

//________________________________________________________ 
Bool_t AliPMDPreprocessor::StorePmdPED()
{
  
  AliPMDPedestal *pedestal = new AliPMDPedestal();
  TList* gfsPmdPed = GetFileSources(kDAQ, "PMD_PED.root");
  
  if(!gfsPmdPed) 
    {
      Log(Form("PMDPED: No Shuttle List for PMD PED "));
      return kFALSE;
    }
  else
    {
      AliInfo("PMDPED: Here's the list of sources for PMD_PED.root");
      gfsPmdPed->Print();
      
      TIter iter(gfsPmdPed);
      TObjString* srcPed;
      TString nameOfFile;
      UInt_t resultPmdPed = 0;
      
      while((srcPed = dynamic_cast<TObjString*> (iter.Next())))
	{
	  nameOfFile = GetFile(kDAQ, "PMD_PED.root", srcPed->GetName());
	  if(nameOfFile.Length() == 0) 
	    {
	      Log(Form("PMDPED: Error retrieving file from source %s failed!", srcPed->GetName()));
	      delete gfsPmdPed;
	      return kFALSE;
	    }
	  
	  Log(Form("PMDPED: File with id PMD_PED.root got from %s", srcPed->GetName()));
	  
	  Int_t det, sm, row, col;
	  Float_t mean, rms;
	  
	  TFile *opnFile= new TFile(nameOfFile.Data());
	  if(!opnFile || !opnFile->IsOpen()) 
	    {
	      Log(Form("PMDPED: Error opening file with Id PMD_PED.root from source %s!", srcPed->GetName()));
	      return kFALSE;
	    } 
	  
	  TTree *tree = dynamic_cast<TTree *> (opnFile->Get("ped"));
	  if (!tree) 
	    {
	      Log("PMDPED: Could not find object \"ped\" in PED file!");
	       return kFALSE;
	    }
	  
	  tree->SetBranchAddress("det",  &det);
	  tree->SetBranchAddress("sm",   &sm);
	  tree->SetBranchAddress("row",  &row);
	  tree->SetBranchAddress("col",  &col);
	  tree->SetBranchAddress("mean", &mean);
	  tree->SetBranchAddress("rms",  &rms);
	  
	  Int_t nEntries = (Int_t) tree->GetEntries();
	  for(Int_t i = 0; i < nEntries; i++)
	    {
	      tree->GetEntry(i);
	      pedestal->SetPedMeanRms(det,sm,row,col,mean,rms);
	    }
	  opnFile->Close();
	  delete opnFile;
	}
      
      AliCDBMetaData mdPED;
      mdPED.SetBeamPeriod(0);
      mdPED.SetResponsible("Satyajit Jena");
      mdPED.SetComment("PMDPED: PMD preprocessor");
      
      resultPmdPed = Store("Calib","Ped", pedestal, &mdPED,0,kTRUE);
      delete pedestal;
      if(resultPmdPed==0)
	{
	  Log("PMDPED: Error storing");                        
	  return kFALSE;
	}
      else
	{
	  return kTRUE;
	}

    } 
 
}

//________________________________________________________
Bool_t AliPMDPreprocessor::StorePmdGAIN()
{
TList* gfsPmdGain = GetFileSources(kDAQ, "PMDGAINS.root");

if(!gfsPmdGain)
    {
      Log(Form("PMDGAIN: No sources found for PMDGAINS.root!"));
      return kFALSE;
    }    
  else
    {
      AliInfo("PMDGAIN: Here's the list of sources for PMDGAINS.root");
      gfsPmdGain->Print();
      
      TIter iter(gfsPmdGain);
      TObjString* source;
      TString nameOfFile;
      UInt_t result = 0;
 
      while((source = dynamic_cast<TObjString*> (iter.Next())))
	{
	  nameOfFile = GetFile(kDAQ, "PMDGAINS.root", source->GetName());
	  if(nameOfFile.Length() == 0) 
	    {
	      Log(Form("PMDGAIN: Error retrieving file from source %s failed!", source->GetName()));
	      delete gfsPmdGain;
	      return kFALSE;
	    }
	  
	  Log(Form("PMDGAIN: File with id PMDGAINS.root got from %s", source->GetName()));
	  
	  Int_t det, sm, row, col;
	  Float_t gain;
	  
	  TFile *opnFile = new TFile(nameOfFile.Data());
	  if (!opnFile || !opnFile->IsOpen()) 
	    {
	      Log(Form("PMDGAIN: Error opening file with Id PMDGAINS.root from source %s!", source->GetName()));
	      return kFALSE;
	    }
	  
	  TTree *tree = dynamic_cast<TTree *> (opnFile->Get("ic"));
	  if (!tree) 
	    {
	      Log("PMDGAIN: Could not find object \"ic\" in DAQ file!");
	      return kFALSE;
	    }
	  
	  tree->SetBranchAddress("det",  &det);
	  tree->SetBranchAddress("sm",   &sm);
	  tree->SetBranchAddress("row",  &row);
	  tree->SetBranchAddress("col",  &col);
	  tree->SetBranchAddress("gain", &gain);
	  
	  Int_t nEntries = (Int_t) tree->GetEntries();
	  AliPMDCalibData *calibda = new AliPMDCalibData();
	  
	  for(Int_t i = 0; i < nEntries; i++)
	    {
	      tree->GetEntry(i);
	      calibda->SetGainFact(det,sm,row,col,gain);
	    }
	  opnFile->Close();
	  delete opnFile;
	  
	  AliCDBMetaData mdGAIN;
	  mdGAIN.SetBeamPeriod(0);
	  mdGAIN.SetResponsible("Satyajit Jena");
	  mdGAIN.SetComment("PMDGAIN: PMD GAIN Data");
	  result = Store("Calib","Gain", calibda, &mdGAIN);
	  delete calibda;
	}
      
      if (result==0)
	{
	  Log("PMDGAIN: Error storing");                        
	  return kFALSE;
	}
      else
	{
	  return kTRUE;
	}
      
    }
}


//___________________________________________________
Bool_t AliPMDPreprocessor::StorePmdHOT()
{
  
  AliPMDHotData *hotda = new AliPMDHotData();
  TList* fsPmdHot = GetFileSources(kDAQ, "PMD_HOT.root");
  
  if(!fsPmdHot) 
    {
      Log(Form("PMDHOT: No sources found for PMD_HOT.root!"));
      return kFALSE;
    }
  else
    {
      AliInfo("PMDHOT: Here's the list of sources for PMD_HOT.root");
      fsPmdHot->Print();
      
      TIter iter(fsPmdHot);
      TObjString* source;
      UInt_t hotresult = 0;
      TString nameOfFile;

      while((source = dynamic_cast<TObjString*> (iter.Next())))
	{
	  nameOfFile = GetFile(kDAQ, "PMD_HOT.root", source->GetName());
	  if(nameOfFile.Length() == 0) 
	    {
	      Log(Form("PMDHOT: Error retrieving file from source %s failed!", source->GetName()));
	      delete fsPmdHot;
	      return kFALSE;
	    }
	  
	  Log(Form("PMDHOT: File with id PMD_HOT.root got from %s", source->GetName()));
	  
	  Int_t det, sm, row, col;
	  Float_t flag;
	  
	  TFile *opnFile = new TFile(nameOfFile.Data());
	  if(!opnFile || !opnFile->IsOpen()) 
	    {
	      Log(Form("PMDHOT: Error opening file with Id PMD_HOT.root from source %s!", source->GetName()));
	      return kFALSE;
	    } 

	  TTree *tree = dynamic_cast<TTree *> (opnFile->Get("hot"));
	  if (!tree) 
	    {
	      Log("PMDHOT: Could not find object \"hot\" in DAQ file!");
	      return kFALSE;
	    }
	  
	  tree->SetBranchAddress("det",  &det);
	  tree->SetBranchAddress("sm",   &sm);
	  tree->SetBranchAddress("row",  &row);
	  tree->SetBranchAddress("col",  &col);
	  tree->SetBranchAddress("flag", &flag);
	  
	  Int_t nEntries = (Int_t) tree->GetEntries();
	  for(Int_t j = 0; j < nEntries; j++)
	    {
	      tree->GetEntry(j);
	      hotda->SetHotChannel(det,sm,row,col,flag);
	    }
	  opnFile->Close();
	  delete opnFile;
	}
      
      AliCDBMetaData metaData;
      metaData.SetBeamPeriod(0);
      metaData.SetResponsible("Satyajit Jena");
      metaData.SetComment("PMDHOT: PMD preprocessor");
      hotresult = Store("Calib","Hot", hotda, &metaData);
      delete hotda;
      if(hotresult==0)
	{
	  Log("PMDHOT: Error storing");                        
	  return kFALSE;
	}
      else
	{
	  return kTRUE;
	}
      
    }
}

//________________________________________________________
Bool_t AliPMDPreprocessor::StorePmdMEAN()
{
  AliPMDMeanSm *smmeanda = new AliPMDMeanSm();
  TList* gfsPmdMean = GetFileSources(kDAQ, "PMD_MEAN_SM.root");
  
  if(!gfsPmdMean) 
    {
      Log(Form("PMDMEAN: No sources found for PMD_MEAN_SM.root!"));
      return kFALSE;
    }
  else
    {
      AliInfo("PMDMEAN: Here's the list of sources for PMD_MEAN_SM.root");
      gfsPmdMean->Print();
      
      TIter iter(gfsPmdMean);
      TObjString* sourc;
      UInt_t storeMeanData = 0;
      TString filenam;
      
      while((sourc=dynamic_cast<TObjString*> (iter.Next())))
	{
	  filenam = GetFile(kDAQ, "PMD_MEAN_SM.root", sourc->GetName());
	  if(filenam.Length() == 0) 
	    {
	      Log(Form("PMDMEAN: Error retrieving file from source %s failed!", sourc->GetName()));
	      delete gfsPmdMean;
	      return kFALSE;
	    }
	  
	  Log(Form("PMDMEAN: File with id PMD_MEAN_SM.root got from %s", sourc->GetName()));
	  
	  Int_t det = 0, sm = 0;
	  Float_t smmean = 0.;
	  
	  TFile *opnFile = new TFile(filenam.Data());
	  if(!opnFile || !opnFile->IsOpen()) 
	    {
	      Log(Form("PMDMEAN: Error opening file with Id PMD_MEAN_SM.root from source %s!", sourc->GetName()));
	      return kFALSE;
	    }
	  
	  TTree *tree = dynamic_cast<TTree *> (opnFile->Get("mean"));
	  if (!tree) 
	    {
	      Log("PMDMEAN: Could not find object \"hot\" in DAQ file!");
	      return kFALSE;
	    }
	  
	  tree->SetBranchAddress("det",  &det);
	  tree->SetBranchAddress("sm",   &sm);
	  tree->SetBranchAddress("smmean", &smmean);
	  
	  Int_t nEntries = (Int_t) tree->GetEntries();
	  for(Int_t j = 0; j < nEntries; j++)
	    {
	      tree->GetEntry(j);
	      smmeanda->SetMeanSm(det,sm,smmean);
	    }
	  opnFile->Close();
	  delete opnFile;
	}
      
      AliCDBMetaData mdMEAN;
      mdMEAN.SetBeamPeriod(0);
      mdMEAN.SetResponsible("Satyajit Jena");
      mdMEAN.SetComment("PMDMEAN: PMD preprocessor");
      
      storeMeanData = Store("Calib","SMMEAN", smmeanda, &mdMEAN);
      delete smmeanda;

      if(storeMeanData==0)
	{
	  Log("PMDMEAN: Error storing");                        
	  return kFALSE;
	}
      else
	{
	  return kTRUE;
	}
    }
  
}

//_____________________________________________________________
Bool_t AliPMDPreprocessor::StorePmdDCS(TMap *sDaqAM)
{
	
  AliCDBMetaData mdDCS;
  mdDCS.SetResponsible("Satyajit Jena");
  mdDCS.SetComment("DCS data for PMD");

  Bool_t resStore = kFALSE;
  resStore = StoreReferenceData("DCS","Data",sDaqAM,&mdDCS);

  if(resStore == 0)
    {
      Log("PMDDP: Error storing");                        
      return kFALSE;
    }
  else
    {
      return kTRUE;
    }

}

//_____________________________________________________________________

UInt_t AliPMDPreprocessor::Process(TMap* pmdDaqAliasMap)
{
  
  if(!pmdDaqAliasMap)
    {
      return 1;
    }
  
  TString runType = GetRunType();

  if(runType == "PEDESTAL")
    {
 
      Log(Form("------------------ PMD Pedestal --------------"));
      Bool_t pmdPed = StorePmdPED();
      if(!pmdPed)
	{
	  Log(Form("ERROR:  Couldn't write PMD pedestal file"));
	  return 1;
	}
      else
	{
	  Log(Form("Storing of PMD Pedestal File is Successful"));
	  return 0;
	}
    } 
  
  else if (runType == "PHYSICS")
      {
	Log(Form("------------------- PMD GAIN----------------"));	
	Bool_t pmdGAIN = StorePmdGAIN();
	if (!pmdGAIN)
	  {
	    Log(Form("ERROR:  Couldn't write PMD GAIN file"));
	   
	  }
	else
	  {
	    Log(Form("Storing of PMD GAIN File is Successful"));
	   
	  }
	
	Log(Form("------------------- PMD HOT ----------------"));
	Bool_t pmdHOT = StorePmdHOT();
	if (!pmdHOT)
	  {
	    Log(Form("ERROR:  Couldn't write PMD HOT file"));
	   
	  }
	else
	  {
	    Log(Form("Storing of PMD HOT File is Successful"));
	   
	  }
	
	Log(Form("------------------- SM MEAN ----------------"));
	Bool_t pmdMEAN = StorePmdMEAN();
	if (!pmdMEAN)
	  {
	    Log(Form("ERROR:  Couldn't write PMD SM MEAN file"));
	   
	  }
	else
	  {
	    Log(Form("Storing of PMD SM MEAN File is Successful"));
	   
	  }
	
	Log(Form("------------------- DCS DP -----------------"));
	Bool_t pmdDCS = StorePmdDCS(pmdDaqAliasMap);
	if (!pmdDCS)
	  {
	    Log(Form("ERROR:  Couldn't write PMD DCS DP file"));
	   
	  }
	else
	  {
	    Log(Form("Storing of PMD DCS dp is Successul"));
	   
	  }
	
	if (pmdGAIN || pmdHOT || pmdMEAN || pmdDCS) 
	  return 0;
	else 
	  return 1;
	
      }
  return 2;
}


 AliPMDPreprocessor.cxx:1
 AliPMDPreprocessor.cxx:2
 AliPMDPreprocessor.cxx:3
 AliPMDPreprocessor.cxx:4
 AliPMDPreprocessor.cxx:5
 AliPMDPreprocessor.cxx:6
 AliPMDPreprocessor.cxx:7
 AliPMDPreprocessor.cxx:8
 AliPMDPreprocessor.cxx:9
 AliPMDPreprocessor.cxx:10
 AliPMDPreprocessor.cxx:11
 AliPMDPreprocessor.cxx:12
 AliPMDPreprocessor.cxx:13
 AliPMDPreprocessor.cxx:14
 AliPMDPreprocessor.cxx:15
 AliPMDPreprocessor.cxx:16
 AliPMDPreprocessor.cxx:17
 AliPMDPreprocessor.cxx:18
 AliPMDPreprocessor.cxx:19
 AliPMDPreprocessor.cxx:20
 AliPMDPreprocessor.cxx:21
 AliPMDPreprocessor.cxx:22
 AliPMDPreprocessor.cxx:23
 AliPMDPreprocessor.cxx:24
 AliPMDPreprocessor.cxx:25
 AliPMDPreprocessor.cxx:26
 AliPMDPreprocessor.cxx:27
 AliPMDPreprocessor.cxx:28
 AliPMDPreprocessor.cxx:29
 AliPMDPreprocessor.cxx:30
 AliPMDPreprocessor.cxx:31
 AliPMDPreprocessor.cxx:32
 AliPMDPreprocessor.cxx:33
 AliPMDPreprocessor.cxx:34
 AliPMDPreprocessor.cxx:35
 AliPMDPreprocessor.cxx:36
 AliPMDPreprocessor.cxx:37
 AliPMDPreprocessor.cxx:38
 AliPMDPreprocessor.cxx:39
 AliPMDPreprocessor.cxx:40
 AliPMDPreprocessor.cxx:41
 AliPMDPreprocessor.cxx:42
 AliPMDPreprocessor.cxx:43
 AliPMDPreprocessor.cxx:44
 AliPMDPreprocessor.cxx:45
 AliPMDPreprocessor.cxx:46
 AliPMDPreprocessor.cxx:47
 AliPMDPreprocessor.cxx:48
 AliPMDPreprocessor.cxx:49
 AliPMDPreprocessor.cxx:50
 AliPMDPreprocessor.cxx:51
 AliPMDPreprocessor.cxx:52
 AliPMDPreprocessor.cxx:53
 AliPMDPreprocessor.cxx:54
 AliPMDPreprocessor.cxx:55
 AliPMDPreprocessor.cxx:56
 AliPMDPreprocessor.cxx:57
 AliPMDPreprocessor.cxx:58
 AliPMDPreprocessor.cxx:59
 AliPMDPreprocessor.cxx:60
 AliPMDPreprocessor.cxx:61
 AliPMDPreprocessor.cxx:62
 AliPMDPreprocessor.cxx:63
 AliPMDPreprocessor.cxx:64
 AliPMDPreprocessor.cxx:65
 AliPMDPreprocessor.cxx:66
 AliPMDPreprocessor.cxx:67
 AliPMDPreprocessor.cxx:68
 AliPMDPreprocessor.cxx:69
 AliPMDPreprocessor.cxx:70
 AliPMDPreprocessor.cxx:71
 AliPMDPreprocessor.cxx:72
 AliPMDPreprocessor.cxx:73
 AliPMDPreprocessor.cxx:74
 AliPMDPreprocessor.cxx:75
 AliPMDPreprocessor.cxx:76
 AliPMDPreprocessor.cxx:77
 AliPMDPreprocessor.cxx:78
 AliPMDPreprocessor.cxx:79
 AliPMDPreprocessor.cxx:80
 AliPMDPreprocessor.cxx:81
 AliPMDPreprocessor.cxx:82
 AliPMDPreprocessor.cxx:83
 AliPMDPreprocessor.cxx:84
 AliPMDPreprocessor.cxx:85
 AliPMDPreprocessor.cxx:86
 AliPMDPreprocessor.cxx:87
 AliPMDPreprocessor.cxx:88
 AliPMDPreprocessor.cxx:89
 AliPMDPreprocessor.cxx:90
 AliPMDPreprocessor.cxx:91
 AliPMDPreprocessor.cxx:92
 AliPMDPreprocessor.cxx:93
 AliPMDPreprocessor.cxx:94
 AliPMDPreprocessor.cxx:95
 AliPMDPreprocessor.cxx:96
 AliPMDPreprocessor.cxx:97
 AliPMDPreprocessor.cxx:98
 AliPMDPreprocessor.cxx:99
 AliPMDPreprocessor.cxx:100
 AliPMDPreprocessor.cxx:101
 AliPMDPreprocessor.cxx:102
 AliPMDPreprocessor.cxx:103
 AliPMDPreprocessor.cxx:104
 AliPMDPreprocessor.cxx:105
 AliPMDPreprocessor.cxx:106
 AliPMDPreprocessor.cxx:107
 AliPMDPreprocessor.cxx:108
 AliPMDPreprocessor.cxx:109
 AliPMDPreprocessor.cxx:110
 AliPMDPreprocessor.cxx:111
 AliPMDPreprocessor.cxx:112
 AliPMDPreprocessor.cxx:113
 AliPMDPreprocessor.cxx:114
 AliPMDPreprocessor.cxx:115
 AliPMDPreprocessor.cxx:116
 AliPMDPreprocessor.cxx:117
 AliPMDPreprocessor.cxx:118
 AliPMDPreprocessor.cxx:119
 AliPMDPreprocessor.cxx:120
 AliPMDPreprocessor.cxx:121
 AliPMDPreprocessor.cxx:122
 AliPMDPreprocessor.cxx:123
 AliPMDPreprocessor.cxx:124
 AliPMDPreprocessor.cxx:125
 AliPMDPreprocessor.cxx:126
 AliPMDPreprocessor.cxx:127
 AliPMDPreprocessor.cxx:128
 AliPMDPreprocessor.cxx:129
 AliPMDPreprocessor.cxx:130
 AliPMDPreprocessor.cxx:131
 AliPMDPreprocessor.cxx:132
 AliPMDPreprocessor.cxx:133
 AliPMDPreprocessor.cxx:134
 AliPMDPreprocessor.cxx:135
 AliPMDPreprocessor.cxx:136
 AliPMDPreprocessor.cxx:137
 AliPMDPreprocessor.cxx:138
 AliPMDPreprocessor.cxx:139
 AliPMDPreprocessor.cxx:140
 AliPMDPreprocessor.cxx:141
 AliPMDPreprocessor.cxx:142
 AliPMDPreprocessor.cxx:143
 AliPMDPreprocessor.cxx:144
 AliPMDPreprocessor.cxx:145
 AliPMDPreprocessor.cxx:146
 AliPMDPreprocessor.cxx:147
 AliPMDPreprocessor.cxx:148
 AliPMDPreprocessor.cxx:149
 AliPMDPreprocessor.cxx:150
 AliPMDPreprocessor.cxx:151
 AliPMDPreprocessor.cxx:152
 AliPMDPreprocessor.cxx:153
 AliPMDPreprocessor.cxx:154
 AliPMDPreprocessor.cxx:155
 AliPMDPreprocessor.cxx:156
 AliPMDPreprocessor.cxx:157
 AliPMDPreprocessor.cxx:158
 AliPMDPreprocessor.cxx:159
 AliPMDPreprocessor.cxx:160
 AliPMDPreprocessor.cxx:161
 AliPMDPreprocessor.cxx:162
 AliPMDPreprocessor.cxx:163
 AliPMDPreprocessor.cxx:164
 AliPMDPreprocessor.cxx:165
 AliPMDPreprocessor.cxx:166
 AliPMDPreprocessor.cxx:167
 AliPMDPreprocessor.cxx:168
 AliPMDPreprocessor.cxx:169
 AliPMDPreprocessor.cxx:170
 AliPMDPreprocessor.cxx:171
 AliPMDPreprocessor.cxx:172
 AliPMDPreprocessor.cxx:173
 AliPMDPreprocessor.cxx:174
 AliPMDPreprocessor.cxx:175
 AliPMDPreprocessor.cxx:176
 AliPMDPreprocessor.cxx:177
 AliPMDPreprocessor.cxx:178
 AliPMDPreprocessor.cxx:179
 AliPMDPreprocessor.cxx:180
 AliPMDPreprocessor.cxx:181
 AliPMDPreprocessor.cxx:182
 AliPMDPreprocessor.cxx:183
 AliPMDPreprocessor.cxx:184
 AliPMDPreprocessor.cxx:185
 AliPMDPreprocessor.cxx:186
 AliPMDPreprocessor.cxx:187
 AliPMDPreprocessor.cxx:188
 AliPMDPreprocessor.cxx:189
 AliPMDPreprocessor.cxx:190
 AliPMDPreprocessor.cxx:191
 AliPMDPreprocessor.cxx:192
 AliPMDPreprocessor.cxx:193
 AliPMDPreprocessor.cxx:194
 AliPMDPreprocessor.cxx:195
 AliPMDPreprocessor.cxx:196
 AliPMDPreprocessor.cxx:197
 AliPMDPreprocessor.cxx:198
 AliPMDPreprocessor.cxx:199
 AliPMDPreprocessor.cxx:200
 AliPMDPreprocessor.cxx:201
 AliPMDPreprocessor.cxx:202
 AliPMDPreprocessor.cxx:203
 AliPMDPreprocessor.cxx:204
 AliPMDPreprocessor.cxx:205
 AliPMDPreprocessor.cxx:206
 AliPMDPreprocessor.cxx:207
 AliPMDPreprocessor.cxx:208
 AliPMDPreprocessor.cxx:209
 AliPMDPreprocessor.cxx:210
 AliPMDPreprocessor.cxx:211
 AliPMDPreprocessor.cxx:212
 AliPMDPreprocessor.cxx:213
 AliPMDPreprocessor.cxx:214
 AliPMDPreprocessor.cxx:215
 AliPMDPreprocessor.cxx:216
 AliPMDPreprocessor.cxx:217
 AliPMDPreprocessor.cxx:218
 AliPMDPreprocessor.cxx:219
 AliPMDPreprocessor.cxx:220
 AliPMDPreprocessor.cxx:221
 AliPMDPreprocessor.cxx:222
 AliPMDPreprocessor.cxx:223
 AliPMDPreprocessor.cxx:224
 AliPMDPreprocessor.cxx:225
 AliPMDPreprocessor.cxx:226
 AliPMDPreprocessor.cxx:227
 AliPMDPreprocessor.cxx:228
 AliPMDPreprocessor.cxx:229
 AliPMDPreprocessor.cxx:230
 AliPMDPreprocessor.cxx:231
 AliPMDPreprocessor.cxx:232
 AliPMDPreprocessor.cxx:233
 AliPMDPreprocessor.cxx:234
 AliPMDPreprocessor.cxx:235
 AliPMDPreprocessor.cxx:236
 AliPMDPreprocessor.cxx:237
 AliPMDPreprocessor.cxx:238
 AliPMDPreprocessor.cxx:239
 AliPMDPreprocessor.cxx:240
 AliPMDPreprocessor.cxx:241
 AliPMDPreprocessor.cxx:242
 AliPMDPreprocessor.cxx:243
 AliPMDPreprocessor.cxx:244
 AliPMDPreprocessor.cxx:245
 AliPMDPreprocessor.cxx:246
 AliPMDPreprocessor.cxx:247
 AliPMDPreprocessor.cxx:248
 AliPMDPreprocessor.cxx:249
 AliPMDPreprocessor.cxx:250
 AliPMDPreprocessor.cxx:251
 AliPMDPreprocessor.cxx:252
 AliPMDPreprocessor.cxx:253
 AliPMDPreprocessor.cxx:254
 AliPMDPreprocessor.cxx:255
 AliPMDPreprocessor.cxx:256
 AliPMDPreprocessor.cxx:257
 AliPMDPreprocessor.cxx:258
 AliPMDPreprocessor.cxx:259
 AliPMDPreprocessor.cxx:260
 AliPMDPreprocessor.cxx:261
 AliPMDPreprocessor.cxx:262
 AliPMDPreprocessor.cxx:263
 AliPMDPreprocessor.cxx:264
 AliPMDPreprocessor.cxx:265
 AliPMDPreprocessor.cxx:266
 AliPMDPreprocessor.cxx:267
 AliPMDPreprocessor.cxx:268
 AliPMDPreprocessor.cxx:269
 AliPMDPreprocessor.cxx:270
 AliPMDPreprocessor.cxx:271
 AliPMDPreprocessor.cxx:272
 AliPMDPreprocessor.cxx:273
 AliPMDPreprocessor.cxx:274
 AliPMDPreprocessor.cxx:275
 AliPMDPreprocessor.cxx:276
 AliPMDPreprocessor.cxx:277
 AliPMDPreprocessor.cxx:278
 AliPMDPreprocessor.cxx:279
 AliPMDPreprocessor.cxx:280
 AliPMDPreprocessor.cxx:281
 AliPMDPreprocessor.cxx:282
 AliPMDPreprocessor.cxx:283
 AliPMDPreprocessor.cxx:284
 AliPMDPreprocessor.cxx:285
 AliPMDPreprocessor.cxx:286
 AliPMDPreprocessor.cxx:287
 AliPMDPreprocessor.cxx:288
 AliPMDPreprocessor.cxx:289
 AliPMDPreprocessor.cxx:290
 AliPMDPreprocessor.cxx:291
 AliPMDPreprocessor.cxx:292
 AliPMDPreprocessor.cxx:293
 AliPMDPreprocessor.cxx:294
 AliPMDPreprocessor.cxx:295
 AliPMDPreprocessor.cxx:296
 AliPMDPreprocessor.cxx:297
 AliPMDPreprocessor.cxx:298
 AliPMDPreprocessor.cxx:299
 AliPMDPreprocessor.cxx:300
 AliPMDPreprocessor.cxx:301
 AliPMDPreprocessor.cxx:302
 AliPMDPreprocessor.cxx:303
 AliPMDPreprocessor.cxx:304
 AliPMDPreprocessor.cxx:305
 AliPMDPreprocessor.cxx:306
 AliPMDPreprocessor.cxx:307
 AliPMDPreprocessor.cxx:308
 AliPMDPreprocessor.cxx:309
 AliPMDPreprocessor.cxx:310
 AliPMDPreprocessor.cxx:311
 AliPMDPreprocessor.cxx:312
 AliPMDPreprocessor.cxx:313
 AliPMDPreprocessor.cxx:314
 AliPMDPreprocessor.cxx:315
 AliPMDPreprocessor.cxx:316
 AliPMDPreprocessor.cxx:317
 AliPMDPreprocessor.cxx:318
 AliPMDPreprocessor.cxx:319
 AliPMDPreprocessor.cxx:320
 AliPMDPreprocessor.cxx:321
 AliPMDPreprocessor.cxx:322
 AliPMDPreprocessor.cxx:323
 AliPMDPreprocessor.cxx:324
 AliPMDPreprocessor.cxx:325
 AliPMDPreprocessor.cxx:326
 AliPMDPreprocessor.cxx:327
 AliPMDPreprocessor.cxx:328
 AliPMDPreprocessor.cxx:329
 AliPMDPreprocessor.cxx:330
 AliPMDPreprocessor.cxx:331
 AliPMDPreprocessor.cxx:332
 AliPMDPreprocessor.cxx:333
 AliPMDPreprocessor.cxx:334
 AliPMDPreprocessor.cxx:335
 AliPMDPreprocessor.cxx:336
 AliPMDPreprocessor.cxx:337
 AliPMDPreprocessor.cxx:338
 AliPMDPreprocessor.cxx:339
 AliPMDPreprocessor.cxx:340
 AliPMDPreprocessor.cxx:341
 AliPMDPreprocessor.cxx:342
 AliPMDPreprocessor.cxx:343
 AliPMDPreprocessor.cxx:344
 AliPMDPreprocessor.cxx:345
 AliPMDPreprocessor.cxx:346
 AliPMDPreprocessor.cxx:347
 AliPMDPreprocessor.cxx:348
 AliPMDPreprocessor.cxx:349
 AliPMDPreprocessor.cxx:350
 AliPMDPreprocessor.cxx:351
 AliPMDPreprocessor.cxx:352
 AliPMDPreprocessor.cxx:353
 AliPMDPreprocessor.cxx:354
 AliPMDPreprocessor.cxx:355
 AliPMDPreprocessor.cxx:356
 AliPMDPreprocessor.cxx:357
 AliPMDPreprocessor.cxx:358
 AliPMDPreprocessor.cxx:359
 AliPMDPreprocessor.cxx:360
 AliPMDPreprocessor.cxx:361
 AliPMDPreprocessor.cxx:362
 AliPMDPreprocessor.cxx:363
 AliPMDPreprocessor.cxx:364
 AliPMDPreprocessor.cxx:365
 AliPMDPreprocessor.cxx:366
 AliPMDPreprocessor.cxx:367
 AliPMDPreprocessor.cxx:368
 AliPMDPreprocessor.cxx:369
 AliPMDPreprocessor.cxx:370
 AliPMDPreprocessor.cxx:371
 AliPMDPreprocessor.cxx:372
 AliPMDPreprocessor.cxx:373
 AliPMDPreprocessor.cxx:374
 AliPMDPreprocessor.cxx:375
 AliPMDPreprocessor.cxx:376
 AliPMDPreprocessor.cxx:377
 AliPMDPreprocessor.cxx:378
 AliPMDPreprocessor.cxx:379
 AliPMDPreprocessor.cxx:380
 AliPMDPreprocessor.cxx:381
 AliPMDPreprocessor.cxx:382
 AliPMDPreprocessor.cxx:383
 AliPMDPreprocessor.cxx:384
 AliPMDPreprocessor.cxx:385
 AliPMDPreprocessor.cxx:386
 AliPMDPreprocessor.cxx:387
 AliPMDPreprocessor.cxx:388
 AliPMDPreprocessor.cxx:389
 AliPMDPreprocessor.cxx:390
 AliPMDPreprocessor.cxx:391
 AliPMDPreprocessor.cxx:392
 AliPMDPreprocessor.cxx:393
 AliPMDPreprocessor.cxx:394
 AliPMDPreprocessor.cxx:395
 AliPMDPreprocessor.cxx:396
 AliPMDPreprocessor.cxx:397
 AliPMDPreprocessor.cxx:398
 AliPMDPreprocessor.cxx:399
 AliPMDPreprocessor.cxx:400
 AliPMDPreprocessor.cxx:401
 AliPMDPreprocessor.cxx:402
 AliPMDPreprocessor.cxx:403
 AliPMDPreprocessor.cxx:404
 AliPMDPreprocessor.cxx:405
 AliPMDPreprocessor.cxx:406
 AliPMDPreprocessor.cxx:407
 AliPMDPreprocessor.cxx:408
 AliPMDPreprocessor.cxx:409
 AliPMDPreprocessor.cxx:410
 AliPMDPreprocessor.cxx:411
 AliPMDPreprocessor.cxx:412
 AliPMDPreprocessor.cxx:413
 AliPMDPreprocessor.cxx:414
 AliPMDPreprocessor.cxx:415
 AliPMDPreprocessor.cxx:416
 AliPMDPreprocessor.cxx:417
 AliPMDPreprocessor.cxx:418
 AliPMDPreprocessor.cxx:419
 AliPMDPreprocessor.cxx:420
 AliPMDPreprocessor.cxx:421
 AliPMDPreprocessor.cxx:422
 AliPMDPreprocessor.cxx:423
 AliPMDPreprocessor.cxx:424
 AliPMDPreprocessor.cxx:425
 AliPMDPreprocessor.cxx:426
 AliPMDPreprocessor.cxx:427
 AliPMDPreprocessor.cxx:428
 AliPMDPreprocessor.cxx:429
 AliPMDPreprocessor.cxx:430
 AliPMDPreprocessor.cxx:431
 AliPMDPreprocessor.cxx:432
 AliPMDPreprocessor.cxx:433
 AliPMDPreprocessor.cxx:434
 AliPMDPreprocessor.cxx:435
 AliPMDPreprocessor.cxx:436
 AliPMDPreprocessor.cxx:437
 AliPMDPreprocessor.cxx:438
 AliPMDPreprocessor.cxx:439
 AliPMDPreprocessor.cxx:440
 AliPMDPreprocessor.cxx:441
 AliPMDPreprocessor.cxx:442
 AliPMDPreprocessor.cxx:443
 AliPMDPreprocessor.cxx:444
 AliPMDPreprocessor.cxx:445
 AliPMDPreprocessor.cxx:446
 AliPMDPreprocessor.cxx:447
 AliPMDPreprocessor.cxx:448
 AliPMDPreprocessor.cxx:449
 AliPMDPreprocessor.cxx:450
 AliPMDPreprocessor.cxx:451
 AliPMDPreprocessor.cxx:452
 AliPMDPreprocessor.cxx:453
 AliPMDPreprocessor.cxx:454
 AliPMDPreprocessor.cxx:455
 AliPMDPreprocessor.cxx:456
 AliPMDPreprocessor.cxx:457
 AliPMDPreprocessor.cxx:458
 AliPMDPreprocessor.cxx:459
 AliPMDPreprocessor.cxx:460
 AliPMDPreprocessor.cxx:461
 AliPMDPreprocessor.cxx:462
 AliPMDPreprocessor.cxx:463
 AliPMDPreprocessor.cxx:464
 AliPMDPreprocessor.cxx:465
 AliPMDPreprocessor.cxx:466
 AliPMDPreprocessor.cxx:467
 AliPMDPreprocessor.cxx:468
 AliPMDPreprocessor.cxx:469
 AliPMDPreprocessor.cxx:470
 AliPMDPreprocessor.cxx:471
 AliPMDPreprocessor.cxx:472
 AliPMDPreprocessor.cxx:473
 AliPMDPreprocessor.cxx:474
 AliPMDPreprocessor.cxx:475
 AliPMDPreprocessor.cxx:476
 AliPMDPreprocessor.cxx:477
 AliPMDPreprocessor.cxx:478
 AliPMDPreprocessor.cxx:479
 AliPMDPreprocessor.cxx:480
 AliPMDPreprocessor.cxx:481
 AliPMDPreprocessor.cxx:482
 AliPMDPreprocessor.cxx:483
 AliPMDPreprocessor.cxx:484
 AliPMDPreprocessor.cxx:485
 AliPMDPreprocessor.cxx:486
 AliPMDPreprocessor.cxx:487
 AliPMDPreprocessor.cxx:488
 AliPMDPreprocessor.cxx:489
 AliPMDPreprocessor.cxx:490
 AliPMDPreprocessor.cxx:491
 AliPMDPreprocessor.cxx:492
 AliPMDPreprocessor.cxx:493
 AliPMDPreprocessor.cxx:494
 AliPMDPreprocessor.cxx:495
 AliPMDPreprocessor.cxx:496
 AliPMDPreprocessor.cxx:497
 AliPMDPreprocessor.cxx:498
 AliPMDPreprocessor.cxx:499
 AliPMDPreprocessor.cxx:500
 AliPMDPreprocessor.cxx:501
 AliPMDPreprocessor.cxx:502
 AliPMDPreprocessor.cxx:503
 AliPMDPreprocessor.cxx:504
 AliPMDPreprocessor.cxx:505
 AliPMDPreprocessor.cxx:506
 AliPMDPreprocessor.cxx:507
 AliPMDPreprocessor.cxx:508
 AliPMDPreprocessor.cxx:509
 AliPMDPreprocessor.cxx:510
 AliPMDPreprocessor.cxx:511
 AliPMDPreprocessor.cxx:512
 AliPMDPreprocessor.cxx:513
 AliPMDPreprocessor.cxx:514
 AliPMDPreprocessor.cxx:515
 AliPMDPreprocessor.cxx:516
 AliPMDPreprocessor.cxx:517
 AliPMDPreprocessor.cxx:518
 AliPMDPreprocessor.cxx:519
 AliPMDPreprocessor.cxx:520
 AliPMDPreprocessor.cxx:521
 AliPMDPreprocessor.cxx:522
 AliPMDPreprocessor.cxx:523
 AliPMDPreprocessor.cxx:524
 AliPMDPreprocessor.cxx:525
 AliPMDPreprocessor.cxx:526
 AliPMDPreprocessor.cxx:527
 AliPMDPreprocessor.cxx:528
 AliPMDPreprocessor.cxx:529
 AliPMDPreprocessor.cxx:530
 AliPMDPreprocessor.cxx:531
 AliPMDPreprocessor.cxx:532
 AliPMDPreprocessor.cxx:533
 AliPMDPreprocessor.cxx:534
 AliPMDPreprocessor.cxx:535
 AliPMDPreprocessor.cxx:536
 AliPMDPreprocessor.cxx:537
 AliPMDPreprocessor.cxx:538
 AliPMDPreprocessor.cxx:539
 AliPMDPreprocessor.cxx:540
 AliPMDPreprocessor.cxx:541
 AliPMDPreprocessor.cxx:542
 AliPMDPreprocessor.cxx:543
 AliPMDPreprocessor.cxx:544
 AliPMDPreprocessor.cxx:545
 AliPMDPreprocessor.cxx:546