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.                  *
**************************************************************************/
//
// Class AliHFEvarManager:
// Contains definition of the variables which are filled into the 
// Correction framework container. The class handles both AliCFContainer and
// AliHFEcontainer.
// Defining a new variable which has to be monitored can be done via the
// function AddVariable. This function also defines a new dimension for the
// particle container and appends it to the list of variables. For a new
// track the function NewTrack caches the values to be filled into the 
// correction framework container. With FillContainer the specified 
// correction framework container is filled. The VarManager also handles
// the filling of the correlation matrices
//
// Author:
//   Markus Fasel <M.Fasel@gsi.de>
//
#include <TClass.h>
#include <TH3.h>
#include <TF3.h>
#include <TMath.h>
#include <THnSparse.h>
#include <TString.h>

#include "AliCFContainer.h"
#include "AliLog.h"
#include "AliVParticle.h"

#include "AliHFEcontainer.h"
#include "AliHFEsignalCuts.h"
#include "AliHFEtools.h"
#include "AliHFEvarManager.h"

ClassImp(AliHFEvarManager)
ClassImp(AliHFEvarManager::AliHFEvariable);

//____________________________________________________________
AliHFEvarManager::AliHFEvarManager():
  TNamed(),
  fVariables(NULL),
  fContent(NULL),
  fContentMC(NULL),
  fWeightFactor(1.),
  fSignalTrack(kTRUE),
  fWeighting(kFALSE),
  fSignal(NULL),
  fWeightFactors(NULL),
  fWeightFactorsFunction(NULL)
{
	//
	// Dummy constructor
  //
  SetOwner();
}

//____________________________________________________________
AliHFEvarManager::AliHFEvarManager(const Char_t *name):
  TNamed(name, ""),
  fVariables(NULL),
  fContent(NULL),
  fContentMC(NULL),
  fWeightFactor(1.),
  fSignalTrack(kTRUE),
  fWeighting(kFALSE),
  fSignal(NULL),
  fWeightFactors(NULL),
  fWeightFactorsFunction(NULL)
{
	//
	// Default constructor
  //
  fVariables = new TObjArray;
  SetOwner();
}

//____________________________________________________________
AliHFEvarManager::AliHFEvarManager(const AliHFEvarManager &ref):
  TNamed(ref),
  fVariables(NULL),
  fContent(NULL),
  fContentMC(NULL),
  fWeightFactor(ref.fWeightFactor),
  fSignalTrack(ref.fSignalTrack),
  fWeighting(ref.fWeighting),
  fSignal(NULL),
  fWeightFactors(NULL),
  fWeightFactorsFunction(NULL)
{
  //
  // Copy Constructor
  //
  ref.Copy(*this);
}

//____________________________________________________________
AliHFEvarManager &AliHFEvarManager::operator=(const AliHFEvarManager &ref){
  //
  // Assignment operator
  //
  if(&ref != this){ 
    this->~AliHFEvarManager();
    ref.Copy(*this);
  }
  return *this;
}

//____________________________________________________________
AliHFEvarManager::~AliHFEvarManager(){
	//
	// Destructor
	//
  if(IsOwner()){
    if(fVariables) delete fVariables;
  }
  if(fContent) delete[] fContent;
  if(fContentMC) delete[] fContentMC;
}

//____________________________________________________________
void AliHFEvarManager::Copy(TObject &o) const{
  //
  // Make Copy
  //
  AliHFEvarManager &target = dynamic_cast<AliHFEvarManager &>(o);
  target.fVariables = fVariables;
  target.fContent = new Double_t[sizeof(fContent)/sizeof(Double_t)]; 
  target.fContentMC = new Double_t[sizeof(fContentMC)/sizeof(Double_t)];
  target.fWeightFactor = fWeightFactor;
  target.fSignalTrack = fSignalTrack;
  target.fWeighting = fWeighting;
  target.fSignal = fSignal;
  target.fWeightFactors = fWeightFactors;
  target.fWeightFactorsFunction = fWeightFactorsFunction; 
  target.SetOwner(kFALSE);
}

//____________________________________________________________
void AliHFEvarManager::AddVariable(TString name){
  //
  // Add new variable to the var manager
  // Use default binning
  // Value derived via GetValue()
  //
   AliDebug(1, Form("Var Name: %s", name.Data()));

  if(!name.CompareTo("pt")) 
    fVariables->AddLast(new AliHFEvariable("pt", "pt", kPt, 44, 0.1, 20, kTRUE));
  else if(!name.CompareTo("eta"))
    fVariables->AddLast(new AliHFEvariable("eta", "eta", kEta, 8, -0.8, 0.8));
  else if(!name.CompareTo("phi"))
    fVariables->AddLast(new AliHFEvariable("phi", "phi", kPhi, 18, -0, 2*TMath::Pi()));
  else if(!name.CompareTo("charge"))
    fVariables->AddLast(new AliHFEvariable("charge", "charge", kCharge, 2, -1.1, 1.1));
  else if(!name.CompareTo("source"))
    fVariables->AddLast(new AliHFEvariable("source", "source", kSource, 8, 0, 8));
  else if(!name.CompareTo("centrality"))
    fVariables->AddLast(new AliHFEvariable("centrality", "centrality", kCentrality, 11, 0.0, 11.0));
  else if(!name.CompareTo("species"))
    fVariables->AddLast(new AliHFEvariable("species", "species", kSpecies, 6, -1, 5));

  // More to come ...
}

//____________________________________________________________
void AliHFEvarManager::AddVariable(TString name, Int_t nBins, Double_t min, Double_t max, Bool_t isLogarithmic){
  //
  // Add new variable to the var manager
  // User can define minimum and maximum
  // Function can be used to copy variables to a new var manager
  // Value derived via GetValue()
  //
  AliDebug(1, Form("Var Name: %s", name.Data()));

  UInt_t varcode = 1000; 
  if(!name.CompareTo("pt")){
    varcode = kPt;
  } else if(!name.CompareTo("eta")){
    varcode = kEta;
  } else if(!name.CompareTo("phi")){
    varcode = kPhi;
  } else if(!name.CompareTo("charge")){
    varcode = kCharge;
  } else if(!name.CompareTo("source")){
    varcode = kSource;
  } else if(!name.CompareTo("species")){
    varcode = kSpecies;
  } else if(!name.CompareTo("centrality")) {
    varcode = kCentrality;
  } else {
    AliError("Variable not defined or not supposed to have a user-defined binning.");
  }

  if(varcode < 1000) fVariables->AddLast(new AliHFEvariable(name.Data(), name.Data(), varcode, nBins, min, max, isLogarithmic));
  // More to come ...
}

//____________________________________________________________
void AliHFEvarManager::AddVariable(TString name, Int_t nBins, const Double_t *binning){
  //
  // Add new variable to the var manager
  // Not to be applied for Variables which have a limited amount of possible values like charge, species, source
  // Value derived via GetValue()
  //
  AliDebug(1, Form("Var Name: %s", name.Data()));

  UInt_t varcode = 1000; 
  if(!name.CompareTo("pt")){
    varcode = kPt;
  } else if(!name.CompareTo("eta")){
    varcode = kEta;
  } else if(!name.CompareTo("phi")){
    varcode = kPhi;
  } else if(!name.CompareTo("centrality")) {
    varcode = kCentrality;
  } else {
    AliError("Variable not defined or not supposed to have a user-defined binning.");
  }

  if(varcode < 1000) fVariables->AddLast(new AliHFEvariable(name.Data(), name.Data(), varcode, nBins, binning));
  // More to come ...
}

//____________________________________________________________
Bool_t AliHFEvarManager::IsVariableDefined(TString name){
  //
  // Add new variable to the var manager
  // Value derived via GetValue()
  //
   AliDebug(1, Form("Var Name: %s", name.Data()));

   AliHFEvariable *u = (AliHFEvariable *) fVariables->FindObject((const char*)name);
   if(u) return kTRUE;
   else return kFALSE;
  
   // More to come ...
}

//____________________________________________________________
void AliHFEvarManager::DefineVariables(AliHFEcontainer *cont){
	//
	// Define Variables
	//
  Int_t nVars = fVariables->GetEntriesFast();
  cont->SetNumberOfVariables(nVars);
  TIter vars(fVariables);
  AliHFEvariable *var;
  Int_t counter = 0;
  while((var = dynamic_cast<AliHFEvariable *>(vars()))){
    cont->SetVariableName(counter, var->GetName());
    if(var->IsLogarithmic())
      cont->MakeLogarithmicBinning(counter, var->GetNumberOfBins(), var->GetMinimum(), var->GetMaximum());
    else if(var->HasUserDefinedBinning())
      cont->MakeUserDefinedBinning(counter, var->GetNumberOfBins(), var->GetBinning());
    else
      cont->MakeLinearBinning(counter, var->GetNumberOfBins(), var->GetMinimum(), var->GetMaximum());
    counter++;
  }
	fContent = new Double_t[nVars]; 
  memset(fContent, 0, sizeof(Double_t) * nVars);
  fContentMC = new Double_t[nVars]; 
  memset(fContentMC, 0, sizeof(Double_t) * nVars);
}

//____________________________________________________________
void AliHFEvarManager::NewTrack(AliVParticle *recTrack, AliVParticle *mcTrack, Float_t centrality, Int_t aprioriPID, Bool_t signal){
  //
  // Cache information for new track pair
  //
  AliDebug(1, "Filling new Track");
  fSignalTrack = signal;
  FillArray(recTrack, fContent, centrality, aprioriPID);
  if(mcTrack) FillArray(mcTrack, fContentMC, centrality, aprioriPID);
  if(fWeighting){
    Int_t indexpt = -1, indexeta = -1, indexphi = -1, counter = 0;
    AliHFEvariable *var = NULL;
    TIter vars(fVariables);
    while((var = dynamic_cast<AliHFEvariable *>(vars()))){
      switch(var->GetVarCode()){
        case kPt:   indexpt = counter;  break;
        case kEta:  indexeta = counter; break;
        case kPhi:  indexphi = counter; break;
      };
      if(indexpt >= 0 && indexeta >= 0 && indexphi >= 0) // all dimensions found
        break;
      counter++;
    }
    if(indexpt >= 0 && indexeta >= 0 && indexphi >= 0)
      fWeightFactor = FindWeight(fContent[indexpt], fContent[indexeta], fContent[indexphi]);
  }
}

//____________________________________________________________
Double_t AliHFEvarManager::GetValue(AliVParticle *track, UInt_t code, Float_t centrality, Int_t aprioriPID) const {
  //
  // Definition of the variables
  //
  if(!track) return 0.;
  Double_t value = 0.;
  switch(code){
    case kPt:       value = track->Pt();  break;
    case kEta:      value = track->Eta(); break;
    case kPhi:      value = track->Phi(); break;
    case kCharge:{
      value = track->Charge();
      if(TString(track->IsA()->GetName()).Contains("MC")) value /= 3;
      break;
    }
    case kSource:{
      if(fSignal){
        value = static_cast<Int_t>(fSignal->GetSignalSource(track));
        /*
	      if(fSignal->IsCharmElectron(track)) value = 0;
	      else if(fSignal->IsBeautyElectron(track)) value = 1;
	      else if(fSignal->IsGammaElectron(track)) value = 2;
        else if(fSignal->IsNonHFElectron(track)) value = 3;
        else if(fSignal->IsJpsiElectron(track)) value = 4;
        else if(fSignal->IsB2JpsiElectron(track)) value = 5;
        else if(fSignal->IsKe3Electron(track)) value = 6;
	      else value = 7;
        */
      }
      AliDebug(2, Form("source: %f", value));
      break;
    }
    case kSpecies:  value = aprioriPID; break; 
    case kCentrality:  value = centrality; break;  
  };
  return value;
}

//____________________________________________________________
void AliHFEvarManager::FillArray(AliVParticle *track, Double_t* container, Float_t centrality, Int_t aprioriPID) const{
	//
	// Fill array with variables
	//
  TIter vars(fVariables);
  AliHFEvariable *var = NULL;
  Int_t counter = 0;
  while((var = dynamic_cast<AliHFEvariable *>(vars())))
    container[counter++] = GetValue(track , var->GetVarCode(), centrality, aprioriPID);
}

//____________________________________________________________
void AliHFEvarManager::FillContainer(AliCFContainer *cont, Int_t step, Bool_t useMC) const{
	//
	// Fill CF container with defined content
	//

	// Do reweighting if necessary
  Double_t *content = fContent;
  if(useMC) content = fContentMC;
	cont->Fill(content, step, fWeightFactor);
}

//____________________________________________________________
void AliHFEvarManager::FillContainer(const AliHFEcontainer *const cont, const Char_t *contname, UInt_t step, Bool_t useMC, Double_t externalWeight) const {
	//
	// Fill CF container with defined content
	//

  // Do reweighting if necessary
  Double_t *content = fContent;
  if(useMC) content = fContentMC;
	cont->FillCFContainer(contname, step, content, fWeightFactor * externalWeight);
}  

//____________________________________________________________
void AliHFEvarManager::FillContainerStepname(const AliHFEcontainer *const cont, const Char_t *contname, const Char_t *step, Bool_t useMC, Double_t externalWeight) const {
	//
	// Fill CF container with defined content
	//

  // Do reweighting if necessary
  Double_t *content = fContent;
  if(useMC) content = fContentMC;
	cont->FillCFContainerStepname(contname, step, content, fWeightFactor * externalWeight);
}  

//____________________________________________________________
void AliHFEvarManager::FillCorrelationMatrix(THnSparseF *matrix) const {
	//
	// Fill Correlation Matrix
	//

	// Do reweighting if necessary
  Int_t nVars = fVariables->GetEntriesFast();
  Double_t *content = new Double_t[2*nVars];
  memcpy(&content[0], fContent, sizeof(Double_t) * nVars);
  memcpy(&content[nVars], fContentMC, sizeof(Double_t) * nVars);
  matrix->Fill(content, fWeightFactor);
  delete[] content;

}

//_______________________________________________
void AliHFEvarManager::SetWeightFactors(TH3F *weightFactors){
	//
	// Set the histos with the weights for the efficiency maps
	//
	fWeighting = kTRUE;
	fWeightFactors = weightFactors;
}

//_______________________________________________
void AliHFEvarManager::SetWeightFactorsFunction(TF3 *weightFactorsFunction){
	//
	// Set the histos with the weights for the efficiency maps
	//
	fWeighting = kTRUE;
	fWeightFactorsFunction = weightFactorsFunction;
}

//_______________________________________________
Double_t AliHFEvarManager::FindWeight(Double_t pt, Double_t eta, Double_t phi) const {
	//
	// Find the weight corresponding to pt eta and phi in the TH3D
	//
	Double_t weight = 1.0;
	if(fWeightFactors) {

		TAxis *ptaxis = fWeightFactors->GetXaxis();
		TAxis *etaaxis = fWeightFactors->GetYaxis();
		TAxis *phiaxis = fWeightFactors->GetZaxis();

		Int_t ptbin = ptaxis->FindBin(pt);
		Int_t etabin = etaaxis->FindBin(eta);
		Int_t phibin = phiaxis->FindBin(phi);


		weight = fWeightFactors->GetBinContent(ptbin,etabin,phibin);
	}
	else if(fWeightFactorsFunction) {

		weight = fWeightFactorsFunction->Eval(pt,eta,phi);

	}

	AliDebug(2, Form("pt %f, eta %f, phi %f, weight %f",pt,eta,phi,weight));

	return weight;
}

//_______________________________________________
AliHFEvarManager::AliHFEvariable::AliHFEvariable():
    TNamed()
  , fCode(0)
  , fNBins(0)
  , fMin(0)
  , fMax(0)
  , fBinning()
  , fIsLogarithmic(kFALSE)
  , fUserDefinedBinning(kFALSE)
{
  // 
  // Dummy constructor
  //
}

//_______________________________________________
AliHFEvarManager::AliHFEvariable::AliHFEvariable(const Char_t *name, const Char_t *title, UInt_t code, UInt_t nBins, const Double_t *binning):
    TNamed(name, title)
  , fCode(code)
  , fNBins(nBins)
  , fMin(0.)
  , fMax(0.)
  , fBinning()
  , fIsLogarithmic(kFALSE)
  , fUserDefinedBinning(kTRUE)
{
  // 
  // Default constructor
  //
  fBinning.Set(nBins+1);
  memcpy(fBinning.GetArray(), binning, sizeof(Double_t) * (nBins+1));
}

//_______________________________________________
AliHFEvarManager::AliHFEvariable::AliHFEvariable(const Char_t *name, const Char_t *title, UInt_t code, UInt_t nBins, Double_t min, Double_t max, Bool_t isLogarithmic):
    TNamed(name, title)
  , fCode(code)
  , fNBins(nBins)
  , fMin(min)
  , fMax(max)
  , fBinning()
  , fIsLogarithmic(isLogarithmic)
  , fUserDefinedBinning(kFALSE)
{
  // 
  // Default constructor
  //
}

//_______________________________________________
AliHFEvarManager::AliHFEvariable::AliHFEvariable(const AliHFEvarManager::AliHFEvariable &ref):
    TNamed(ref)
  , fCode(ref.fCode)
  , fNBins(ref.fNBins)
  , fMin(ref.fMin)
  , fMax(ref.fMax)
  , fBinning(ref.fBinning)
  , fIsLogarithmic(ref.fIsLogarithmic)
  , fUserDefinedBinning(ref.fUserDefinedBinning)
{
  // 
  // Copy constructor
  //
}

//_______________________________________________
AliHFEvarManager::AliHFEvariable& AliHFEvarManager::AliHFEvariable::operator=(const AliHFEvarManager::AliHFEvariable &ref){
  //
  // Assignment operator
  //
  
  if(&ref != this){
    TNamed::operator=(ref);
    fBinning = ref.fBinning;
    fCode = ref.fCode;
    fNBins = ref.fNBins;
    fMax = ref.fMax;
    fMin = ref.fMin;
    fIsLogarithmic = ref.fIsLogarithmic;
    fUserDefinedBinning = ref.fUserDefinedBinning;
  }
  return *this;
}

//_______________________________________________
AliHFEvarManager::AliHFEvariable::~AliHFEvariable(){
  //
  // Destruktor
  //
}

//_______________________________________________
Double_t* AliHFEvarManager::AliHFEvariable::GetBinning() { 
  if(fUserDefinedBinning) return fBinning.GetArray(); 

  // No User defined Binning - create one and store in fBinning
  if(fBinning.GetSize() != 0) return fBinning.GetArray();
  else{
    Double_t *binning;
    if(fIsLogarithmic) binning = AliHFEtools::MakeLogarithmicBinning(fNBins, fMin, fMax);
    else binning = AliHFEtools::MakeLogarithmicBinning(fNBins, fMin, fMax);
    fBinning.Set(fNBins+1, binning);
    delete []binning;
    return fBinning.GetArray();
  }
}

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