ROOT logo
#include "AliFMDMCTrackInspector.h"
#include "AliMCEvent.h"
#include "AliESDEvent.h"
#include "AliStack.h"
#include "AliESDFMD.h"
#include "AliGenEventHeader.h"
#include "AliHeader.h"
#include "AliLog.h"
#include "AliFMDEncodedEdx.h"
#include <TH1.h>
#include <TH2.h>
#include <TMath.h>
#include <TClonesArray.h>

//____________________________________________________________________
AliFMDMCTrackInspector::AliFMDMCTrackInspector()
  : AliFMDEnergyFitter(),
    fTracker(),
    fIp(),
    fNTrack(0),
    fNPrimary(0)
{
}

//____________________________________________________________________
AliFMDMCTrackInspector::AliFMDMCTrackInspector(const char* title)
  : AliFMDEnergyFitter(title),
    fTracker("tracker"),
    fIp(),
    fNTrack(0),
    fNPrimary(0)
{
  // Some defaults 
  fUseIncreasingBins = true;
  fDoFits            = true;
  fDoMakeObject      = false;
  fResidualMethod    = kNoResiduals;
}
//____________________________________________________________________
AliFMDMCTrackInspector::~AliFMDMCTrackInspector()
{}

//____________________________________________________________________
void
AliFMDMCTrackInspector::CreateOutputObjects(TList* dir)
{
  DGUARD(fDebug, 2, "Create output objects w/MC hits (%p)", dir);
  fTracker.CreateOutputObjects(dir);
  AliFMDEnergyFitter::CreateOutputObjects(dir);

  TIter    next(&fRingHistos);
  RingHistos* o = 0;
  while ((o = static_cast<RingHistos*>(next()))) {
    o->fBetaGammadEdx = static_cast<TH2*>(fTracker.GetBetaGammadEdx()->Clone());
    o->fBetaGammaEta  = static_cast<TH2*>(fTracker.GetBetaGammaEta()->Clone());
    o->fDedxEta       = static_cast<TH2*>(fTracker.GetDEdxEta()->Clone());
    o->fBetaGammadEdx->SetDirectory(0);
    o->fBetaGammaEta ->SetDirectory(0);
    o->fDedxEta      ->SetDirectory(0);
    o->fList->Add(o->fBetaGammadEdx);
    o->fList->Add(o->fBetaGammaEta );
    o->fList->Add(o->fDedxEta      );
  }

  // TList* d = static_cast<TList*>(l->FindObject(GetName()));
}
//____________________________________________________________________
Bool_t
AliFMDMCTrackInspector::PreEvent(const AliMCEvent& mcInput)
{
  DGUARD(fDebug, 5, "Reset for event w/MC hits (%p)", &mcInput);
  AliMCEvent&        mc        = const_cast<AliMCEvent&>(mcInput);
  AliHeader*         header    = mc.Header();
  AliStack*          stack     = mc.Stack();
  AliGenEventHeader* genHeader = header->GenEventHeader();
  
  genHeader->PrimaryVertex(fIp);
  fNTrack   = stack->GetNtrack();
  fNPrimary = stack->GetNprimary();

  return true;
}

//____________________________________________________________________
Bool_t
AliFMDMCTrackInspector::Event(const AliESDEvent& esdInput,
			      const AliMCEvent&  mcInput,
			      Double_t           cent)
{
  DGUARD(fDebug, 5, "Process an event for MC hits (%p,%p)",
	 &esdInput, &mcInput);
  PreEvent(mcInput);

  AliESDFMD*  esdFMD    = esdInput.GetFMDData();
  if (!esdFMD) return true;

  fTracker.Calculate(*esdFMD, mcInput, fIp[2], cent);

  return PostEvent();
}


//____________________________________________________________________
Bool_t AliFMDMCTrackInspector::PostEvent()
{
  DGUARD(fDebug, 5, "Fill MC hit energy loss");

  // AliESDFMD*  esdFMD    = input.GetFMDData();
  for (UShort_t d = 1; d <= 3; d++) { 
    UShort_t nQ = (d == 1 ? 1 : 2);
    for (UShort_t q = 0; q < nQ; q++) { 
      UShort_t    nS = (q == 0 ?  20 :  40);
      UShort_t    nT = (q == 0 ? 512 : 256);
      Char_t      r  = (q == 0 ? 'I' : 'O');
      RingHistos* h  = 
	static_cast<AliFMDMCTrackInspector::RingHistos*>(GetRingHistos(d,r));
      if (!h) continue;

      for (UShort_t s = 0; s < nS; s++) { 
	for (UShort_t t = 0; t < nT; t++) {
	  Float_t  totPrim = fTracker.GetPrimaries()(d, r, s, t);
	  Float_t  totSec  = fTracker.GetSecondaries()(d, r, s, t);
	  Float_t  totAll  = fTracker.GetAll()(d, r, s, t);
	  Double_t esdEta  = fTracker.GetEta()(d, r, s, t);
	  if (totAll  > 0) h->FillMC(0,  esdEta, totAll);
	  if (totPrim > 0) h->FillMC(1,  esdEta, totPrim);
	  if (totSec  > 0) h->FillMC(2,  esdEta, totSec);
	}
      }
    }
  }
  TClonesArray* hits = fTracker.GetHits();
  TIter next(hits);
  AliFMDMCTrackELoss::Hit* hit = 0;
  while ((hit = static_cast<AliFMDMCTrackELoss::Hit*>(next()))) {
    RingHistos* h  = 
      static_cast<AliFMDMCTrackInspector::RingHistos*>(GetRingHistos(hit->D(),
								     hit->R()));
    if (!h) continue;
    h->fBetaGammadEdx->Fill(hit->BetaGamma(), hit->DeDx());
    h->fBetaGammaEta->Fill(hit->Eta(), hit->BetaGamma());
    h->fDedxEta->Fill(hit->Eta(), hit->DeDx());
    
  }
  return true;
}

//____________________________________________________________________
AliFMDEnergyFitter::RingHistos*
AliFMDMCTrackInspector::CreateRingHistos(UShort_t d, Char_t r) const
{ 
  // DGUARD(fDebug, 1, "Create Ring cache of MC hit energy loss (FMD%d%c)",d,r);
  return new AliFMDMCTrackInspector::RingHistos(d,r);
}

//====================================================================
AliFMDMCTrackInspector::RingHistos::RingHistos()
  : AliFMDEnergyFitter::RingHistos(), 
    fPrimary(0), 
    fSecondary(0),
    fBetaGammadEdx(0),
    fBetaGammaEta(0),
    fDedxEta(0)
{}

//____________________________________________________________________
AliFMDMCTrackInspector::RingHistos::RingHistos(UShort_t d, Char_t r)
  : AliFMDEnergyFitter::RingHistos(d,r), 
    fPrimary(0),
    fSecondary(0),
    fBetaGammadEdx(0),
    fBetaGammaEta(0),
    fDedxEta(0)
{}
//____________________________________________________________________
TArrayD
AliFMDMCTrackInspector::RingHistos::MakeIncreasingAxis(Int_t, 
							Double_t,
							Double_t) const
{
  // Make an increasing axis for ELoss distributions. 
  // 
  // We use the service function of AliFMDEncodedEdx to do this 
  TArrayD ret;
  const AliFMDEncodedEdx::Spec& s = AliFMDEncodedEdx::GetdEAxis();
  s.FillBinArray(ret);

  return ret;
}
//____________________________________________________________________
void
AliFMDMCTrackInspector::RingHistos::SetupForData(const TAxis& eAxis, 
						  const TAxis& /*cAxis*/, 
						  Double_t maxDE, 
						  Int_t    nDEbins, 
						  Bool_t   useIncrBin)
{
  // AliFMDEnergyFitter::RingHistos::SetupForData(eAxis, cAxis, maxDE, nDEbins, 
  // useIncrBin);

  fHist      = Make("eloss", "#sum#Delta_{true} of all", 
		    eAxis, maxDE, nDEbins, useIncrBin);
  fPrimary   = Make("primary", "#sum#Delta_{true} of primaries", 
		    eAxis, maxDE, nDEbins, useIncrBin);
  fPrimary->SetMarkerStyle(24);
  fPrimary->SetMarkerSize(fPrimary->GetMarkerSize()*1.2);
  fSecondary = Make("secondary","#sum#Delta_{true} of secondaries",
 		    eAxis, maxDE, nDEbins, useIncrBin);
  fSecondary->SetMarkerStyle(25);
  fSecondary->SetMarkerSize(fSecondary->GetMarkerSize()*1.2);
  fHist->SetXTitle("#Delta_{true}");
  fSecondary->SetXTitle("#Delta_{true}");
  fPrimary->SetXTitle("#Delta_{true}");

  fList->Add(fHist);
  fList->Add(fPrimary);
  fList->Add(fSecondary);
}

//____________________________________________________________________
void
AliFMDMCTrackInspector::RingHistos::FillMC(UShort_t flag, Double_t eta, 
					    Double_t mult)
{
  switch (flag) { 
    // case 0: AliFMDEnergyFitter::RingHistos::Fill(false, eta, 0, mult); break;
  case 0: fHist->Fill(eta, mult); break;
  case 1: fPrimary->Fill(eta, mult); break;
  case 2: fSecondary->Fill(eta, mult); break;
  }
}

//____________________________________________________________________
void
AliFMDMCTrackInspector::RingHistos::Scale(TH1* dist) const
{
  // First scale to bin width 
  AliFMDEnergyFitter::RingHistos::Scale(dist);
  // Then smoothen the histogram 
  dist->Smooth(2);
}
  
//____________________________________________________________________
TObjArray*
AliFMDMCTrackInspector::RingHistos::Fit(TList*           dir, 
					Double_t         lowCut, 
					UShort_t         nParticles,
					UShort_t         minEntries,
					UShort_t         minusBins, 
					Double_t         relErrorCut, 
					Double_t         chi2nuCut,
					Double_t         minWeight,
					Double_t         regCut,
					EResidualMethod  residuals) const
{
  TObjArray* all  = FitSlices(dir, "eloss", lowCut, nParticles, minEntries, 
			      minusBins, relErrorCut, chi2nuCut, minWeight, 
			      regCut, residuals, false, 0);
  TObjArray* prim = FitSlices(dir, "primary", lowCut, nParticles, minEntries, 
			      minusBins, relErrorCut, chi2nuCut, minWeight, 
			      regCut, residuals, false, 0);
  TObjArray* sec  = FitSlices(dir, "secondary", lowCut, nParticles, 
			      minEntries, minusBins, relErrorCut, chi2nuCut, 
			      minWeight, regCut, residuals, false, 0);
  if (!all || !prim || !sec) {
    AliWarningF("Failed to get results for all(%p), primary(%p), and/or "
		"secondary(%p)", all, prim, sec);
    return 0;
  }
  // Already added to the sub-folders
  // dir->Add(all);
  // dir->Add(prim);
  // dir->Add(sec);

  Int_t      nPrim = prim->GetEntriesFast();
  TObjArray* out   = new TObjArray;
  for (Int_t i = 0; i < nPrim; i++) { 
    TH1* h = static_cast<TH1*>(prim->At(i));
    if (!h) continue;

    TAxis* xAxis  = h->GetXaxis();
    TH2*   hh     = 0;
    if (xAxis->GetXbins()->GetArray()) 
      hh = new TH2D(h->GetName(), h->GetTitle(), 
		    xAxis->GetNbins(), xAxis->GetXbins()->GetArray(),
		    3, 0, 3);
    else 
      hh = new TH2D(h->GetName(), h->GetTitle(), 
		    xAxis->GetNbins(), xAxis->GetXmin(), xAxis->GetXmax(),
		    3, 0, 3);
    hh->GetYaxis()->SetBinLabel(1, "Primary");
    hh->GetYaxis()->SetBinLabel(2, "Secondary");
    hh->GetYaxis()->SetBinLabel(3, "All");
    hh->GetXaxis()->SetTitle("#eta");
    out->Add(hh);
  }
  for (Int_t i = 0; i < nPrim; i++) { 
    TH2* h = static_cast<TH2*>(out->At(i));
    if (!h) continue;
    
    TH1* hp = static_cast<TH1*>(prim->At(i));
    TH1* hs = static_cast<TH1*>(sec->At(i));
    TH1* ha = static_cast<TH1*>(all->At(i));
    TH1* hh[] = { hp, hs, ha };
    for (Int_t j = 0; j < 3; j++) { 
      TH1* ph = hh[j];
      if (!ph) continue;

      for (Int_t k = 1; k <= ph->GetNbinsX(); k++) { 
	Double_t c = ph->GetBinContent(k);
	Double_t e = ph->GetBinError(k);
	h->SetBinContent(k, j+1, c);
	h->SetBinError(k, j+1, e);
      }
    }
  }
  TList* l = GetOutputList(dir);
  if (!l) return 0; 

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