ROOT logo
/**************************************************************************
 * Copyright(c) 2007-2009, 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 "AliITSURecoParam.h"
#include "AliLog.h"
#include "AliITSUTrackCond.h"

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Class with ITS reconstruction parameters                                  //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

ClassImp(AliITSURecoParam)


const Double_t AliITSURecoParam::fgkMaxDforV0dghtrForProlongation = 30;
const Double_t AliITSURecoParam::fgkMaxDForProlongation           = 40; 
const Double_t AliITSURecoParam::fgkMaxDZForProlongation          = 60;      
const Double_t AliITSURecoParam::fgkMinPtForProlongation          = 0.0; 
const Double_t AliITSURecoParam::fgkSigmaRoadY                    = 20.E-4;//1000e-4;
const Double_t AliITSURecoParam::fgkSigmaRoadZ                    = 20.E-4;//1000e-4;
const Double_t AliITSURecoParam::fgkTanLorentzAngle               = 0;
const Bool_t   AliITSURecoParam::fgkAllowDiagonalClusterization   = kFALSE;
//
// hardwired params for TPC-ITS border layer
const Double_t AliITSURecoParam::fgkTPCITSWallRMin                = 50.;
const Double_t AliITSURecoParam::fgkTPCITSWallRMax                = 80.;
const Double_t AliITSURecoParam::fgkTPCITSWallZSpanH              = 250.;
const Double_t AliITSURecoParam::fgkTPCITSWallMaxStep             = 6.;
//
const Bool_t   AliITSURecoParam::fgkUseMatLUT[kNTrackingPhases] = {kFALSE,kFALSE,kFALSE};

//
//_____________________________________________________________________________
AliITSURecoParam::AliITSURecoParam()
  :  fNLayers(0)
  ,fMaxDforV0dghtrForProlongation(fgkMaxDforV0dghtrForProlongation)
  ,fMaxDForProlongation(fgkMaxDForProlongation)
  ,fMaxDZForProlongation(fgkMaxDZForProlongation)
  ,fMinPtForProlongation(fgkMinPtForProlongation)
     //
  ,fTPCITSWallRMin(fgkTPCITSWallRMin)
  ,fTPCITSWallRMax(fgkTPCITSWallRMax)
  ,fTPCITSWallZSpanH(fgkTPCITSWallZSpanH)
  ,fTPCITSWallMaxStep(fgkTPCITSWallMaxStep)
     //
  ,fAllowDiagonalClusterization(0)
  ,fTanLorentzAngle(0)
  ,fSigmaY2(0)
  ,fSigmaZ2(0)
  ,fTrackingConditions(0)
  ,fTracker(0)
  ,fSAonly(kFALSE)
  ,fMaxROCycle(126) // like in AliITSUSimulation::kMaxROCycleAccept
{
  // def c-tor
  SetName("ITS");
  SetTitle("ITS");
  for (int i=kNTrackingPhases;i--;) fUseMatLUT[i] = fgkUseMatLUT[i];
}

//_____________________________________________________________________________
AliITSURecoParam::AliITSURecoParam(Int_t nLr)
  :  fNLayers(0)
  ,fMaxDforV0dghtrForProlongation(fgkMaxDforV0dghtrForProlongation)
  ,fMaxDForProlongation(fgkMaxDForProlongation)
  ,fMaxDZForProlongation(fgkMaxDZForProlongation)
  ,fMinPtForProlongation(fgkMinPtForProlongation)
     //
  ,fTPCITSWallRMin(fgkTPCITSWallRMin)
  ,fTPCITSWallRMax(fgkTPCITSWallRMax)
  ,fTPCITSWallZSpanH(fgkTPCITSWallZSpanH)
  ,fTPCITSWallMaxStep(fgkTPCITSWallMaxStep)
     //
  ,fAllowDiagonalClusterization(0)
  ,fTanLorentzAngle(0)
  ,fSigmaY2(0)
  ,fSigmaZ2(0)
  ,fTrackingConditions(0)
  ,fTracker(0)
  ,fSAonly(kFALSE)
  ,fMaxROCycle(126) // like in AliITSUSimulation::kMaxROCycleAccept
{
  // def c-tor
  SetName("ITS");
  SetTitle("ITS");
  SetNLayers(nLr);
}

//_____________________________________________________________________________
AliITSURecoParam::~AliITSURecoParam() 
{
  // destructor
  delete[] fTanLorentzAngle;
  delete[] fSigmaY2;
  delete[] fSigmaZ2;
  delete[] fAllowDiagonalClusterization;
  fTrackingConditions.Delete();
}

//_____________________________________________________________________________
AliITSURecoParam *AliITSURecoParam::GetHighFluxParam() 
{
  // make default reconstruction  parameters for hig  flux env.

  // The settings below are taken from Ruben's MakeITSRecoParam.C
    enum {
      kBit0=0x1<<0, kBit1=0x1<<1, kBit2=0x1<<2, kBit3=0x1<<3,
      kBit4=0x1<<4, kBit5=0x1<<5, kBit6=0x1<<6, kBit7=0x7<<2, kBit8=0x1<<8
    };
    const Bool_t kAllowDiagCl = kFALSE;
    const Bool_t kUseLUT[3]={kTRUE,kTRUE,kFALSE};
    //Use TGeo mat.queries only for RefitInward

    Int_t nLr=7;

    AliITSURecoParam * itsRecoParam = new AliITSURecoParam();
    //
    itsRecoParam->SetNLayers(nLr);
    //
    //******************************************************************
    itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult);
    itsRecoParam->SetTitle("HighMult");
    //******************************************************************
    for (int i=0; i<nLr; i++) 
        itsRecoParam->SetAllowDiagonalClusterization(i,kAllowDiagCl);
    for (int i=AliITSURecoParam::kNTrackingPhases; i--;) 
        itsRecoParam->SetUseMatLUT(i,kUseLUT[i]);

    // Add tracking conditions >>>
    AliITSUTrackCond *trCond=0;
    {
    int c0nBranch[7] = {3,9,15,4,5,7,10}; // max branching for the seed on layer
    int c0nCands[7]  = {10,15,45,20,60,20,10};// max candidates for the TPC seed
    float c0tr2clChi2[7] ={20,25,30,40,45,45,70};//cut on cluster to track chi2 
    float c0gloChi2[7]   = {6,10,20,30,60,60,70}; //cut on seed global norm chi2
    float c0missPen[7] = {2.,2.,2.,2.,2.,2.,2.};  // missing cluster penalty
    float c0maxChi2SA[14]={0.,0.,0.,0.,2.5,5.,10.,20.,20.,20.,20.,20.,20.,20.};
    // chi2SA vs Nclus
    float c0maxChi2Match = 10.;
 
    trCond = new AliITSUTrackCond();
    trCond->SetNLayers(nLr); 
    trCond->SetMaxITSTPCMatchChi2(c0maxChi2Match);
    //
    for (int i=0; i<nLr; i++) {
      trCond->SetMaxBranches(i,c0nBranch[i]);    // each seed propagated to given layer can produce max nBranch branches
      trCond->SetMaxCandidates(i,c0nCands[i]);   // each tpc track may have at most nCands prolongations
      trCond->SetMaxTr2ClChi2(i,c0tr2clChi2[i]);   // cut on cluster to track chi2
      trCond->SetMaxChi2GloNrm(i,c0gloChi2[i]);  // cut on cluster to track global chi2
      trCond->SetMissPenalty(i,c0missPen[i]);    // missing cluster penalty
    }

    for (int i=1; i<=2*nLr; i++) trCond->SetMaxITSSAChi2(i,c0maxChi2SA[i-1]);

    trCond->AddNewCondition(5); // min hits
    trCond->AddGroupPattern( kBit0|kBit1|kBit2, 2); // at least 2 hits in 3 inner layers
    trCond->AddGroupPattern( kBit3|kBit4      , 1); // at least 1 hit in 2 middle layers
    trCond->AddGroupPattern( kBit5|kBit6      , 1); // at least 1 hit in 2 outer layers
    //
    trCond->Init();
    //
    itsRecoParam->AddTrackingCondition(trCond);
    }

    //-----------------------------------------------------------
    // short tracks
    {
    int c1nBranch[7] = {0,0,0,4,6,6,10}; // max branching for the seed on layer
    int c1nCands[7]  = {0,0,0,5,5,5,8}; // max candidates for the TPC seed
    float c1tr2clChi2[7]= {0,0,0,20,20,20,30}; // cut on cluster to track chi2 
    float c1gloChi2[7]  = {0,0,0,16,40,35,30}; // cut on seed global norm chi2
    float c1missPen[7]  = {0.,0.,0.,2.,2.,2.,2.};    // missing cluster penalty
    float c1maxChi2SA[14]={0.,0.,0.,5.,13.,13.,18.,10.,10.,10.,10.,10.,10.,10.};
    // chi2SA vs Nclus
    float c1maxChi2Match = 10.;

    trCond = new AliITSUTrackCond();
    trCond->SetNLayers(nLr); 
    //
    trCond->ExcludeLayer(0);
    trCond->ExcludeLayer(1);
    trCond->ExcludeLayer(2);
    //
    trCond->SetMaxITSTPCMatchChi2(c1maxChi2Match);
    //
    // to exclude some layer use trCon->ExcludeLayer(lrID);
    //
    for (int i=0; i<nLr; i++) {
      trCond->SetMaxBranches(i,c1nBranch[i]);    // each seed propagated to given layer can produce max nBranch branches
      trCond->SetMaxCandidates(i,c1nCands[i]);   // each tpc track may have at most nCands prolongations
      trCond->SetMaxTr2ClChi2(i,c1tr2clChi2[i]); // cut on cluster to track chi2
      trCond->SetMaxChi2GloNrm(i,c1gloChi2[i]);  // cut on cluster to track global chi2
      trCond->SetMissPenalty(i,c1missPen[i]);    // missing cluster penalty
    }

    for (int i=1; i<=2*nLr; i++) trCond->SetMaxITSSAChi2(i,c1maxChi2SA[i-1]);
    
    trCond->AddNewCondition(4); // min hits
    trCond->AddGroupPattern( kBit3|kBit4|kBit5|kBit6, 4);
    
    trCond->Init();
    
    itsRecoParam->AddTrackingCondition(trCond);
    }

    //-----------------------------------------------------------
    // very short tracks
    {
    int c2nBranch[7] = {0,0,0,0,0,6,10}; // max branching for the seed on layer
    int c2nCands[7]  = {0,0,0,0,0,5,8}; // max candidates for the TPC seed
    float c2tr2clChi2[7]= {0,0,0,0,0,15,20}; // cut on cluster to track chi2
    float c2gloChi2[7]  = {0,0,0,0,0,15,20}; // cut on seed global norm chi2
    float c2missPen[7]  = {0.,0.,0.,0.,0.,2.,2.};    // missing cluster penalty
    float c2maxChi2SA[14]={0.,5.,5.,5.,13.,13.,18.,10.,10.,10.,10.,10.,10.,10.};
    // chi2SA vs Nclus, meaningless for 2 point tracks 
    float c2maxChi2Match = 6.;

    trCond = new AliITSUTrackCond();
    trCond->SetNLayers(nLr); 
    //
    trCond->ExcludeLayer(0);
    trCond->ExcludeLayer(1);
    trCond->ExcludeLayer(2);
    trCond->ExcludeLayer(3);
    trCond->ExcludeLayer(4);
    
    trCond->SetMaxITSTPCMatchChi2(c2maxChi2Match);
    //
    // to exclude some layer use trCon->ExcludeLayer(lrID);
    //
    for (int i=0; i<nLr; i++) {
      trCond->SetMaxBranches(i,c2nBranch[i]);    // each seed propagated to given layer can produce max nBranch branches
      trCond->SetMaxCandidates(i,c2nCands[i]);   // each tpc track may have at most nCands prolongations
      trCond->SetMaxTr2ClChi2(i,c2tr2clChi2[i]); // cut on cluster to track chi2
      trCond->SetMaxChi2GloNrm(i,c2gloChi2[i]);  // cut on cluster to track global chi2
      trCond->SetMissPenalty(i,c2missPen[i]);    // missing cluster penalty
    }

    for (int i=1;i<=2*nLr;i++) trCond->SetMaxITSSAChi2(i,c2maxChi2SA[i-1]);
    //
    trCond->AddNewCondition(2); // min hits
    trCond->AddGroupPattern( kBit5|kBit6, 2);
    //
    trCond->Init();
    //
    itsRecoParam->AddTrackingCondition(trCond);
    }
    return itsRecoParam;
}

//_____________________________________________________________________________
AliITSURecoParam *AliITSURecoParam::GetLowFluxParam() 
{
  // make default reconstruction  parameters for low  flux env.
  AliITSURecoParam *param = new AliITSURecoParam();
  // put here params
  return param;
}

//_____________________________________________________________________________
AliITSURecoParam *AliITSURecoParam::GetCosmicTestParam() 
{
  // make default reconstruction  parameters for cosmics
  AliITSURecoParam *param = new AliITSURecoParam();
  // put here params
  return param;
}

//_____________________________________________________________________________
void  AliITSURecoParam::SetNLayers(Int_t n)
{
  // set n layers and init all layer dependent arrays
  if (fNLayers>0) AliFatal(Form("Number of layers was already set to %d",fNLayers));
  if (n<1) n = 1; // in case we want to have dummy params
  fNLayers = n;
  fTanLorentzAngle = new Double_t[n];
  fSigmaY2 = new Double_t[n];
  fSigmaZ2 = new Double_t[n];
  fAllowDiagonalClusterization = new Bool_t[n];
  //
  for (int i=n;i--;) {
    fAllowDiagonalClusterization[i] = fgkAllowDiagonalClusterization;
    fTanLorentzAngle[i] = fgkTanLorentzAngle;
    fSigmaY2[i] = fgkSigmaRoadY*fgkSigmaRoadY;
    fSigmaZ2[i] = fgkSigmaRoadZ*fgkSigmaRoadZ;
  }
  //
}

//_____________________________________________________________________________
void  AliITSURecoParam::SetTanLorentzAngle(Int_t lr, Double_t v)
{
  // set Lorentz angle value
  if (lr>=fNLayers) AliFatal(Form("Number of defined layers is %d",fNLayers));
  fTanLorentzAngle[lr] = v;
}

//_____________________________________________________________________________
void  AliITSURecoParam::SetSigmaY2(Int_t lr, Double_t v)
{
  // set Lorentz angle value
  if (lr>=fNLayers) AliFatal(Form("Number of defined layers is %d",fNLayers));
  fSigmaY2[lr] = v;
}

//_____________________________________________________________________________
void  AliITSURecoParam::SetSigmaZ2(Int_t lr, Double_t v)
{
  // set Lorentz angle value
  if (lr>=fNLayers) AliFatal(Form("Number of defined layers is %d",fNLayers));
  fSigmaZ2[lr] = v;
}

//_____________________________________________________________________________
void  AliITSURecoParam::SetAllowDiagonalClusterization(Int_t lr, Bool_t v)
{
  // set Lorentz angle value
  if (lr>=fNLayers) AliFatal(Form("Number of defined layers is %d",fNLayers));
  fAllowDiagonalClusterization[lr] = v;
}

//========================================================================
//_____________________________________________________________________________
void AliITSURecoParam::Print(Option_t *) const
{
  // print params
  printf("%s: %s %s\n",ClassName(),GetName(),GetTitle());
  printf("%-30s\t%f\n","fMaxDforV0dghtrForProlongation",fMaxDforV0dghtrForProlongation);
  printf("%-30s\t%f\n","fMaxDForProlongation",fMaxDForProlongation); 
  printf("%-30s\t%f\n","fMaxDZForProlongation",fMaxDZForProlongation);
  printf("%-30s\t%f\n","fMinPtForProlongation",fMinPtForProlongation);
  //
  printf("Use material LUT at steps: "); 
  for (int i=0;i<kNTrackingPhases;i++) printf("%d : %s |",i,GetUseMatLUT(i) ? "ON":"OFF"); printf("\n");
  printf("TPC-ITS wall: %.3f<R<%.3f DZ/2=%.3f MaxStep=%.3f\n",
	 fTPCITSWallRMin,fTPCITSWallRMax,fTPCITSWallZSpanH,fTPCITSWallMaxStep);
  //
  printf("N.Layers: %d\n",fNLayers);
  if (fNLayers>0) {
    printf("Layer-wise data:\n");
    printf("%-30s\t:","fTanLorentzAngle");  for (int i=0;i<fNLayers;i++) printf(" %+.2e",fTanLorentzAngle[i]); printf("\n");
    printf("%-30s\t:","fSigmaY2");          for (int i=0;i<fNLayers;i++) printf(" %+.2e",fSigmaY2[i]); printf("\n");
    printf("%-30s\t:","fSigmaZ2");          for (int i=0;i<fNLayers;i++) printf(" %+.2e",fSigmaZ2[i]); printf("\n");
  }
  //
  int nTrCond = GetNTrackingConditions();
  printf("%d tracking conditions defined\n",nTrCond);
  for (int itc=0;itc<nTrCond;itc++) {
    printf("Tracking condition %d\n",itc);
    GetTrackingCondition(itc)->Print();
  }
}

//__________________________________________________
void  AliITSURecoParam::AddTrackingCondition(AliITSUTrackCond* cond)
{
  // Add new tracking condition
  fTrackingConditions.AddLast(cond);
}
 AliITSURecoParam.cxx:1
 AliITSURecoParam.cxx:2
 AliITSURecoParam.cxx:3
 AliITSURecoParam.cxx:4
 AliITSURecoParam.cxx:5
 AliITSURecoParam.cxx:6
 AliITSURecoParam.cxx:7
 AliITSURecoParam.cxx:8
 AliITSURecoParam.cxx:9
 AliITSURecoParam.cxx:10
 AliITSURecoParam.cxx:11
 AliITSURecoParam.cxx:12
 AliITSURecoParam.cxx:13
 AliITSURecoParam.cxx:14
 AliITSURecoParam.cxx:15
 AliITSURecoParam.cxx:16
 AliITSURecoParam.cxx:17
 AliITSURecoParam.cxx:18
 AliITSURecoParam.cxx:19
 AliITSURecoParam.cxx:20
 AliITSURecoParam.cxx:21
 AliITSURecoParam.cxx:22
 AliITSURecoParam.cxx:23
 AliITSURecoParam.cxx:24
 AliITSURecoParam.cxx:25
 AliITSURecoParam.cxx:26
 AliITSURecoParam.cxx:27
 AliITSURecoParam.cxx:28
 AliITSURecoParam.cxx:29
 AliITSURecoParam.cxx:30
 AliITSURecoParam.cxx:31
 AliITSURecoParam.cxx:32
 AliITSURecoParam.cxx:33
 AliITSURecoParam.cxx:34
 AliITSURecoParam.cxx:35
 AliITSURecoParam.cxx:36
 AliITSURecoParam.cxx:37
 AliITSURecoParam.cxx:38
 AliITSURecoParam.cxx:39
 AliITSURecoParam.cxx:40
 AliITSURecoParam.cxx:41
 AliITSURecoParam.cxx:42
 AliITSURecoParam.cxx:43
 AliITSURecoParam.cxx:44
 AliITSURecoParam.cxx:45
 AliITSURecoParam.cxx:46
 AliITSURecoParam.cxx:47
 AliITSURecoParam.cxx:48
 AliITSURecoParam.cxx:49
 AliITSURecoParam.cxx:50
 AliITSURecoParam.cxx:51
 AliITSURecoParam.cxx:52
 AliITSURecoParam.cxx:53
 AliITSURecoParam.cxx:54
 AliITSURecoParam.cxx:55
 AliITSURecoParam.cxx:56
 AliITSURecoParam.cxx:57
 AliITSURecoParam.cxx:58
 AliITSURecoParam.cxx:59
 AliITSURecoParam.cxx:60
 AliITSURecoParam.cxx:61
 AliITSURecoParam.cxx:62
 AliITSURecoParam.cxx:63
 AliITSURecoParam.cxx:64
 AliITSURecoParam.cxx:65
 AliITSURecoParam.cxx:66
 AliITSURecoParam.cxx:67
 AliITSURecoParam.cxx:68
 AliITSURecoParam.cxx:69
 AliITSURecoParam.cxx:70
 AliITSURecoParam.cxx:71
 AliITSURecoParam.cxx:72
 AliITSURecoParam.cxx:73
 AliITSURecoParam.cxx:74
 AliITSURecoParam.cxx:75
 AliITSURecoParam.cxx:76
 AliITSURecoParam.cxx:77
 AliITSURecoParam.cxx:78
 AliITSURecoParam.cxx:79
 AliITSURecoParam.cxx:80
 AliITSURecoParam.cxx:81
 AliITSURecoParam.cxx:82
 AliITSURecoParam.cxx:83
 AliITSURecoParam.cxx:84
 AliITSURecoParam.cxx:85
 AliITSURecoParam.cxx:86
 AliITSURecoParam.cxx:87
 AliITSURecoParam.cxx:88
 AliITSURecoParam.cxx:89
 AliITSURecoParam.cxx:90
 AliITSURecoParam.cxx:91
 AliITSURecoParam.cxx:92
 AliITSURecoParam.cxx:93
 AliITSURecoParam.cxx:94
 AliITSURecoParam.cxx:95
 AliITSURecoParam.cxx:96
 AliITSURecoParam.cxx:97
 AliITSURecoParam.cxx:98
 AliITSURecoParam.cxx:99
 AliITSURecoParam.cxx:100
 AliITSURecoParam.cxx:101
 AliITSURecoParam.cxx:102
 AliITSURecoParam.cxx:103
 AliITSURecoParam.cxx:104
 AliITSURecoParam.cxx:105
 AliITSURecoParam.cxx:106
 AliITSURecoParam.cxx:107
 AliITSURecoParam.cxx:108
 AliITSURecoParam.cxx:109
 AliITSURecoParam.cxx:110
 AliITSURecoParam.cxx:111
 AliITSURecoParam.cxx:112
 AliITSURecoParam.cxx:113
 AliITSURecoParam.cxx:114
 AliITSURecoParam.cxx:115
 AliITSURecoParam.cxx:116
 AliITSURecoParam.cxx:117
 AliITSURecoParam.cxx:118
 AliITSURecoParam.cxx:119
 AliITSURecoParam.cxx:120
 AliITSURecoParam.cxx:121
 AliITSURecoParam.cxx:122
 AliITSURecoParam.cxx:123
 AliITSURecoParam.cxx:124
 AliITSURecoParam.cxx:125
 AliITSURecoParam.cxx:126
 AliITSURecoParam.cxx:127
 AliITSURecoParam.cxx:128
 AliITSURecoParam.cxx:129
 AliITSURecoParam.cxx:130
 AliITSURecoParam.cxx:131
 AliITSURecoParam.cxx:132
 AliITSURecoParam.cxx:133
 AliITSURecoParam.cxx:134
 AliITSURecoParam.cxx:135
 AliITSURecoParam.cxx:136
 AliITSURecoParam.cxx:137
 AliITSURecoParam.cxx:138
 AliITSURecoParam.cxx:139
 AliITSURecoParam.cxx:140
 AliITSURecoParam.cxx:141
 AliITSURecoParam.cxx:142
 AliITSURecoParam.cxx:143
 AliITSURecoParam.cxx:144
 AliITSURecoParam.cxx:145
 AliITSURecoParam.cxx:146
 AliITSURecoParam.cxx:147
 AliITSURecoParam.cxx:148
 AliITSURecoParam.cxx:149
 AliITSURecoParam.cxx:150
 AliITSURecoParam.cxx:151
 AliITSURecoParam.cxx:152
 AliITSURecoParam.cxx:153
 AliITSURecoParam.cxx:154
 AliITSURecoParam.cxx:155
 AliITSURecoParam.cxx:156
 AliITSURecoParam.cxx:157
 AliITSURecoParam.cxx:158
 AliITSURecoParam.cxx:159
 AliITSURecoParam.cxx:160
 AliITSURecoParam.cxx:161
 AliITSURecoParam.cxx:162
 AliITSURecoParam.cxx:163
 AliITSURecoParam.cxx:164
 AliITSURecoParam.cxx:165
 AliITSURecoParam.cxx:166
 AliITSURecoParam.cxx:167
 AliITSURecoParam.cxx:168
 AliITSURecoParam.cxx:169
 AliITSURecoParam.cxx:170
 AliITSURecoParam.cxx:171
 AliITSURecoParam.cxx:172
 AliITSURecoParam.cxx:173
 AliITSURecoParam.cxx:174
 AliITSURecoParam.cxx:175
 AliITSURecoParam.cxx:176
 AliITSURecoParam.cxx:177
 AliITSURecoParam.cxx:178
 AliITSURecoParam.cxx:179
 AliITSURecoParam.cxx:180
 AliITSURecoParam.cxx:181
 AliITSURecoParam.cxx:182
 AliITSURecoParam.cxx:183
 AliITSURecoParam.cxx:184
 AliITSURecoParam.cxx:185
 AliITSURecoParam.cxx:186
 AliITSURecoParam.cxx:187
 AliITSURecoParam.cxx:188
 AliITSURecoParam.cxx:189
 AliITSURecoParam.cxx:190
 AliITSURecoParam.cxx:191
 AliITSURecoParam.cxx:192
 AliITSURecoParam.cxx:193
 AliITSURecoParam.cxx:194
 AliITSURecoParam.cxx:195
 AliITSURecoParam.cxx:196
 AliITSURecoParam.cxx:197
 AliITSURecoParam.cxx:198
 AliITSURecoParam.cxx:199
 AliITSURecoParam.cxx:200
 AliITSURecoParam.cxx:201
 AliITSURecoParam.cxx:202
 AliITSURecoParam.cxx:203
 AliITSURecoParam.cxx:204
 AliITSURecoParam.cxx:205
 AliITSURecoParam.cxx:206
 AliITSURecoParam.cxx:207
 AliITSURecoParam.cxx:208
 AliITSURecoParam.cxx:209
 AliITSURecoParam.cxx:210
 AliITSURecoParam.cxx:211
 AliITSURecoParam.cxx:212
 AliITSURecoParam.cxx:213
 AliITSURecoParam.cxx:214
 AliITSURecoParam.cxx:215
 AliITSURecoParam.cxx:216
 AliITSURecoParam.cxx:217
 AliITSURecoParam.cxx:218
 AliITSURecoParam.cxx:219
 AliITSURecoParam.cxx:220
 AliITSURecoParam.cxx:221
 AliITSURecoParam.cxx:222
 AliITSURecoParam.cxx:223
 AliITSURecoParam.cxx:224
 AliITSURecoParam.cxx:225
 AliITSURecoParam.cxx:226
 AliITSURecoParam.cxx:227
 AliITSURecoParam.cxx:228
 AliITSURecoParam.cxx:229
 AliITSURecoParam.cxx:230
 AliITSURecoParam.cxx:231
 AliITSURecoParam.cxx:232
 AliITSURecoParam.cxx:233
 AliITSURecoParam.cxx:234
 AliITSURecoParam.cxx:235
 AliITSURecoParam.cxx:236
 AliITSURecoParam.cxx:237
 AliITSURecoParam.cxx:238
 AliITSURecoParam.cxx:239
 AliITSURecoParam.cxx:240
 AliITSURecoParam.cxx:241
 AliITSURecoParam.cxx:242
 AliITSURecoParam.cxx:243
 AliITSURecoParam.cxx:244
 AliITSURecoParam.cxx:245
 AliITSURecoParam.cxx:246
 AliITSURecoParam.cxx:247
 AliITSURecoParam.cxx:248
 AliITSURecoParam.cxx:249
 AliITSURecoParam.cxx:250
 AliITSURecoParam.cxx:251
 AliITSURecoParam.cxx:252
 AliITSURecoParam.cxx:253
 AliITSURecoParam.cxx:254
 AliITSURecoParam.cxx:255
 AliITSURecoParam.cxx:256
 AliITSURecoParam.cxx:257
 AliITSURecoParam.cxx:258
 AliITSURecoParam.cxx:259
 AliITSURecoParam.cxx:260
 AliITSURecoParam.cxx:261
 AliITSURecoParam.cxx:262
 AliITSURecoParam.cxx:263
 AliITSURecoParam.cxx:264
 AliITSURecoParam.cxx:265
 AliITSURecoParam.cxx:266
 AliITSURecoParam.cxx:267
 AliITSURecoParam.cxx:268
 AliITSURecoParam.cxx:269
 AliITSURecoParam.cxx:270
 AliITSURecoParam.cxx:271
 AliITSURecoParam.cxx:272
 AliITSURecoParam.cxx:273
 AliITSURecoParam.cxx:274
 AliITSURecoParam.cxx:275
 AliITSURecoParam.cxx:276
 AliITSURecoParam.cxx:277
 AliITSURecoParam.cxx:278
 AliITSURecoParam.cxx:279
 AliITSURecoParam.cxx:280
 AliITSURecoParam.cxx:281
 AliITSURecoParam.cxx:282
 AliITSURecoParam.cxx:283
 AliITSURecoParam.cxx:284
 AliITSURecoParam.cxx:285
 AliITSURecoParam.cxx:286
 AliITSURecoParam.cxx:287
 AliITSURecoParam.cxx:288
 AliITSURecoParam.cxx:289
 AliITSURecoParam.cxx:290
 AliITSURecoParam.cxx:291
 AliITSURecoParam.cxx:292
 AliITSURecoParam.cxx:293
 AliITSURecoParam.cxx:294
 AliITSURecoParam.cxx:295
 AliITSURecoParam.cxx:296
 AliITSURecoParam.cxx:297
 AliITSURecoParam.cxx:298
 AliITSURecoParam.cxx:299
 AliITSURecoParam.cxx:300
 AliITSURecoParam.cxx:301
 AliITSURecoParam.cxx:302
 AliITSURecoParam.cxx:303
 AliITSURecoParam.cxx:304
 AliITSURecoParam.cxx:305
 AliITSURecoParam.cxx:306
 AliITSURecoParam.cxx:307
 AliITSURecoParam.cxx:308
 AliITSURecoParam.cxx:309
 AliITSURecoParam.cxx:310
 AliITSURecoParam.cxx:311
 AliITSURecoParam.cxx:312
 AliITSURecoParam.cxx:313
 AliITSURecoParam.cxx:314
 AliITSURecoParam.cxx:315
 AliITSURecoParam.cxx:316
 AliITSURecoParam.cxx:317
 AliITSURecoParam.cxx:318
 AliITSURecoParam.cxx:319
 AliITSURecoParam.cxx:320
 AliITSURecoParam.cxx:321
 AliITSURecoParam.cxx:322
 AliITSURecoParam.cxx:323
 AliITSURecoParam.cxx:324
 AliITSURecoParam.cxx:325
 AliITSURecoParam.cxx:326
 AliITSURecoParam.cxx:327
 AliITSURecoParam.cxx:328
 AliITSURecoParam.cxx:329
 AliITSURecoParam.cxx:330
 AliITSURecoParam.cxx:331
 AliITSURecoParam.cxx:332
 AliITSURecoParam.cxx:333
 AliITSURecoParam.cxx:334
 AliITSURecoParam.cxx:335
 AliITSURecoParam.cxx:336
 AliITSURecoParam.cxx:337
 AliITSURecoParam.cxx:338
 AliITSURecoParam.cxx:339
 AliITSURecoParam.cxx:340
 AliITSURecoParam.cxx:341
 AliITSURecoParam.cxx:342
 AliITSURecoParam.cxx:343
 AliITSURecoParam.cxx:344
 AliITSURecoParam.cxx:345
 AliITSURecoParam.cxx:346
 AliITSURecoParam.cxx:347
 AliITSURecoParam.cxx:348
 AliITSURecoParam.cxx:349
 AliITSURecoParam.cxx:350
 AliITSURecoParam.cxx:351
 AliITSURecoParam.cxx:352
 AliITSURecoParam.cxx:353
 AliITSURecoParam.cxx:354
 AliITSURecoParam.cxx:355
 AliITSURecoParam.cxx:356
 AliITSURecoParam.cxx:357
 AliITSURecoParam.cxx:358
 AliITSURecoParam.cxx:359
 AliITSURecoParam.cxx:360
 AliITSURecoParam.cxx:361
 AliITSURecoParam.cxx:362
 AliITSURecoParam.cxx:363
 AliITSURecoParam.cxx:364
 AliITSURecoParam.cxx:365
 AliITSURecoParam.cxx:366
 AliITSURecoParam.cxx:367
 AliITSURecoParam.cxx:368
 AliITSURecoParam.cxx:369
 AliITSURecoParam.cxx:370
 AliITSURecoParam.cxx:371
 AliITSURecoParam.cxx:372
 AliITSURecoParam.cxx:373