ROOT logo
// AliTRDonlineTrackletQA implements the standard QA for the TRD
// on-line tracklets. It reads the tracklets provided by
// AliTRDonlineTrackletFilter and analyses them. The QA can be run
// on tracklets from simulation or from real data. In addition it is
// possible to compare the tracklets from real data to re-simulation
// based on the ADC data.

#include "TFile.h"
#include "TTree.h"
#include "TChain.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TProfile.h"
#include "TCanvas.h"
#include "Math/Factory.h"

#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliMCEvent.h"
#include "AliESDInputHandler.h"
#include "AliAODHandler.h"
#include "AliMCEventHandler.h"
#include "AliLog.h"
#include "AliESDTrdTrack.h"
#include "AliESDTrdTracklet.h"
#include "AliTRDtrackletMCM.h"
#include "AliTRDtrackletWord.h"
#include "AliTRDtrapConfig.h"
#include "AliTRDmcmSim.h"
#include "AliTRDcalibDB.h"

#include "AliVParticle.h"
#include "AliMCParticle.h"
#include "AliTrackReference.h"
#include "AliMagF.h"
#include "TGeoGlobalMagField.h"

#include "AliTRDonlineTrackletQA.h"

ClassImp(AliTRDonlineTrackletQA)

AliTRDonlineTrackletQA::AliTRDonlineTrackletQA(const char *name) :
  AliAnalysisTask(name, ""),
  fESD(0x0),
  fInputHandler(0x0),
  fInputEvent(0x0),
  fOutputAOD(0x0),
  fMCEvent(0x0),
  fTrackletsRaw(0x0),
  fTrackletsSim(0x0),
  fOutputList(0x0),
  fHistYpos(0x0),
  fHistYres(0x0),
  fHistYresDy(0x0),
  fHistdY(0x0),
  fHistdYres(0x0),
  fHistYresESD(0x0),
  fHistdYresESD(0x0),
  fHistCanddY(0x0),
  fHistFounddY(0x0),
  fHistTrklPerRef(0x0),
  fHistdYdYref(0x0),
  fHistYposRaw(0x0),
  fHistdYRaw(0x0),
  fHistAlphaRaw(0x0),
  fHistYdYRaw(0x0),
  fHistZrow(0x0),
  fHistZrowRaw(0x0),
  fHistPid(0x0),
  fHistPidRaw(0x0),
  fHistPidDiff(0x0),
  fHistYdiff(0x0),
  fHistdYdiff(0x0),
  fHistdYdYraw(0x0),
  fHistFitYres(0x0),
  fHistFitDyresEven(0x0),
  fHistFitDyresOdd(0x0),
  fHistNoMatchSim(0x0),
  fHistNoMatchRaw(0x0),
  fHistResY(0x0),
  fHistResZ(0x0),
  fTreeTracklets(0x0),
  fY(0.),
  fDY(0.),
  fYdiff(0.),
  fDYdiff(0.),
  fQ0(0),
  fQ1(0),
  fNHits(0),
  fMinPt(1.),
  fGeo(new AliTRDgeometry),
  fNevent(0),
  fTrackletTree(0x0)
{
  // ctor

  DefineInput(0, TChain::Class());
  DefineInput(1, TTree::Class());

  DefineOutput(0, TTree::Class());
  DefineOutput(1, TList::Class());
}

AliTRDonlineTrackletQA::~AliTRDonlineTrackletQA()
{
  // dtor

  delete fGeo;
}

void AliTRDonlineTrackletQA::ConnectInputData(const Option_t * /* option */)
{
  // connect input data

  fInputHandler = (AliInputEventHandler*) AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();
  if (fInputHandler)
    fInputEvent = fInputHandler->GetEvent();

  AliMCEventHandler *mcH = (AliMCEventHandler*) AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler();
  if (mcH)
    fMCEvent = mcH->MCEvent();
}

void AliTRDonlineTrackletQA::CreateOutputObjects()
{
  // create output objects

  OpenFile(1);

  fOutputList = new TList();
  fOutputList->SetOwner(kTRUE);

  fHistYpos        = new TH1F("ypos",
			      "Tracklet (sim) y-position;y (cm);count",
			      8192/32, -4096*160e-4, 4095*160e-4);
  fHistYposRaw     = new TH1F("ypos_raw",
			      "Tracklet (raw) y-position;y (cm);count",
			      8192/32, -4096*160e-4, 4095*160e-4);
  fHistYres        = new TH1F("yres",
			      "Tracklet (sim) #Deltay;y_{tracklet}-y_{MC} (cm);count",
			      8192/32, -4096/32*160e-4, 4095/32*160e-4);
  fHistYresDy      = new TH2F("yresdy",
			      "Tracklet (sim) #Deltay;y_{tracklet}-y_{MC} (cm);deflection (bin)",
			      8192/32, -4096/32*160e-4, 4095/32*160e-4,
			      128, -64.5, 63.5);
  fHistYresESD     = new TH1F("yresesd",
			      "Tracklet #Deltay;y (cm);count",
			      100, -10, 10);
  fHistYdiff       = new TH1F("ydiff",
			      "Tracklet #Deltay (sim - raw);y_{sim}-y_{raw} (160 #mum);count",
			      200, -100, 100);
  for (Int_t iLayer = 0; iLayer < 6; iLayer++) {
    fHistYlocal[iLayer] = new TH2F(Form("ylocal_%i", iLayer),
				   Form("Tracklet local y, layer %i;y_{MC} (pad width);y_{trkl} (pad width)", iLayer),
				   100, -1, 1, 100, -1, 1);
  }

  fHistdY          = new TH1F("dy",
			      "deflection (sim);dy (140 #mum)",
			      128, -64.5, 63.5);
  fHistdYRaw       = new TH1F("dy_raw",
			      "deflection (raw);dy (140 #mum)",
			      128, -64.5, 63.5);
  fHistAlphaRaw    = new TH1F("fHistAlphaRaw",
			      "angle w.r.t. to straight line",
			      256, -128.5, 127.5);
  fHistdYres       = new TH1F("dyres",
			      "deflection residual;dy (cm)",
			      128, -1., 1.);
  fHistdYresESD    = new TH1F("dyresesd",
			      "deflection residual;dy (cm)",
			      128, -1., 1.);
  fHistCanddY      = new TH1F("dycand",
			      "deflection;dy (140 #mum)",
			      128, -64.5, 63.5);
  fHistFounddY     = new TH1F("dyfound",
			      "deflection;dy (140 #mum)",
			      128, -64.5, 63.5);
  fHistdYdiff      = new TH1F("dydiff",
			      "deflection #Deltady;dy_{sim}-dy_{raw} (140 #mum)",
			      100, -2., 2.);
  fHistdYdYraw     = new TH2F("dydyraw",
			      "deflection from sim. vs raw;dy_{sim} (140 #mum);dy_{raw} (140 #mum)",
			      128, -64.5, 63.5, 128, -64.5, 63.5);

  fHistTrklPerRef  = new TH1F("trklperref",
			      "No. of tracklets per track reference;no. of tracklets",
			      10, -0.5, 9.5);

  fHistdYdYref     = new TH2F("dydyref",
			      "deflection vs. deflection from track reference;dy_{ref} (140 #mum);dy (140 #mum)",
			      128, -64.5, 63.5, 128, -64.5, 63.5);

  fHistZrow        = new TH1F("zrow",
			      "z-position;pad row",
			      16, -0.5, 15.5);
  fHistZrowRaw     = new TH1F("zrow-raw",
			      "z-position;pad row",
			      16, -0.5, 15.5);

  fHistPid         = new TH1F("pid",
			      "pid",
			      256, -0.5, 255.5);
  fHistPidRaw      = new TH1F("pid-raw",
			      "pid",
			      256, -0.5, 255.5);
  fHistPidDiff     = new TH1F("piddiff",
			      "piddiff",
			      256, -127.5, 128.5);

  fHistYdYRaw      = new TH2F("ydyraw",
			      "y vs dy (raw tracklets);y (cm);dy (140 #mum)",
			      8192/32, -4096*160e-4, 4095*160e-4,
			      128, -64.5, 63.5);

  fHistFitYres     = new TH1F("fityres",
			      "Tracklet #Deltay;y_{tracklet}-y_{track} (cm);count",
			      8192/32, -4096/32*160e-4, 4095/32*160e-4);

  fHistFitDyresEven= new TH1F("fitdyreseven",
			      "Tracklet #Deltady;dy_{tracklet}-dy_{track} (cm);count",
			      100, -2., 2.);
  fHistFitDyresOdd = new TH1F("fitdyresodd",
			      "Tracklet #Deltady;dy_{tracklet}-dy_{track} (cm);count",
			      100, -2., 2.);

  fHistNoMatchSim  = new TH2F("nomatchsim",
			      "Unmatched tracklets from Simulation",
			      8192/32, -4096*160e-4, 4095*160e-4,
			      540, -0.5, 539.5);
  fHistNoMatchRaw  = new TH2F("nomatchraw",
			      "Unmatched tracklets from raw data",
			      8192/32, -4096*160e-4, 4095*160e-4,
			      540, -0.5, 539.5);

  fHistResY        = new TH1F("resy",
			      "Residuals to GTU track",
			      100, -10., 10.);
  fHistResZ        = new TH1F("resz",
			      "Residuals to GTU track",
			      100, -20., 20.);

  fTreeTracklets   = new TTree("trkl", "trkl");
  fTreeTracklets->Branch("y", &fY);
  fTreeTracklets->Branch("dy", &fDY);
  fTreeTracklets->Branch("ydiff", &fYdiff);
  fTreeTracklets->Branch("dydiff", &fDYdiff);
  fTreeTracklets->Branch("q0", &fQ0);
  fTreeTracklets->Branch("q1", &fQ1);
  fTreeTracklets->Branch("nhits", &fNHits);

  fOutputList->Add(fHistYpos);
  fOutputList->Add(fHistdY);
  fOutputList->Add(fHistZrow);
  fOutputList->Add(fHistPid);

  fOutputList->Add(fHistYres);
  fOutputList->Add(fHistYresDy);
  fOutputList->Add(fHistCanddY);
  fOutputList->Add(fHistFounddY);
  fOutputList->Add(fHistTrklPerRef);
  fOutputList->Add(fHistdYres);
  fOutputList->Add(fHistYresESD);
  fOutputList->Add(fHistdYresESD);
  fOutputList->Add(fHistdYdYref);

  for (Int_t iLayer = 0; iLayer < 6; iLayer++)
    fOutputList->Add(fHistYlocal[iLayer]);

  fOutputList->Add(fHistYposRaw);
  fOutputList->Add(fHistdYRaw);
  fOutputList->Add(fHistAlphaRaw);
  fOutputList->Add(fHistZrowRaw);
  fOutputList->Add(fHistPidRaw);
  fOutputList->Add(fHistYdYRaw);

  fOutputList->Add(fHistYdiff);
  fOutputList->Add(fHistdYdiff);
  fOutputList->Add(fHistPidDiff);
  fOutputList->Add(fHistdYdYraw);

  fOutputList->Add(fHistFitYres);
  fOutputList->Add(fHistFitDyresEven);
  fOutputList->Add(fHistFitDyresOdd);

  fOutputList->Add(fHistNoMatchSim);
  fOutputList->Add(fHistNoMatchRaw);

  fOutputList->Add(fHistResY);
  fOutputList->Add(fHistResZ);

  fOutputList->Add(fTreeTracklets);

  PostData(1, fOutputList);
}

void AliTRDonlineTrackletQA::Exec(const Option_t * /* option */)
{
  // execute this for each event

  // connect input data
  fTrackletTree = (TTree*) GetInputData(1);
  if (fTrackletTree) {
    fTrackletTree->SetBranchAddress("tracklets_sim", &fTrackletsSim);
    fTrackletTree->SetBranchAddress("tracklets_raw", &fTrackletsRaw);
    fTrackletTree->GetEntry(fTrackletTree->GetEntriesFast()-1);
  }

  fESD = dynamic_cast<AliESDEvent*> (fInputEvent);

  TList trackletsSim[540];
  TList trackletsRaw[540];

  // prepare raw tracklets for comparison
  Int_t detRaw;
  Int_t robRaw;
  Int_t mcmRaw;
  Int_t yRaw;
  Int_t dyRaw;
  TTree trklRaw("raw tracklets", "raw tracklets");
  trklRaw.Branch("det", &detRaw);
  trklRaw.Branch("rob", &robRaw);
  trklRaw.Branch("mcm", &mcmRaw);
  trklRaw.Branch("y", &yRaw);
  trklRaw.Branch("dy", &dyRaw);
  trklRaw.SetDirectory(0x0);
  // prepare simulated tracklets for comparison
  Int_t detSim;
  Int_t robSim;
  Int_t mcmSim;
  Int_t ySim;
  Int_t dySim;
  TTree trklSim("sim tracklets", "sim tracklets");
  trklSim.Branch("det", &detSim);
  trklSim.Branch("rob", &robSim);
  trklSim.Branch("mcm", &mcmSim);
  trklSim.Branch("y", &ySim);
  trklSim.Branch("dy", &dySim);
  trklSim.SetDirectory(0x0);

  // ----- read ESD tracklets -----
  if (fESD) {
    Int_t nTracklets = fESD->GetNumberOfTrdTracklets();
    Int_t nTrackletsSim = 0;
    for (Int_t iTracklet = 0; iTracklet < nTracklets; iTracklet++) {
      AliESDTrdTracklet *tracklet = fESD->GetTrdTracklet(iTracklet);

      if (tracklet) {
	// check for tracklet from simulation (label >= -1)
	if (tracklet->GetLabel() >= -1) {
	  fHistYpos->Fill(tracklet->GetLocalY());
	  fHistdY->Fill(tracklet->GetBinDy());
	  fHistZrow->Fill(tracklet->GetBinZ());
	  fHistPid->Fill(tracklet->GetPID());

	  detSim = tracklet->GetDetector();
	  robSim = tracklet->GetROB();
	  mcmSim = tracklet->GetMCM();
	  ySim   = tracklet->GetBinY();
	  dySim  = tracklet->GetBinDy();
	  trklSim.Fill();

	  AliDebug(1, Form("trkl sim 0x%08x in %4i (ESD)", tracklet->GetTrackletWord(), tracklet->GetHCId()));
	  ++nTrackletsSim;

	  if (tracklet->GetDetector() > -1) {
	    trackletsSim[tracklet->GetDetector()].Add(tracklet);
	  }

	  PlotMC(tracklet);
	  PlotESD(tracklet);
	}
	// otherwise raw tracklet
	else {
	  if (tracklet->GetDetector() > -1)
	    trackletsRaw[tracklet->GetDetector()].Add(tracklet);

	  fHistYposRaw->Fill(tracklet->GetLocalY());
	  fHistdYRaw->Fill(tracklet->GetBinDy());
	  Float_t alpha = tracklet->GetBinDy() - 3./140.e-4*tracklet->GetLocalY()/GetX(tracklet);
	  fHistAlphaRaw->Fill(alpha);
	  fHistZrowRaw->Fill(tracklet->GetBinZ());
	  fHistPidRaw->Fill(tracklet->GetPID());
	  fHistYdYRaw->Fill(tracklet->GetLocalY(), tracklet->GetBinDy());

	  detRaw = tracklet->GetDetector();
	  robRaw = tracklet->GetROB();
	  mcmRaw = tracklet->GetMCM();
	  yRaw   = tracklet->GetBinY();
	  dyRaw  = tracklet->GetBinDy();
	  trklRaw.Fill();
	}
      }
    }
    AliDebug(1, Form("no. of simulated tracklets in ESDs: %i", nTrackletsSim));
  }

  // ----- simulated tracklet from TRD.Tracklets.root -----
  if (fTrackletsSim) {
    AliDebug(1, Form("no. of simulated tracklets in TRD.Tracklets.root: %i", fTrackletsSim->GetEntries()));
    for (Int_t iTracklet = 0; iTracklet < fTrackletsSim->GetEntries(); iTracklet++) {
      AliTRDtrackletMCM *trkl = (AliTRDtrackletMCM*) (*fTrackletsSim)[iTracklet];
      AliDebug(1, Form("trkl sim 0x%08x in %4i (TRD)", trkl->GetTrackletWord(), trkl->GetHCId()));
    }
  }

  // ----- match simulated and raw tracklets (detector-wise) -----
  for (Int_t iDetector = 0; iDetector < 540; iDetector++) {
    for (Int_t iTracklet = 0; iTracklet < trackletsRaw[iDetector].GetEntries(); iTracklet++) {
      AliESDTrdTracklet *trackletRaw = (AliESDTrdTracklet*) trackletsRaw[iDetector].At(iTracklet);

      // search for the best match
      AliESDTrdTracklet *trackletMatch = 0x0;
      // Int_t dyMax = 20;
      Int_t yMax = 100;
      for (Int_t iTrackletSim = 0; iTrackletSim < trackletsSim[iDetector].GetEntries(); iTrackletSim++) {
	AliESDTrdTracklet *trackletSim = (AliESDTrdTracklet*) trackletsSim[iDetector].At(iTrackletSim);
	AliDebug(10, Form("comparing 0x%08x with 0x%08x, det: %i %i",
			  trackletRaw->GetTrackletWord(), trackletSim->GetTrackletWord(),
			  trackletRaw->GetDetector(), trackletSim->GetDetector() ));
	// require equal z
	if (trackletRaw->GetBinZ() != trackletSim->GetBinZ())
	  continue;
	// match on y
	if (TMath::Abs(trackletRaw->GetBinY() - trackletSim->GetBinY()) > yMax)
	  continue;

	trackletMatch = trackletSim;
	yMax  = TMath::Abs(trackletRaw->GetBinY()  - trackletSim->GetBinY());
	// dyMax = TMath::Abs(trackletRaw->GetBinDy() - trackletSim->GetBinDy());
      }
      if (trackletMatch) {
	fHistYdiff->Fill(trackletRaw->GetBinY()  - trackletMatch->GetBinY());
	fHistdYdiff->Fill(3.*trackletRaw->GetDyDx() - 3.*trackletMatch->GetDyDx());
	fHistdYdYraw->Fill(trackletMatch->GetBinDy(), trackletRaw->GetBinDy());
	fHistPidDiff->Fill(trackletRaw->GetPID() - trackletMatch->GetPID());
	trackletsSim[iDetector].Remove(trackletMatch);
      }
      else {
	// store unmatched raw tracklets
	fHistNoMatchRaw->Fill(trackletRaw->GetLocalY(), trackletRaw->GetDetector());
	// AliInfo(Form("unmatched raw tracklet: 0x%08x", trackletRaw->GetTrackletWord()));
      }
    }
    // store the unmatched sim tracklets
    for (Int_t iTracklet = 0; iTracklet < trackletsSim[iDetector].GetEntries(); iTracklet++) {
      AliESDTrdTracklet *tracklet = (AliESDTrdTracklet*) trackletsSim[iDetector].At(iTracklet);
      fHistNoMatchSim->Fill(tracklet->GetLocalY(), tracklet->GetDetector());
      // AliInfo(Form("unmatched simulated tracklet: 0x%08x", tracklet->GetTrackletWord()));
    }
  }

  // ----- MC tracks and track references -----
  // determine tracklet efficiency
  if (fMCEvent) {
    Int_t nTracksMC = fMCEvent->GetNumberOfTracks();
    // AliInfo(Form("no. of MC tracks: %i", nTracksMC));
    for (Int_t iTrack = 0; iTrack < nTracksMC; iTrack++) {
      // we want primaries
      if (!fMCEvent->IsPhysicalPrimary(iTrack))
	continue;

      AliMCParticle *mcpart = (AliMCParticle*) fMCEvent->GetTrack(iTrack);

      // don't look at tracks with too low pt
      if (TMath::Abs(mcpart->Pt()) < fMinPt)
	continue;

      // look for two track references in a chamber
      Int_t nTrackRefs = mcpart->GetNumberOfTrackReferences();
      AliTrackReference *tr[2] = { 0x0 };
      Int_t nRef = 0;

      for (Int_t iTrackRef = 0; iTrackRef < nTrackRefs; iTrackRef++) {
	AliTrackReference *trackRef = mcpart->GetTrackReference(iTrackRef);
	if (trackRef->DetectorId() != AliTrackReference::kTRD)
	  continue;
	if (trackRef->Pt() < fMinPt)
	  continue;
	Int_t label = trackRef->Label();
	if (label < 0)
	  continue;

	// first track reference, remember it
	if (nRef == 0) {
	  tr[nRef] = trackRef;
	  nRef++;
	  continue;
	}
	else {
	  // next one is too far away, remember it but forget the previous one
	  if (TMath::Abs(trackRef->LocalX() - tr[0]->LocalX()) > 5.) {
	    tr[0] = trackRef;
	    nRef = 1;
	    continue;
	  }
	  // too close to previous track reference
	  // we don't want it
	  else if (TMath::Abs(trackRef->LocalX() - tr[0]->LocalX()) < .5) {
	    continue;
	  }
	  // then it must be ok, so we take it
	  else {
	    tr[1] = trackRef;
	    nRef++;
	  }
	}

	// calculation deflection from track references
	Float_t deflLength = 3. * (tr[1]->LocalY() - tr[0]->LocalY()) / (tr[1]->LocalX() - tr[0]->LocalX());
	// if it is too large we reject it
	if (deflLength < 1.) {
	  fHistCanddY->Fill(deflLength/140e-4);
	}
	else {
	  nRef = 0;
	  continue;
	}

	// now search for tracklets belonging to this track reference
	Int_t nTrackletsPerRef(0);
	Int_t defl(0);
	TIter nextTracklet(trackletsSim);
	while (AliESDTrdTracklet *trkl = (AliESDTrdTracklet*) nextTracklet()) {
	  // they must have the same label
	  if (trkl->GetLabel() != label)
	    continue;

	  // and be close enough in radial position
	  if (TMath::Abs(trackRef->LocalX() - GetX(trkl)) > 5.)
	    continue;

	  // if they are close in position we accept it
	  if ((TMath::Abs(trackRef->LocalY() - trkl->GetLocalY()) < 5.) &&
	      (TMath::Abs(trackRef->Z() - GetZ(trkl)) < 5.)) {
	    defl = trkl->GetDyDx();
	    nTrackletsPerRef++;
	  }
	}
	fHistTrklPerRef->Fill(nTrackletsPerRef);
	if (nTrackletsPerRef == 0) {
	  AliInfo(Form("Track ref without assigned tracklet: x=%4.2f, y=%4.2f, z=%4.2f, pt=%4.2f (%i)",
		       trackRef->X(), trackRef->Y(), trackRef->Z(), trackRef->Pt(), trackRef->Label()));
	}
	if (nTrackletsPerRef == 1) {
	  fHistdYdYref->Fill(deflLength/140.e-4, defl);
	  fHistFounddY->Fill(deflLength/140.e-4);
	}
	nRef = 0;
      }
    }
  }

  // ----- ESD tracks -----
  if (fESD) {
    for (Int_t iTrack = 0; iTrack < fESD->GetNumberOfTracks(); iTrack++) {
      AliESDtrack *esdTrack = fESD->GetTrack(iTrack);
      AliDebug(1, Form("ESD track pt: %7.2f", esdTrack->Pt()));
    }
  }

  // ----- ESD TRD tracks -----
  if (fESD) {
    // AliTRDtrapConfig *trapcfg = AliTRDcalibDB::Instance()->GetTrapConfig();
    AliDebug(1, Form("no. of TRD tracks: %i", fESD->GetNumberOfTrdTracks()));
    for (Int_t iTrack = 0; iTrack < fESD->GetNumberOfTrdTracks(); iTrack++) {
      AliESDTrdTrack *trdTrack = fESD->GetTrdTrack(iTrack);
      AliInfo(Form("TRD track pt: %7.2f", trdTrack->Pt()));
      // AliTRDtrackOnline track;
      AliESDTrdTracklet tracklets[6];
      for (Int_t iLayer = 0; iLayer < 6; iLayer++) {
	AliESDTrdTracklet *trkl = trdTrack->GetTracklet(iLayer);
	if (trkl) {
	  tracklets[iLayer].SetTrackletWord(trkl->GetTrackletWord());
	  tracklets[iLayer].SetHCId(trkl->GetHCId());
	  // track.AddTracklet(&(tracklets[iLayer])); //???
	}
      }
      // track.AddParametrization(new AliTRDtrackParametrizationCurved());
      // ROOT::Math::Minimizer *minim = ROOT::Math::Factory::CreateMinimizer("Minuit");
      // track.Fit(minim);
      // const TList &paramList = track.GetParametrizations();
      // TIter param(&paramList, kFALSE);
      // while (AliTRDtrackParametrization *trackParam = (AliTRDtrackParametrization*) param()) {
      // 	trackParam->Print();
      // 	AliTRDtrackParametrizationCurved *curvedParam = dynamic_cast<AliTRDtrackParametrizationCurved*> (trackParam);
      // 	if (curvedParam) {
      // 	  // calculate residuals
      // 	  for (Int_t iLayer = 0; iLayer < 6; iLayer++) {
      // 	    AliESDTrdTracklet *trkl = trdTrack->GetTracklet(iLayer);
      // 	    if (trkl) {
      // 	      AliTRDtrackPosition pos = curvedParam->ExtrapolateToLayer(iLayer);
      // 	      fHistFitYres->Fill(pos.GetY() - trkl->GetLocalY());
      // 	      Int_t rob = (trkl->GetBinZ()/4) + (trkl->GetHCId() % 0x1 ? 1 : 0);
      // 	      Int_t mcm = trkl->GetBinZ() & 0x3;
      // 	      Float_t deflcorr = ((Int_t) trapcfg->GetDmemUnsigned(AliTRDmcmSim::fgkDmemAddrDeflCorr, trkl->GetDetector(), rob, mcm))
      // 		* (0.635 + 0.03 * iLayer)/(256.0) / 32.;
      // 	      Float_t scale = 1.;
      // 	      Float_t defl = (3.*trkl->GetDyDx() - deflcorr) * scale + deflcorr;
      // 	      if (iLayer & 0x1) {
      // 		fHistFitDyresOdd->Fill(pos.GetdY() - defl);
      // 	      }
      // 	      else {
      // 		fHistFitDyresEven->Fill(pos.GetdY() - defl);
      // 	      }
      // 	    }
      // 	  }
      // 	}
      // }
    }
  }

  PostData(1, fOutputList);
}

void AliTRDonlineTrackletQA::LocalInit()
{

}

void AliTRDonlineTrackletQA::Terminate(const Option_t * /* option */)
{
  // upon terminate

  fOutputList = dynamic_cast<TList*> (GetOutputData(1));

  if (!fOutputList) {
    AliError("No output objects found!");
    return;
  }

//  fHistYpos = dynamic_cast<TH1F*> (fOutputList->FindObject("ypos"));
//  if (fHistYpos) {
//    TCanvas *c = new TCanvas;
//    c->cd();
//    gPad->SetGridx();
//    gPad->SetGridy();
//    fHistYpos->DrawCopy();
//  }
}

void AliTRDonlineTrackletQA::PlotMC(AliESDTrdTracklet *trkl)
{
  // compare the given tracklet to the MC information,
  // i.e. track references

  Int_t label = trkl->GetLabel();

  // check for valid label
  if (label < 0 ) {
    AliDebug(1, "MC tracklet has no label");
    return;
  }
  if (label >= fMCEvent->GetNumberOfTracks()) {
    AliError("MC tracklet has invalid label");
    return;
  }

  // some cuts on the tracklet
//  if (!fMCEvent->IsPhysicalPrimary(label))
//    return;
//  if (TMath::Abs(trkl->GetdYdX()) > 0.05)
//    return;
//  if (trkl->GetDetector() % 6 != 5)
//    return;

  // get MC particle for this tracklet
  AliMCParticle *track = (AliMCParticle*) fMCEvent->GetTrack(label);

  // don't look at tracks with too low pt
  if (TMath::Abs(track->Pt() < fMinPt))
    return;

  // serach track references corresponding to the current tracklet
  AliTrackReference *tr[2] = { 0x0 };
  Int_t nTrackRefs = 0;

  for (Int_t iTrackRef = 0; iTrackRef < track->GetNumberOfTrackReferences(); iTrackRef++) {
    AliTrackReference *trackRef = track->GetTrackReference(iTrackRef);
    if (trackRef->DetectorId() != AliTrackReference::kTRD)
      continue;
    if (trackRef->Pt() < fMinPt)
      continue;

    if (TMath::Abs(GetX(trkl) - trackRef->LocalX()) > 5.)
      continue;

    tr[nTrackRefs++] = trackRef;

    if (nTrackRefs == 2)
      break;
  }

  // if there were exactly 2 track references
  // (otherwise something is strange and we want to look at clean cases)
  // compare tracklet to them
  if (nTrackRefs == 2) {
    // sanity check to be in the same sector
    if ( TMath::Abs((tr[0]->Alpha()*180./TMath::Pi()-10.)/20. - (trkl->GetDetector()/30)) > .1) {
      AliError("Track reference in different sector");
    }
    // require minimal distance in X and maximum deflection in Y
    // for the track references
    else if ((tr[1]->LocalX() - tr[0]->LocalX()) > 0.1 && TMath::Abs(tr[1]->LocalY() - tr[0]->LocalY()) < 1.) {
      // calculate slope from track references
      // and check whether it's in the allowed range
      Float_t slope = 3. * (tr[1]->LocalY() - tr[0]->LocalY()) / (tr[1]->LocalX() - tr[0]->LocalX());
      if (TMath::Abs(slope) < 64*140e-4) {
	AliDebug(1,Form("x1: %f, x0: %f, y1: %f, y0:%f",
			tr[1]->LocalX(), tr[0]->LocalX(), tr[1]->LocalY(), tr[0]->LocalY() ));
	// calculate y-position scaled to radial position of the tracklet
	// and consider the tilting angle of the pads
	// since the tracklets are affected by it
	Float_t yMC     = (tr[1]->LocalY() + (-0.5+GetX(trkl) - tr[1]->LocalX()) * (tr[1]->LocalY() - tr[0]->LocalY()) / (tr[1]->LocalX() - tr[0]->LocalX()));
	Float_t yMCtilt = yMC + (TMath::Tan(TMath::Power(-1, (trkl->GetDetector() % 6))*2.*TMath::Pi()/180.) * (tr[1]->Z() - GetZ(trkl)));
	if (TMath::Abs(trkl->GetLocalY() - yMCtilt) > 10.) {
	  AliError(Form("Deviation too large for tracklet: 0x%08x in det. %i at x = %f, y = %f, z = %f, alpha = %f",
			trkl->GetTrackletWord(), trkl->GetDetector(), GetX(trkl), trkl->GetLocalY(), GetZ(trkl), tr[0]->Alpha()));
	}
	fHistYres->Fill(trkl->GetLocalY() - yMCtilt);
	fHistYresDy->Fill(trkl->GetLocalY() - yMCtilt, trkl->GetDyDx());
	// what about tilt correction here ???
	fHistdYres->Fill(3. * trkl->GetDyDx() -
			 3. * (tr[1]->LocalY() - tr[0]->LocalY()) / (tr[1]->LocalX() - tr[0]->LocalX()));
	// plot position deviation in pad-coordinates
	// to study the influence of the position LUT
	Float_t padWidth = fGeo->GetPadPlane(trkl->GetDetector())->GetWidthIPad();
	Float_t yMClocal = yMCtilt/padWidth - floor(yMCtilt/padWidth) - padWidth/2.;
	Int_t layer = trkl->GetDetector() % 6;
	fHistYlocal[layer]->Fill(yMClocal,
				 trkl->GetLocalY()/padWidth - floor(trkl->GetLocalY()/padWidth) - padWidth/2. - yMClocal);
	// and fill everything to the tree
	fYdiff = trkl->GetLocalY() - yMCtilt;
	fDYdiff = 3. * trkl->GetDyDx() -
	  3. * (tr[1]->LocalY() - tr[0]->LocalY()) / (tr[1]->LocalX() - tr[0]->LocalX());
	fY = trkl->GetLocalY();
	fDY = trkl->GetDyDx();
	fTreeTracklets->Fill();
	// output tracklets with large deviation
	if (TMath::Abs(fYdiff) > 0.5) {
	  AliWarning(Form("tracklet: y=%4.2f, dy=%4.2f, ydiff=%4.2f, dydiff=%4.2f, q0=%5d, q1=%5d, nhits=%2d, label=%i",
			  trkl->GetLocalY(), trkl->GetDyDx(), fYdiff, fDYdiff, fQ0, fQ1, fNHits, label));
	}
      }
    }
  }
}


void AliTRDonlineTrackletQA::PlotESD(AliESDTrdTracklet *trkl)
{
  // plot comparison to ESD

  Float_t xTrkl = GetX(trkl);
  Float_t yTrkl = trkl->GetLocalY();
  Float_t zTrkl = GetZ(trkl);

  Float_t alpha = (trkl->GetDetector() / 30) * 20. + 10.;
  alpha *= TMath::Pi() / 180.;

  AliESDEvent *esdEvent = dynamic_cast<AliESDEvent*> (fInputEvent);
  if (!esdEvent)
    return;

  Float_t mag = 0.5; //((AliMagF*) TGeoGlobalMagField::Instance()->GetField())->SolenoidField();

  for (Int_t iTrack = 0; iTrack < esdEvent->GetNumberOfTracks(); iTrack++) {
    AliESDtrack *track = esdEvent->GetTrack(iTrack);

    if (!track->GetOuterParam())
      continue;

    AliExternalTrackParam *param = new AliExternalTrackParam(*(track->GetOuterParam()));

    AliDebug(10, Form("track %i at x = %f, y = %f",
		      iTrack, param->GetX(), param->GetY()));
    param->Propagate(alpha, xTrkl, mag);
    AliDebug(10, Form("after propagating track %i at x = %f, y = %f",
		      iTrack, param->GetX(), param->GetY()));

    if ((TMath::Abs(xTrkl - param->GetX()) < 10.) &&
	(TMath::Abs(yTrkl - param->GetY()) < 5.) &&
	(TMath::Abs(zTrkl - param->GetZ()) < 10.)) {
      AliDebug(2, Form("match of tracklet-track: %i <-> %i",
		       trkl->GetLabel(), track->GetLabel()));
      AliDebug(5, Form("tracklet position: det: %3i  x = %f, y = %f, z = %f, alpha = %f",
		       trkl->GetDetector(), GetX(trkl), trkl->GetLocalY(), GetZ(trkl), alpha));
      AliDebug(5, Form("after propagating track %i at x = %f, y = %f, z = %f",
		      iTrack, param->GetX(), param->GetY(), param->GetZ()));

      fHistYresESD->Fill(yTrkl - param->GetY());
    }

    delete param;
  }

}

Int_t AliTRDonlineTrackletQA::GetTrackletsForMC(Int_t /* label */, Int_t /*idx*/ []) const
{
  // get tracklets for MC label
  // not implemented

  return 0;
}
 AliTRDonlineTrackletQA.cxx:1
 AliTRDonlineTrackletQA.cxx:2
 AliTRDonlineTrackletQA.cxx:3
 AliTRDonlineTrackletQA.cxx:4
 AliTRDonlineTrackletQA.cxx:5
 AliTRDonlineTrackletQA.cxx:6
 AliTRDonlineTrackletQA.cxx:7
 AliTRDonlineTrackletQA.cxx:8
 AliTRDonlineTrackletQA.cxx:9
 AliTRDonlineTrackletQA.cxx:10
 AliTRDonlineTrackletQA.cxx:11
 AliTRDonlineTrackletQA.cxx:12
 AliTRDonlineTrackletQA.cxx:13
 AliTRDonlineTrackletQA.cxx:14
 AliTRDonlineTrackletQA.cxx:15
 AliTRDonlineTrackletQA.cxx:16
 AliTRDonlineTrackletQA.cxx:17
 AliTRDonlineTrackletQA.cxx:18
 AliTRDonlineTrackletQA.cxx:19
 AliTRDonlineTrackletQA.cxx:20
 AliTRDonlineTrackletQA.cxx:21
 AliTRDonlineTrackletQA.cxx:22
 AliTRDonlineTrackletQA.cxx:23
 AliTRDonlineTrackletQA.cxx:24
 AliTRDonlineTrackletQA.cxx:25
 AliTRDonlineTrackletQA.cxx:26
 AliTRDonlineTrackletQA.cxx:27
 AliTRDonlineTrackletQA.cxx:28
 AliTRDonlineTrackletQA.cxx:29
 AliTRDonlineTrackletQA.cxx:30
 AliTRDonlineTrackletQA.cxx:31
 AliTRDonlineTrackletQA.cxx:32
 AliTRDonlineTrackletQA.cxx:33
 AliTRDonlineTrackletQA.cxx:34
 AliTRDonlineTrackletQA.cxx:35
 AliTRDonlineTrackletQA.cxx:36
 AliTRDonlineTrackletQA.cxx:37
 AliTRDonlineTrackletQA.cxx:38
 AliTRDonlineTrackletQA.cxx:39
 AliTRDonlineTrackletQA.cxx:40
 AliTRDonlineTrackletQA.cxx:41
 AliTRDonlineTrackletQA.cxx:42
 AliTRDonlineTrackletQA.cxx:43
 AliTRDonlineTrackletQA.cxx:44
 AliTRDonlineTrackletQA.cxx:45
 AliTRDonlineTrackletQA.cxx:46
 AliTRDonlineTrackletQA.cxx:47
 AliTRDonlineTrackletQA.cxx:48
 AliTRDonlineTrackletQA.cxx:49
 AliTRDonlineTrackletQA.cxx:50
 AliTRDonlineTrackletQA.cxx:51
 AliTRDonlineTrackletQA.cxx:52
 AliTRDonlineTrackletQA.cxx:53
 AliTRDonlineTrackletQA.cxx:54
 AliTRDonlineTrackletQA.cxx:55
 AliTRDonlineTrackletQA.cxx:56
 AliTRDonlineTrackletQA.cxx:57
 AliTRDonlineTrackletQA.cxx:58
 AliTRDonlineTrackletQA.cxx:59
 AliTRDonlineTrackletQA.cxx:60
 AliTRDonlineTrackletQA.cxx:61
 AliTRDonlineTrackletQA.cxx:62
 AliTRDonlineTrackletQA.cxx:63
 AliTRDonlineTrackletQA.cxx:64
 AliTRDonlineTrackletQA.cxx:65
 AliTRDonlineTrackletQA.cxx:66
 AliTRDonlineTrackletQA.cxx:67
 AliTRDonlineTrackletQA.cxx:68
 AliTRDonlineTrackletQA.cxx:69
 AliTRDonlineTrackletQA.cxx:70
 AliTRDonlineTrackletQA.cxx:71
 AliTRDonlineTrackletQA.cxx:72
 AliTRDonlineTrackletQA.cxx:73
 AliTRDonlineTrackletQA.cxx:74
 AliTRDonlineTrackletQA.cxx:75
 AliTRDonlineTrackletQA.cxx:76
 AliTRDonlineTrackletQA.cxx:77
 AliTRDonlineTrackletQA.cxx:78
 AliTRDonlineTrackletQA.cxx:79
 AliTRDonlineTrackletQA.cxx:80
 AliTRDonlineTrackletQA.cxx:81
 AliTRDonlineTrackletQA.cxx:82
 AliTRDonlineTrackletQA.cxx:83
 AliTRDonlineTrackletQA.cxx:84
 AliTRDonlineTrackletQA.cxx:85
 AliTRDonlineTrackletQA.cxx:86
 AliTRDonlineTrackletQA.cxx:87
 AliTRDonlineTrackletQA.cxx:88
 AliTRDonlineTrackletQA.cxx:89
 AliTRDonlineTrackletQA.cxx:90
 AliTRDonlineTrackletQA.cxx:91
 AliTRDonlineTrackletQA.cxx:92
 AliTRDonlineTrackletQA.cxx:93
 AliTRDonlineTrackletQA.cxx:94
 AliTRDonlineTrackletQA.cxx:95
 AliTRDonlineTrackletQA.cxx:96
 AliTRDonlineTrackletQA.cxx:97
 AliTRDonlineTrackletQA.cxx:98
 AliTRDonlineTrackletQA.cxx:99
 AliTRDonlineTrackletQA.cxx:100
 AliTRDonlineTrackletQA.cxx:101
 AliTRDonlineTrackletQA.cxx:102
 AliTRDonlineTrackletQA.cxx:103
 AliTRDonlineTrackletQA.cxx:104
 AliTRDonlineTrackletQA.cxx:105
 AliTRDonlineTrackletQA.cxx:106
 AliTRDonlineTrackletQA.cxx:107
 AliTRDonlineTrackletQA.cxx:108
 AliTRDonlineTrackletQA.cxx:109
 AliTRDonlineTrackletQA.cxx:110
 AliTRDonlineTrackletQA.cxx:111
 AliTRDonlineTrackletQA.cxx:112
 AliTRDonlineTrackletQA.cxx:113
 AliTRDonlineTrackletQA.cxx:114
 AliTRDonlineTrackletQA.cxx:115
 AliTRDonlineTrackletQA.cxx:116
 AliTRDonlineTrackletQA.cxx:117
 AliTRDonlineTrackletQA.cxx:118
 AliTRDonlineTrackletQA.cxx:119
 AliTRDonlineTrackletQA.cxx:120
 AliTRDonlineTrackletQA.cxx:121
 AliTRDonlineTrackletQA.cxx:122
 AliTRDonlineTrackletQA.cxx:123
 AliTRDonlineTrackletQA.cxx:124
 AliTRDonlineTrackletQA.cxx:125
 AliTRDonlineTrackletQA.cxx:126
 AliTRDonlineTrackletQA.cxx:127
 AliTRDonlineTrackletQA.cxx:128
 AliTRDonlineTrackletQA.cxx:129
 AliTRDonlineTrackletQA.cxx:130
 AliTRDonlineTrackletQA.cxx:131
 AliTRDonlineTrackletQA.cxx:132
 AliTRDonlineTrackletQA.cxx:133
 AliTRDonlineTrackletQA.cxx:134
 AliTRDonlineTrackletQA.cxx:135
 AliTRDonlineTrackletQA.cxx:136
 AliTRDonlineTrackletQA.cxx:137
 AliTRDonlineTrackletQA.cxx:138
 AliTRDonlineTrackletQA.cxx:139
 AliTRDonlineTrackletQA.cxx:140
 AliTRDonlineTrackletQA.cxx:141
 AliTRDonlineTrackletQA.cxx:142
 AliTRDonlineTrackletQA.cxx:143
 AliTRDonlineTrackletQA.cxx:144
 AliTRDonlineTrackletQA.cxx:145
 AliTRDonlineTrackletQA.cxx:146
 AliTRDonlineTrackletQA.cxx:147
 AliTRDonlineTrackletQA.cxx:148
 AliTRDonlineTrackletQA.cxx:149
 AliTRDonlineTrackletQA.cxx:150
 AliTRDonlineTrackletQA.cxx:151
 AliTRDonlineTrackletQA.cxx:152
 AliTRDonlineTrackletQA.cxx:153
 AliTRDonlineTrackletQA.cxx:154
 AliTRDonlineTrackletQA.cxx:155
 AliTRDonlineTrackletQA.cxx:156
 AliTRDonlineTrackletQA.cxx:157
 AliTRDonlineTrackletQA.cxx:158
 AliTRDonlineTrackletQA.cxx:159
 AliTRDonlineTrackletQA.cxx:160
 AliTRDonlineTrackletQA.cxx:161
 AliTRDonlineTrackletQA.cxx:162
 AliTRDonlineTrackletQA.cxx:163
 AliTRDonlineTrackletQA.cxx:164
 AliTRDonlineTrackletQA.cxx:165
 AliTRDonlineTrackletQA.cxx:166
 AliTRDonlineTrackletQA.cxx:167
 AliTRDonlineTrackletQA.cxx:168
 AliTRDonlineTrackletQA.cxx:169
 AliTRDonlineTrackletQA.cxx:170
 AliTRDonlineTrackletQA.cxx:171
 AliTRDonlineTrackletQA.cxx:172
 AliTRDonlineTrackletQA.cxx:173
 AliTRDonlineTrackletQA.cxx:174
 AliTRDonlineTrackletQA.cxx:175
 AliTRDonlineTrackletQA.cxx:176
 AliTRDonlineTrackletQA.cxx:177
 AliTRDonlineTrackletQA.cxx:178
 AliTRDonlineTrackletQA.cxx:179
 AliTRDonlineTrackletQA.cxx:180
 AliTRDonlineTrackletQA.cxx:181
 AliTRDonlineTrackletQA.cxx:182
 AliTRDonlineTrackletQA.cxx:183
 AliTRDonlineTrackletQA.cxx:184
 AliTRDonlineTrackletQA.cxx:185
 AliTRDonlineTrackletQA.cxx:186
 AliTRDonlineTrackletQA.cxx:187
 AliTRDonlineTrackletQA.cxx:188
 AliTRDonlineTrackletQA.cxx:189
 AliTRDonlineTrackletQA.cxx:190
 AliTRDonlineTrackletQA.cxx:191
 AliTRDonlineTrackletQA.cxx:192
 AliTRDonlineTrackletQA.cxx:193
 AliTRDonlineTrackletQA.cxx:194
 AliTRDonlineTrackletQA.cxx:195
 AliTRDonlineTrackletQA.cxx:196
 AliTRDonlineTrackletQA.cxx:197
 AliTRDonlineTrackletQA.cxx:198
 AliTRDonlineTrackletQA.cxx:199
 AliTRDonlineTrackletQA.cxx:200
 AliTRDonlineTrackletQA.cxx:201
 AliTRDonlineTrackletQA.cxx:202
 AliTRDonlineTrackletQA.cxx:203
 AliTRDonlineTrackletQA.cxx:204
 AliTRDonlineTrackletQA.cxx:205
 AliTRDonlineTrackletQA.cxx:206
 AliTRDonlineTrackletQA.cxx:207
 AliTRDonlineTrackletQA.cxx:208
 AliTRDonlineTrackletQA.cxx:209
 AliTRDonlineTrackletQA.cxx:210
 AliTRDonlineTrackletQA.cxx:211
 AliTRDonlineTrackletQA.cxx:212
 AliTRDonlineTrackletQA.cxx:213
 AliTRDonlineTrackletQA.cxx:214
 AliTRDonlineTrackletQA.cxx:215
 AliTRDonlineTrackletQA.cxx:216
 AliTRDonlineTrackletQA.cxx:217
 AliTRDonlineTrackletQA.cxx:218
 AliTRDonlineTrackletQA.cxx:219
 AliTRDonlineTrackletQA.cxx:220
 AliTRDonlineTrackletQA.cxx:221
 AliTRDonlineTrackletQA.cxx:222
 AliTRDonlineTrackletQA.cxx:223
 AliTRDonlineTrackletQA.cxx:224
 AliTRDonlineTrackletQA.cxx:225
 AliTRDonlineTrackletQA.cxx:226
 AliTRDonlineTrackletQA.cxx:227
 AliTRDonlineTrackletQA.cxx:228
 AliTRDonlineTrackletQA.cxx:229
 AliTRDonlineTrackletQA.cxx:230
 AliTRDonlineTrackletQA.cxx:231
 AliTRDonlineTrackletQA.cxx:232
 AliTRDonlineTrackletQA.cxx:233
 AliTRDonlineTrackletQA.cxx:234
 AliTRDonlineTrackletQA.cxx:235
 AliTRDonlineTrackletQA.cxx:236
 AliTRDonlineTrackletQA.cxx:237
 AliTRDonlineTrackletQA.cxx:238
 AliTRDonlineTrackletQA.cxx:239
 AliTRDonlineTrackletQA.cxx:240
 AliTRDonlineTrackletQA.cxx:241
 AliTRDonlineTrackletQA.cxx:242
 AliTRDonlineTrackletQA.cxx:243
 AliTRDonlineTrackletQA.cxx:244
 AliTRDonlineTrackletQA.cxx:245
 AliTRDonlineTrackletQA.cxx:246
 AliTRDonlineTrackletQA.cxx:247
 AliTRDonlineTrackletQA.cxx:248
 AliTRDonlineTrackletQA.cxx:249
 AliTRDonlineTrackletQA.cxx:250
 AliTRDonlineTrackletQA.cxx:251
 AliTRDonlineTrackletQA.cxx:252
 AliTRDonlineTrackletQA.cxx:253
 AliTRDonlineTrackletQA.cxx:254
 AliTRDonlineTrackletQA.cxx:255
 AliTRDonlineTrackletQA.cxx:256
 AliTRDonlineTrackletQA.cxx:257
 AliTRDonlineTrackletQA.cxx:258
 AliTRDonlineTrackletQA.cxx:259
 AliTRDonlineTrackletQA.cxx:260
 AliTRDonlineTrackletQA.cxx:261
 AliTRDonlineTrackletQA.cxx:262
 AliTRDonlineTrackletQA.cxx:263
 AliTRDonlineTrackletQA.cxx:264
 AliTRDonlineTrackletQA.cxx:265
 AliTRDonlineTrackletQA.cxx:266
 AliTRDonlineTrackletQA.cxx:267
 AliTRDonlineTrackletQA.cxx:268
 AliTRDonlineTrackletQA.cxx:269
 AliTRDonlineTrackletQA.cxx:270
 AliTRDonlineTrackletQA.cxx:271
 AliTRDonlineTrackletQA.cxx:272
 AliTRDonlineTrackletQA.cxx:273
 AliTRDonlineTrackletQA.cxx:274
 AliTRDonlineTrackletQA.cxx:275
 AliTRDonlineTrackletQA.cxx:276
 AliTRDonlineTrackletQA.cxx:277
 AliTRDonlineTrackletQA.cxx:278
 AliTRDonlineTrackletQA.cxx:279
 AliTRDonlineTrackletQA.cxx:280
 AliTRDonlineTrackletQA.cxx:281
 AliTRDonlineTrackletQA.cxx:282
 AliTRDonlineTrackletQA.cxx:283
 AliTRDonlineTrackletQA.cxx:284
 AliTRDonlineTrackletQA.cxx:285
 AliTRDonlineTrackletQA.cxx:286
 AliTRDonlineTrackletQA.cxx:287
 AliTRDonlineTrackletQA.cxx:288
 AliTRDonlineTrackletQA.cxx:289
 AliTRDonlineTrackletQA.cxx:290
 AliTRDonlineTrackletQA.cxx:291
 AliTRDonlineTrackletQA.cxx:292
 AliTRDonlineTrackletQA.cxx:293
 AliTRDonlineTrackletQA.cxx:294
 AliTRDonlineTrackletQA.cxx:295
 AliTRDonlineTrackletQA.cxx:296
 AliTRDonlineTrackletQA.cxx:297
 AliTRDonlineTrackletQA.cxx:298
 AliTRDonlineTrackletQA.cxx:299
 AliTRDonlineTrackletQA.cxx:300
 AliTRDonlineTrackletQA.cxx:301
 AliTRDonlineTrackletQA.cxx:302
 AliTRDonlineTrackletQA.cxx:303
 AliTRDonlineTrackletQA.cxx:304
 AliTRDonlineTrackletQA.cxx:305
 AliTRDonlineTrackletQA.cxx:306
 AliTRDonlineTrackletQA.cxx:307
 AliTRDonlineTrackletQA.cxx:308
 AliTRDonlineTrackletQA.cxx:309
 AliTRDonlineTrackletQA.cxx:310
 AliTRDonlineTrackletQA.cxx:311
 AliTRDonlineTrackletQA.cxx:312
 AliTRDonlineTrackletQA.cxx:313
 AliTRDonlineTrackletQA.cxx:314
 AliTRDonlineTrackletQA.cxx:315
 AliTRDonlineTrackletQA.cxx:316
 AliTRDonlineTrackletQA.cxx:317
 AliTRDonlineTrackletQA.cxx:318
 AliTRDonlineTrackletQA.cxx:319
 AliTRDonlineTrackletQA.cxx:320
 AliTRDonlineTrackletQA.cxx:321
 AliTRDonlineTrackletQA.cxx:322
 AliTRDonlineTrackletQA.cxx:323
 AliTRDonlineTrackletQA.cxx:324
 AliTRDonlineTrackletQA.cxx:325
 AliTRDonlineTrackletQA.cxx:326
 AliTRDonlineTrackletQA.cxx:327
 AliTRDonlineTrackletQA.cxx:328
 AliTRDonlineTrackletQA.cxx:329
 AliTRDonlineTrackletQA.cxx:330
 AliTRDonlineTrackletQA.cxx:331
 AliTRDonlineTrackletQA.cxx:332
 AliTRDonlineTrackletQA.cxx:333
 AliTRDonlineTrackletQA.cxx:334
 AliTRDonlineTrackletQA.cxx:335
 AliTRDonlineTrackletQA.cxx:336
 AliTRDonlineTrackletQA.cxx:337
 AliTRDonlineTrackletQA.cxx:338
 AliTRDonlineTrackletQA.cxx:339
 AliTRDonlineTrackletQA.cxx:340
 AliTRDonlineTrackletQA.cxx:341
 AliTRDonlineTrackletQA.cxx:342
 AliTRDonlineTrackletQA.cxx:343
 AliTRDonlineTrackletQA.cxx:344
 AliTRDonlineTrackletQA.cxx:345
 AliTRDonlineTrackletQA.cxx:346
 AliTRDonlineTrackletQA.cxx:347
 AliTRDonlineTrackletQA.cxx:348
 AliTRDonlineTrackletQA.cxx:349
 AliTRDonlineTrackletQA.cxx:350
 AliTRDonlineTrackletQA.cxx:351
 AliTRDonlineTrackletQA.cxx:352
 AliTRDonlineTrackletQA.cxx:353
 AliTRDonlineTrackletQA.cxx:354
 AliTRDonlineTrackletQA.cxx:355
 AliTRDonlineTrackletQA.cxx:356
 AliTRDonlineTrackletQA.cxx:357
 AliTRDonlineTrackletQA.cxx:358
 AliTRDonlineTrackletQA.cxx:359
 AliTRDonlineTrackletQA.cxx:360
 AliTRDonlineTrackletQA.cxx:361
 AliTRDonlineTrackletQA.cxx:362
 AliTRDonlineTrackletQA.cxx:363
 AliTRDonlineTrackletQA.cxx:364
 AliTRDonlineTrackletQA.cxx:365
 AliTRDonlineTrackletQA.cxx:366
 AliTRDonlineTrackletQA.cxx:367
 AliTRDonlineTrackletQA.cxx:368
 AliTRDonlineTrackletQA.cxx:369
 AliTRDonlineTrackletQA.cxx:370
 AliTRDonlineTrackletQA.cxx:371
 AliTRDonlineTrackletQA.cxx:372
 AliTRDonlineTrackletQA.cxx:373
 AliTRDonlineTrackletQA.cxx:374
 AliTRDonlineTrackletQA.cxx:375
 AliTRDonlineTrackletQA.cxx:376
 AliTRDonlineTrackletQA.cxx:377
 AliTRDonlineTrackletQA.cxx:378
 AliTRDonlineTrackletQA.cxx:379
 AliTRDonlineTrackletQA.cxx:380
 AliTRDonlineTrackletQA.cxx:381
 AliTRDonlineTrackletQA.cxx:382
 AliTRDonlineTrackletQA.cxx:383
 AliTRDonlineTrackletQA.cxx:384
 AliTRDonlineTrackletQA.cxx:385
 AliTRDonlineTrackletQA.cxx:386
 AliTRDonlineTrackletQA.cxx:387
 AliTRDonlineTrackletQA.cxx:388
 AliTRDonlineTrackletQA.cxx:389
 AliTRDonlineTrackletQA.cxx:390
 AliTRDonlineTrackletQA.cxx:391
 AliTRDonlineTrackletQA.cxx:392
 AliTRDonlineTrackletQA.cxx:393
 AliTRDonlineTrackletQA.cxx:394
 AliTRDonlineTrackletQA.cxx:395
 AliTRDonlineTrackletQA.cxx:396
 AliTRDonlineTrackletQA.cxx:397
 AliTRDonlineTrackletQA.cxx:398
 AliTRDonlineTrackletQA.cxx:399
 AliTRDonlineTrackletQA.cxx:400
 AliTRDonlineTrackletQA.cxx:401
 AliTRDonlineTrackletQA.cxx:402
 AliTRDonlineTrackletQA.cxx:403
 AliTRDonlineTrackletQA.cxx:404
 AliTRDonlineTrackletQA.cxx:405
 AliTRDonlineTrackletQA.cxx:406
 AliTRDonlineTrackletQA.cxx:407
 AliTRDonlineTrackletQA.cxx:408
 AliTRDonlineTrackletQA.cxx:409
 AliTRDonlineTrackletQA.cxx:410
 AliTRDonlineTrackletQA.cxx:411
 AliTRDonlineTrackletQA.cxx:412
 AliTRDonlineTrackletQA.cxx:413
 AliTRDonlineTrackletQA.cxx:414
 AliTRDonlineTrackletQA.cxx:415
 AliTRDonlineTrackletQA.cxx:416
 AliTRDonlineTrackletQA.cxx:417
 AliTRDonlineTrackletQA.cxx:418
 AliTRDonlineTrackletQA.cxx:419
 AliTRDonlineTrackletQA.cxx:420
 AliTRDonlineTrackletQA.cxx:421
 AliTRDonlineTrackletQA.cxx:422
 AliTRDonlineTrackletQA.cxx:423
 AliTRDonlineTrackletQA.cxx:424
 AliTRDonlineTrackletQA.cxx:425
 AliTRDonlineTrackletQA.cxx:426
 AliTRDonlineTrackletQA.cxx:427
 AliTRDonlineTrackletQA.cxx:428
 AliTRDonlineTrackletQA.cxx:429
 AliTRDonlineTrackletQA.cxx:430
 AliTRDonlineTrackletQA.cxx:431
 AliTRDonlineTrackletQA.cxx:432
 AliTRDonlineTrackletQA.cxx:433
 AliTRDonlineTrackletQA.cxx:434
 AliTRDonlineTrackletQA.cxx:435
 AliTRDonlineTrackletQA.cxx:436
 AliTRDonlineTrackletQA.cxx:437
 AliTRDonlineTrackletQA.cxx:438
 AliTRDonlineTrackletQA.cxx:439
 AliTRDonlineTrackletQA.cxx:440
 AliTRDonlineTrackletQA.cxx:441
 AliTRDonlineTrackletQA.cxx:442
 AliTRDonlineTrackletQA.cxx:443
 AliTRDonlineTrackletQA.cxx:444
 AliTRDonlineTrackletQA.cxx:445
 AliTRDonlineTrackletQA.cxx:446
 AliTRDonlineTrackletQA.cxx:447
 AliTRDonlineTrackletQA.cxx:448
 AliTRDonlineTrackletQA.cxx:449
 AliTRDonlineTrackletQA.cxx:450
 AliTRDonlineTrackletQA.cxx:451
 AliTRDonlineTrackletQA.cxx:452
 AliTRDonlineTrackletQA.cxx:453
 AliTRDonlineTrackletQA.cxx:454
 AliTRDonlineTrackletQA.cxx:455
 AliTRDonlineTrackletQA.cxx:456
 AliTRDonlineTrackletQA.cxx:457
 AliTRDonlineTrackletQA.cxx:458
 AliTRDonlineTrackletQA.cxx:459
 AliTRDonlineTrackletQA.cxx:460
 AliTRDonlineTrackletQA.cxx:461
 AliTRDonlineTrackletQA.cxx:462
 AliTRDonlineTrackletQA.cxx:463
 AliTRDonlineTrackletQA.cxx:464
 AliTRDonlineTrackletQA.cxx:465
 AliTRDonlineTrackletQA.cxx:466
 AliTRDonlineTrackletQA.cxx:467
 AliTRDonlineTrackletQA.cxx:468
 AliTRDonlineTrackletQA.cxx:469
 AliTRDonlineTrackletQA.cxx:470
 AliTRDonlineTrackletQA.cxx:471
 AliTRDonlineTrackletQA.cxx:472
 AliTRDonlineTrackletQA.cxx:473
 AliTRDonlineTrackletQA.cxx:474
 AliTRDonlineTrackletQA.cxx:475
 AliTRDonlineTrackletQA.cxx:476
 AliTRDonlineTrackletQA.cxx:477
 AliTRDonlineTrackletQA.cxx:478
 AliTRDonlineTrackletQA.cxx:479
 AliTRDonlineTrackletQA.cxx:480
 AliTRDonlineTrackletQA.cxx:481
 AliTRDonlineTrackletQA.cxx:482
 AliTRDonlineTrackletQA.cxx:483
 AliTRDonlineTrackletQA.cxx:484
 AliTRDonlineTrackletQA.cxx:485
 AliTRDonlineTrackletQA.cxx:486
 AliTRDonlineTrackletQA.cxx:487
 AliTRDonlineTrackletQA.cxx:488
 AliTRDonlineTrackletQA.cxx:489
 AliTRDonlineTrackletQA.cxx:490
 AliTRDonlineTrackletQA.cxx:491
 AliTRDonlineTrackletQA.cxx:492
 AliTRDonlineTrackletQA.cxx:493
 AliTRDonlineTrackletQA.cxx:494
 AliTRDonlineTrackletQA.cxx:495
 AliTRDonlineTrackletQA.cxx:496
 AliTRDonlineTrackletQA.cxx:497
 AliTRDonlineTrackletQA.cxx:498
 AliTRDonlineTrackletQA.cxx:499
 AliTRDonlineTrackletQA.cxx:500
 AliTRDonlineTrackletQA.cxx:501
 AliTRDonlineTrackletQA.cxx:502
 AliTRDonlineTrackletQA.cxx:503
 AliTRDonlineTrackletQA.cxx:504
 AliTRDonlineTrackletQA.cxx:505
 AliTRDonlineTrackletQA.cxx:506
 AliTRDonlineTrackletQA.cxx:507
 AliTRDonlineTrackletQA.cxx:508
 AliTRDonlineTrackletQA.cxx:509
 AliTRDonlineTrackletQA.cxx:510
 AliTRDonlineTrackletQA.cxx:511
 AliTRDonlineTrackletQA.cxx:512
 AliTRDonlineTrackletQA.cxx:513
 AliTRDonlineTrackletQA.cxx:514
 AliTRDonlineTrackletQA.cxx:515
 AliTRDonlineTrackletQA.cxx:516
 AliTRDonlineTrackletQA.cxx:517
 AliTRDonlineTrackletQA.cxx:518
 AliTRDonlineTrackletQA.cxx:519
 AliTRDonlineTrackletQA.cxx:520
 AliTRDonlineTrackletQA.cxx:521
 AliTRDonlineTrackletQA.cxx:522
 AliTRDonlineTrackletQA.cxx:523
 AliTRDonlineTrackletQA.cxx:524
 AliTRDonlineTrackletQA.cxx:525
 AliTRDonlineTrackletQA.cxx:526
 AliTRDonlineTrackletQA.cxx:527
 AliTRDonlineTrackletQA.cxx:528
 AliTRDonlineTrackletQA.cxx:529
 AliTRDonlineTrackletQA.cxx:530
 AliTRDonlineTrackletQA.cxx:531
 AliTRDonlineTrackletQA.cxx:532
 AliTRDonlineTrackletQA.cxx:533
 AliTRDonlineTrackletQA.cxx:534
 AliTRDonlineTrackletQA.cxx:535
 AliTRDonlineTrackletQA.cxx:536
 AliTRDonlineTrackletQA.cxx:537
 AliTRDonlineTrackletQA.cxx:538
 AliTRDonlineTrackletQA.cxx:539
 AliTRDonlineTrackletQA.cxx:540
 AliTRDonlineTrackletQA.cxx:541
 AliTRDonlineTrackletQA.cxx:542
 AliTRDonlineTrackletQA.cxx:543
 AliTRDonlineTrackletQA.cxx:544
 AliTRDonlineTrackletQA.cxx:545
 AliTRDonlineTrackletQA.cxx:546
 AliTRDonlineTrackletQA.cxx:547
 AliTRDonlineTrackletQA.cxx:548
 AliTRDonlineTrackletQA.cxx:549
 AliTRDonlineTrackletQA.cxx:550
 AliTRDonlineTrackletQA.cxx:551
 AliTRDonlineTrackletQA.cxx:552
 AliTRDonlineTrackletQA.cxx:553
 AliTRDonlineTrackletQA.cxx:554
 AliTRDonlineTrackletQA.cxx:555
 AliTRDonlineTrackletQA.cxx:556
 AliTRDonlineTrackletQA.cxx:557
 AliTRDonlineTrackletQA.cxx:558
 AliTRDonlineTrackletQA.cxx:559
 AliTRDonlineTrackletQA.cxx:560
 AliTRDonlineTrackletQA.cxx:561
 AliTRDonlineTrackletQA.cxx:562
 AliTRDonlineTrackletQA.cxx:563
 AliTRDonlineTrackletQA.cxx:564
 AliTRDonlineTrackletQA.cxx:565
 AliTRDonlineTrackletQA.cxx:566
 AliTRDonlineTrackletQA.cxx:567
 AliTRDonlineTrackletQA.cxx:568
 AliTRDonlineTrackletQA.cxx:569
 AliTRDonlineTrackletQA.cxx:570
 AliTRDonlineTrackletQA.cxx:571
 AliTRDonlineTrackletQA.cxx:572
 AliTRDonlineTrackletQA.cxx:573
 AliTRDonlineTrackletQA.cxx:574
 AliTRDonlineTrackletQA.cxx:575
 AliTRDonlineTrackletQA.cxx:576
 AliTRDonlineTrackletQA.cxx:577
 AliTRDonlineTrackletQA.cxx:578
 AliTRDonlineTrackletQA.cxx:579
 AliTRDonlineTrackletQA.cxx:580
 AliTRDonlineTrackletQA.cxx:581
 AliTRDonlineTrackletQA.cxx:582
 AliTRDonlineTrackletQA.cxx:583
 AliTRDonlineTrackletQA.cxx:584
 AliTRDonlineTrackletQA.cxx:585
 AliTRDonlineTrackletQA.cxx:586
 AliTRDonlineTrackletQA.cxx:587
 AliTRDonlineTrackletQA.cxx:588
 AliTRDonlineTrackletQA.cxx:589
 AliTRDonlineTrackletQA.cxx:590
 AliTRDonlineTrackletQA.cxx:591
 AliTRDonlineTrackletQA.cxx:592
 AliTRDonlineTrackletQA.cxx:593
 AliTRDonlineTrackletQA.cxx:594
 AliTRDonlineTrackletQA.cxx:595
 AliTRDonlineTrackletQA.cxx:596
 AliTRDonlineTrackletQA.cxx:597
 AliTRDonlineTrackletQA.cxx:598
 AliTRDonlineTrackletQA.cxx:599
 AliTRDonlineTrackletQA.cxx:600
 AliTRDonlineTrackletQA.cxx:601
 AliTRDonlineTrackletQA.cxx:602
 AliTRDonlineTrackletQA.cxx:603
 AliTRDonlineTrackletQA.cxx:604
 AliTRDonlineTrackletQA.cxx:605
 AliTRDonlineTrackletQA.cxx:606
 AliTRDonlineTrackletQA.cxx:607
 AliTRDonlineTrackletQA.cxx:608
 AliTRDonlineTrackletQA.cxx:609
 AliTRDonlineTrackletQA.cxx:610
 AliTRDonlineTrackletQA.cxx:611
 AliTRDonlineTrackletQA.cxx:612
 AliTRDonlineTrackletQA.cxx:613
 AliTRDonlineTrackletQA.cxx:614
 AliTRDonlineTrackletQA.cxx:615
 AliTRDonlineTrackletQA.cxx:616
 AliTRDonlineTrackletQA.cxx:617
 AliTRDonlineTrackletQA.cxx:618
 AliTRDonlineTrackletQA.cxx:619
 AliTRDonlineTrackletQA.cxx:620
 AliTRDonlineTrackletQA.cxx:621
 AliTRDonlineTrackletQA.cxx:622
 AliTRDonlineTrackletQA.cxx:623
 AliTRDonlineTrackletQA.cxx:624
 AliTRDonlineTrackletQA.cxx:625
 AliTRDonlineTrackletQA.cxx:626
 AliTRDonlineTrackletQA.cxx:627
 AliTRDonlineTrackletQA.cxx:628
 AliTRDonlineTrackletQA.cxx:629
 AliTRDonlineTrackletQA.cxx:630
 AliTRDonlineTrackletQA.cxx:631
 AliTRDonlineTrackletQA.cxx:632
 AliTRDonlineTrackletQA.cxx:633
 AliTRDonlineTrackletQA.cxx:634
 AliTRDonlineTrackletQA.cxx:635
 AliTRDonlineTrackletQA.cxx:636
 AliTRDonlineTrackletQA.cxx:637
 AliTRDonlineTrackletQA.cxx:638
 AliTRDonlineTrackletQA.cxx:639
 AliTRDonlineTrackletQA.cxx:640
 AliTRDonlineTrackletQA.cxx:641
 AliTRDonlineTrackletQA.cxx:642
 AliTRDonlineTrackletQA.cxx:643
 AliTRDonlineTrackletQA.cxx:644
 AliTRDonlineTrackletQA.cxx:645
 AliTRDonlineTrackletQA.cxx:646
 AliTRDonlineTrackletQA.cxx:647
 AliTRDonlineTrackletQA.cxx:648
 AliTRDonlineTrackletQA.cxx:649
 AliTRDonlineTrackletQA.cxx:650
 AliTRDonlineTrackletQA.cxx:651
 AliTRDonlineTrackletQA.cxx:652
 AliTRDonlineTrackletQA.cxx:653
 AliTRDonlineTrackletQA.cxx:654
 AliTRDonlineTrackletQA.cxx:655
 AliTRDonlineTrackletQA.cxx:656
 AliTRDonlineTrackletQA.cxx:657
 AliTRDonlineTrackletQA.cxx:658
 AliTRDonlineTrackletQA.cxx:659
 AliTRDonlineTrackletQA.cxx:660
 AliTRDonlineTrackletQA.cxx:661
 AliTRDonlineTrackletQA.cxx:662
 AliTRDonlineTrackletQA.cxx:663
 AliTRDonlineTrackletQA.cxx:664
 AliTRDonlineTrackletQA.cxx:665
 AliTRDonlineTrackletQA.cxx:666
 AliTRDonlineTrackletQA.cxx:667
 AliTRDonlineTrackletQA.cxx:668
 AliTRDonlineTrackletQA.cxx:669
 AliTRDonlineTrackletQA.cxx:670
 AliTRDonlineTrackletQA.cxx:671
 AliTRDonlineTrackletQA.cxx:672
 AliTRDonlineTrackletQA.cxx:673
 AliTRDonlineTrackletQA.cxx:674
 AliTRDonlineTrackletQA.cxx:675
 AliTRDonlineTrackletQA.cxx:676
 AliTRDonlineTrackletQA.cxx:677
 AliTRDonlineTrackletQA.cxx:678
 AliTRDonlineTrackletQA.cxx:679
 AliTRDonlineTrackletQA.cxx:680
 AliTRDonlineTrackletQA.cxx:681
 AliTRDonlineTrackletQA.cxx:682
 AliTRDonlineTrackletQA.cxx:683
 AliTRDonlineTrackletQA.cxx:684
 AliTRDonlineTrackletQA.cxx:685
 AliTRDonlineTrackletQA.cxx:686
 AliTRDonlineTrackletQA.cxx:687
 AliTRDonlineTrackletQA.cxx:688
 AliTRDonlineTrackletQA.cxx:689
 AliTRDonlineTrackletQA.cxx:690
 AliTRDonlineTrackletQA.cxx:691
 AliTRDonlineTrackletQA.cxx:692
 AliTRDonlineTrackletQA.cxx:693
 AliTRDonlineTrackletQA.cxx:694
 AliTRDonlineTrackletQA.cxx:695
 AliTRDonlineTrackletQA.cxx:696
 AliTRDonlineTrackletQA.cxx:697
 AliTRDonlineTrackletQA.cxx:698
 AliTRDonlineTrackletQA.cxx:699
 AliTRDonlineTrackletQA.cxx:700
 AliTRDonlineTrackletQA.cxx:701
 AliTRDonlineTrackletQA.cxx:702
 AliTRDonlineTrackletQA.cxx:703
 AliTRDonlineTrackletQA.cxx:704
 AliTRDonlineTrackletQA.cxx:705
 AliTRDonlineTrackletQA.cxx:706
 AliTRDonlineTrackletQA.cxx:707
 AliTRDonlineTrackletQA.cxx:708
 AliTRDonlineTrackletQA.cxx:709
 AliTRDonlineTrackletQA.cxx:710
 AliTRDonlineTrackletQA.cxx:711
 AliTRDonlineTrackletQA.cxx:712
 AliTRDonlineTrackletQA.cxx:713
 AliTRDonlineTrackletQA.cxx:714
 AliTRDonlineTrackletQA.cxx:715
 AliTRDonlineTrackletQA.cxx:716
 AliTRDonlineTrackletQA.cxx:717
 AliTRDonlineTrackletQA.cxx:718
 AliTRDonlineTrackletQA.cxx:719
 AliTRDonlineTrackletQA.cxx:720
 AliTRDonlineTrackletQA.cxx:721
 AliTRDonlineTrackletQA.cxx:722
 AliTRDonlineTrackletQA.cxx:723
 AliTRDonlineTrackletQA.cxx:724
 AliTRDonlineTrackletQA.cxx:725
 AliTRDonlineTrackletQA.cxx:726
 AliTRDonlineTrackletQA.cxx:727
 AliTRDonlineTrackletQA.cxx:728
 AliTRDonlineTrackletQA.cxx:729
 AliTRDonlineTrackletQA.cxx:730
 AliTRDonlineTrackletQA.cxx:731
 AliTRDonlineTrackletQA.cxx:732
 AliTRDonlineTrackletQA.cxx:733
 AliTRDonlineTrackletQA.cxx:734
 AliTRDonlineTrackletQA.cxx:735
 AliTRDonlineTrackletQA.cxx:736
 AliTRDonlineTrackletQA.cxx:737
 AliTRDonlineTrackletQA.cxx:738
 AliTRDonlineTrackletQA.cxx:739
 AliTRDonlineTrackletQA.cxx:740
 AliTRDonlineTrackletQA.cxx:741
 AliTRDonlineTrackletQA.cxx:742
 AliTRDonlineTrackletQA.cxx:743
 AliTRDonlineTrackletQA.cxx:744
 AliTRDonlineTrackletQA.cxx:745
 AliTRDonlineTrackletQA.cxx:746
 AliTRDonlineTrackletQA.cxx:747
 AliTRDonlineTrackletQA.cxx:748
 AliTRDonlineTrackletQA.cxx:749
 AliTRDonlineTrackletQA.cxx:750
 AliTRDonlineTrackletQA.cxx:751
 AliTRDonlineTrackletQA.cxx:752
 AliTRDonlineTrackletQA.cxx:753
 AliTRDonlineTrackletQA.cxx:754
 AliTRDonlineTrackletQA.cxx:755
 AliTRDonlineTrackletQA.cxx:756
 AliTRDonlineTrackletQA.cxx:757
 AliTRDonlineTrackletQA.cxx:758
 AliTRDonlineTrackletQA.cxx:759
 AliTRDonlineTrackletQA.cxx:760
 AliTRDonlineTrackletQA.cxx:761
 AliTRDonlineTrackletQA.cxx:762
 AliTRDonlineTrackletQA.cxx:763
 AliTRDonlineTrackletQA.cxx:764
 AliTRDonlineTrackletQA.cxx:765
 AliTRDonlineTrackletQA.cxx:766
 AliTRDonlineTrackletQA.cxx:767
 AliTRDonlineTrackletQA.cxx:768
 AliTRDonlineTrackletQA.cxx:769
 AliTRDonlineTrackletQA.cxx:770
 AliTRDonlineTrackletQA.cxx:771
 AliTRDonlineTrackletQA.cxx:772
 AliTRDonlineTrackletQA.cxx:773
 AliTRDonlineTrackletQA.cxx:774
 AliTRDonlineTrackletQA.cxx:775
 AliTRDonlineTrackletQA.cxx:776
 AliTRDonlineTrackletQA.cxx:777
 AliTRDonlineTrackletQA.cxx:778
 AliTRDonlineTrackletQA.cxx:779
 AliTRDonlineTrackletQA.cxx:780
 AliTRDonlineTrackletQA.cxx:781
 AliTRDonlineTrackletQA.cxx:782
 AliTRDonlineTrackletQA.cxx:783
 AliTRDonlineTrackletQA.cxx:784
 AliTRDonlineTrackletQA.cxx:785
 AliTRDonlineTrackletQA.cxx:786
 AliTRDonlineTrackletQA.cxx:787
 AliTRDonlineTrackletQA.cxx:788
 AliTRDonlineTrackletQA.cxx:789
 AliTRDonlineTrackletQA.cxx:790
 AliTRDonlineTrackletQA.cxx:791
 AliTRDonlineTrackletQA.cxx:792
 AliTRDonlineTrackletQA.cxx:793
 AliTRDonlineTrackletQA.cxx:794
 AliTRDonlineTrackletQA.cxx:795
 AliTRDonlineTrackletQA.cxx:796
 AliTRDonlineTrackletQA.cxx:797
 AliTRDonlineTrackletQA.cxx:798
 AliTRDonlineTrackletQA.cxx:799
 AliTRDonlineTrackletQA.cxx:800
 AliTRDonlineTrackletQA.cxx:801
 AliTRDonlineTrackletQA.cxx:802
 AliTRDonlineTrackletQA.cxx:803
 AliTRDonlineTrackletQA.cxx:804
 AliTRDonlineTrackletQA.cxx:805
 AliTRDonlineTrackletQA.cxx:806