ROOT logo
/**************************************************************************
 * Copyright(c) 1998-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.                  *
 **************************************************************************/

/////////////////////////////////////////////////////////////
//
// AliAnalysisTask to study the TPC-ITS track matching
//
// Author: A.Dainese, andrea.dainese@pd.infn.it
/////////////////////////////////////////////////////////////

#include <TTree.h>
#include <TChain.h>
#include <TNtuple.h>
#include <TList.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TVector3.h>
#include <TGeoManager.h>

#include "AliLog.h"
#include "AliGeomManager.h"
#include "AliTrackPointArray.h"
#include "AliESDInputHandler.h"
#include "AliESDVertex.h"
#include "AliESDtrack.h"
#include "AliESDEvent.h"
#include "AliESDfriend.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliExternalTrackParam.h"
#include "AliTrackMatchingTPCITSCosmics.h"


ClassImp(AliTrackMatchingTPCITSCosmics)


//________________________________________________________________________
AliTrackMatchingTPCITSCosmics::AliTrackMatchingTPCITSCosmics(const char *name):
AliAnalysisTask(name,"task"),
fOnlySPDFO(kFALSE),
fReadHLTESD(kFALSE),
fGeometryFileName("geometry.root"),
fESD(0),
fList(0),
fHistEvCount(0),
fntTrks(0),
fntPairs(0),
fntITSPairs(0)
{
  // Constructor

  // Define input and output slots here
  // Input slot #0 works with a TChain
  DefineInput(0, TChain::Class());
  // Output slot #0 writes into a TList
  DefineOutput(0,TList::Class());  //My private output
}

//________________________________________________________________________
AliTrackMatchingTPCITSCosmics::~AliTrackMatchingTPCITSCosmics()
{
  // Destructor
  if (fList) {
    delete fList;
    fList = 0;
  }
  if (fHistEvCount) {
    delete fHistEvCount;
    fHistEvCount = 0;
  }
  if (fntTrks) {
    delete fntTrks;
    fntTrks = 0;
  }
  if (fntPairs) {
    delete fntPairs;
    fntPairs = 0;
  }
  if (fntITSPairs) {
    delete fntITSPairs;
    fntITSPairs = 0;
  }
}  

//________________________________________________________________________
void AliTrackMatchingTPCITSCosmics::ConnectInputData(Option_t *) 
{
  // Connect ESD
  // Called once

  TTree* tree = dynamic_cast<TTree*> (GetInputData(0));
  if(!tree) {
    printf("ERROR: Could not read chain from input slot 0\n");
  } else {
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    
    if(!esdH) {
      printf("ERROR: Could not get ESDInputHandler\n");
    } else {
      fESD = esdH->GetEvent();
    }
  }
  
  return;
}

//________________________________________________________________________
void AliTrackMatchingTPCITSCosmics::Init()
{
  // Initialization

  return;
}

//________________________________________________________________________
void AliTrackMatchingTPCITSCosmics::CreateOutputObjects()
{
  // Create the output container
  //

  // load the geometry  
  if(!gGeoManager) {    
    AliGeomManager::LoadGeometry(fGeometryFileName.Data());
    if(!gGeoManager) { 
      printf("AliTrackMatchingTPCITSCosmics::CreateOutputObjects(): no geometry loaded \n");
      return;
    }
  }

  // Several histograms are more conveniently managed in a TList
  fList = new TList();
  fList->SetOwner();

  fHistEvCount = new TH1F("fHistEvCount","0: all, 1: SPDFO, 2: vtx, 3: TPCtrks, 4: ITStrks, 5: HLT, 6: HLT&TPCtrks, 7: HLT&ITStrks",11,-0.5,10.5);
  fList->Add(fHistEvCount);

  fntTrks = new TNtuple("fntTrks","TPC-ITS matching","ptTPC:nClsTPC:nClsITSSA:nClsITSMI:SSD1:SSD2:phi:z:dx:dy:dz:drphi:dphi:dtgl");
  fList->Add(fntTrks);
  fntPairs = new TNtuple("fntPairs","pairs at vertex","nClsITSSAin:nClsITSSAout:nClsITSMIin:nClsITSMIout:dxyITSSA:dzITSSA:dxyITSMI:dzITSMI:ptITSSAin:ptITSSAout:ptITSMIin:ptITSMIout:sigmad0MIin:sigmad0MIout");
  fList->Add(fntPairs);
  fntITSPairs = new TNtuple("fntITSPairs","pairs at vertex","nClsITSSAin:nClsITSSAout:dxyITSSA:dzITSSA:ptITSSAin:ptITSSAout:d0mu");
  fList->Add(fntITSPairs);

  return;
}

//________________________________________________________________________
void AliTrackMatchingTPCITSCosmics::Exec(Option_t */*option*/)
{
  // Execute analysis for current event:
  // write ITS AliTrackPoints for selected tracks to fspTree
  
  // check the geometry  
  if(!gGeoManager) { 
    printf("AliTrackMatchingTPCITSCosmics::Exec(): no geometry loaded \n");
    return;
  }

  if(!fESD) {
    printf("AliTrackMatchingTPCITSCosmics::Exec(): no ESD \n");
    return;
  } 


  fHistEvCount->Fill(0);
  PostData(0,fList);

  // check if event is triggered by HLT
  Bool_t hltTrigg=kFALSE;
  if(fReadHLTESD) {
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    if(!esdH) {
      printf("AliTrackMatchingTPCITSCosmics::Exec(): no ESD \n");
      return;
    } 
    AliESDEvent *hltESD = esdH->GetHLTEvent();
    if(!hltESD) {
      printf("AliTrackMatchingTPCITSCosmics::Exec(): no HLT ESD \n");
      return;
    } 
    if(hltESD->IsHLTTriggerFired()) {fHistEvCount->Fill(5);hltTrigg=kTRUE;}
  }

  
  TString triggeredClass = fESD->GetFiredTriggerClasses(); 
  if(triggeredClass.Contains("C0SCO-ABCE-NOPF-CENT")) {
    fHistEvCount->Fill(1);
  } else {
    if(fOnlySPDFO) {  PostData(0,fList); return; }
  }
  
  Int_t ntracks = fESD->GetNumberOfTracks();
  printf("CONTR: %d\n",fESD->GetVertex()->GetNContributors());
  if(fESD->GetVertex()->GetNContributors()>=0) {
    fHistEvCount->Fill(2);
  } 
  
  Int_t nTrksITSSA=0,nTrksTPC=0,nTrksTPCITS=0;
  Int_t idxITSSA[10000],idxTPC[10000];
  Int_t idxITSSAin=-1,idxITSSAout=-1;
  Int_t idxTPCin=-1,idxTPCout=-1;
  for(Int_t itr=0; itr<ntracks; itr++) {
    AliESDtrack *t = fESD->GetTrack(itr);
    Int_t nClsTPC = t->GetNcls(1);
    Int_t nClsITS = t->GetNcls(0);
    if(nClsITS>=2 && nClsTPC==0) { // ITS SA
      idxITSSA[nTrksITSSA]=itr;
      nTrksITSSA++;
      //printf("%d\n",itr);
    }
    if(nClsTPC>=50) {              // TPC
      idxTPC[nTrksTPC]=itr;
      nTrksTPC++;
    }
    if(nClsTPC>=50 && nClsITS>=2) {// TPC+ITS
      nTrksTPCITS++;
      /*printf("  --> TPC+ITS: %d + %d (%d,%d,%d,%d,%d,%d) pt = %f\n",nClsTPC,nClsITS,
	(Int_t)(t->HasPointOnITSLayer(0)),
	(Int_t)(t->HasPointOnITSLayer(1)),
	(Int_t)(t->HasPointOnITSLayer(2)),
	(Int_t)(t->HasPointOnITSLayer(3)),
	(Int_t)(t->HasPointOnITSLayer(4)),
	(Int_t)(t->HasPointOnITSLayer(5)),
	t->Pt());*/
    }
  }
  
  //printf("nTrksTPC %d  nTrksITSSA %d\n",nTrksTPC,nTrksITSSA);
  if(nTrksITSSA>0) fHistEvCount->Fill(4);
  if(hltTrigg && nTrksITSSA>0) fHistEvCount->Fill(7);
  if(nTrksTPC>0)   fHistEvCount->Fill(3);
  if(hltTrigg && nTrksTPC>0)   fHistEvCount->Fill(6);
  if(nTrksTPCITS>0)   fHistEvCount->Fill(8);
  if(hltTrigg && nTrksTPCITS>0)   fHistEvCount->Fill(9);
  
  if(nTrksTPC>2 || nTrksTPC==0 || nTrksITSSA>2 || nTrksITSSA==0) { PostData(0,fList); return; }
  
  for(Int_t itr=0; itr<nTrksTPC; itr++) {
    AliESDtrack *t = fESD->GetTrack(idxTPC[itr]);
    if(t->Py()>0) idxTPCin=idxTPC[itr];
    if(t->Py()<0) idxTPCout=idxTPC[itr];
  }
  
  
  for(Int_t itr=0; itr<nTrksITSSA; itr++) {
    AliESDtrack *t = fESD->GetTrack(idxITSSA[itr]);
    if(t->Py()>0) idxITSSAin=idxITSSA[itr];
    if(t->Py()<0) idxITSSAout=idxITSSA[itr];
  }
  
  Double_t xyzITS[3],xyzTPC[3];

  // analysis for inward track
  if(idxITSSAin>-1 && idxTPCin>-1) { 
    //printf(" %d\n",idxITSSAin);
    AliESDtrack *tITS = fESD->GetTrack(idxITSSAin);
    const AliExternalTrackParam *outerITS = tITS->GetOuterParam();
    xyzITS[0]=-1000.;xyzITS[1]=-1000.;xyzITS[2]=-1000.;
    if(outerITS) outerITS->GetXYZAt(50.,fESD->GetMagneticField(),xyzITS);
    AliESDtrack *tTPC = fESD->GetTrack(idxTPCin);
    AliExternalTrackParam *innerTPC = new AliExternalTrackParam(*(tTPC->GetInnerParam()));
    innerTPC->Rotate(tITS->GetAlpha());
    innerTPC->GetXYZAt(50.,fESD->GetMagneticField(),xyzTPC);
    fntTrks->Fill(innerTPC->Pt(),
		 tTPC->GetNcls(1),
		 tITS->GetNcls(0),
		 tTPC->GetNcls(0),
		 tITS->HasPointOnITSLayer(4),
		 tITS->HasPointOnITSLayer(5),
		 TMath::ATan2(xyzITS[1],xyzITS[0]),
		 xyzITS[2],
		 xyzITS[0]-xyzTPC[0],
		 xyzITS[1]-xyzTPC[1],
		 xyzITS[2]-xyzTPC[2],
		 0.5*(TMath::Sqrt(xyzITS[0]*xyzITS[0]+xyzITS[1]*xyzITS[1])+TMath::Sqrt(xyzTPC[0]*xyzTPC[0]+xyzTPC[1]*xyzTPC[1]))*(TMath::ATan2(xyzITS[1],xyzITS[0])-TMath::ATan2(xyzTPC[1],xyzTPC[0])),
		 TMath::ATan2(tITS->Py(),tITS->Px())-TMath::ATan2(innerTPC->Py(),innerTPC->Px()),
		 tITS->Pz()/tITS->Pt()-innerTPC->Pz()/innerTPC->Pt());
    delete innerTPC; innerTPC=NULL;
  }

  // analysis for outward track
  if(idxITSSAout>-1 && idxTPCout>-1) { 
    //printf(" %d\n",idxITSSAout);
    AliESDtrack *tITS = fESD->GetTrack(idxITSSAout);
    const AliExternalTrackParam *outerITS = tITS->GetOuterParam();
    xyzITS[0]=-1000.;xyzITS[1]=-1000.;xyzITS[2]=-1000.;
    if(outerITS) outerITS->GetXYZAt(50.,fESD->GetMagneticField(),xyzITS);
    AliESDtrack *tTPC = fESD->GetTrack(idxTPCout);
    AliExternalTrackParam *innerTPC = new AliExternalTrackParam(*(tTPC->GetInnerParam()));
    innerTPC->Rotate(tITS->GetAlpha());
    innerTPC->GetXYZAt(50.,fESD->GetMagneticField(),xyzTPC);
    fntTrks->Fill(innerTPC->Pt(),
		 tTPC->GetNcls(1),
		 tITS->GetNcls(0),
		 tTPC->GetNcls(0),
		 tITS->HasPointOnITSLayer(4),
		 tITS->HasPointOnITSLayer(5),
		 TMath::ATan2(xyzITS[1],xyzITS[0]),
		 xyzITS[2],
		 xyzITS[0]-xyzTPC[0],
		 xyzITS[1]-xyzTPC[1],
		 xyzITS[2]-xyzTPC[2],
		 0.5*(TMath::Sqrt(xyzITS[0]*xyzITS[0]+xyzITS[1]*xyzITS[1])+TMath::Sqrt(xyzTPC[0]*xyzTPC[0]+xyzTPC[1]*xyzTPC[1]))*(TMath::ATan2(xyzITS[1],xyzITS[0])-TMath::ATan2(xyzTPC[1],xyzTPC[0])),
		 TMath::ATan2(tITS->Py(),tITS->Px())-TMath::ATan2(innerTPC->Py(),innerTPC->Px()),
		 tITS->Pz()/tITS->Pt()-innerTPC->Pz()/innerTPC->Pt()
		 );
    delete innerTPC; innerTPC=NULL;
  }

  // inward-outward track ITS only
  if(idxITSSAin>-1 && idxITSSAout>-1) {
    AliESDtrack *tITSin = fESD->GetTrack(idxITSSAin);
    AliESDtrack *tITSout = fESD->GetTrack(idxITSSAout);
    if(tITSin->HasPointOnITSLayer(0) && 
       tITSin->HasPointOnITSLayer(1) &&
       tITSout->HasPointOnITSLayer(0) &&
       tITSout->HasPointOnITSLayer(1)) {
      Double_t alpha = TMath::ATan2(tITSin->Py(),tITSin->Px());
      tITSin->Propagate(alpha,0.,fESD->GetMagneticField());
      tITSout->Propagate(alpha,0.,fESD->GetMagneticField());
      Float_t d0[2],z0[2];
      d0[0] = tITSin->GetY();
      z0[0] = tITSin->GetZ();
      d0[1] = tITSout->GetY();
      z0[1] = tITSout->GetZ();
      Float_t dxyITS = -(d0[0]-d0[1]);
      Float_t dzITS = z0[0]-z0[1];
      fntITSPairs->Fill(tITSin->GetNcls(0),tITSout->GetNcls(0),dxyITS,dzITS,tITSin->Pt(),tITSout->Pt(),TMath::Abs(d0[0]));
    }
  }

  // inward-outward track TPC+ITS
  if(idxITSSAin>-1 && idxTPCin>-1 && idxITSSAout>-1 && idxTPCout>-1) {
    AliESDtrack *tTPCin = fESD->GetTrack(idxTPCin);
    AliESDtrack *tITSin = fESD->GetTrack(idxITSSAin);
    AliESDtrack *tTPCout = fESD->GetTrack(idxTPCout);
    AliESDtrack *tITSout = fESD->GetTrack(idxITSSAout);
    if(tTPCin->HasPointOnITSLayer(0) && 
       tTPCin->HasPointOnITSLayer(1) &&
       tITSin->HasPointOnITSLayer(0) && 
       tITSin->HasPointOnITSLayer(1) && 
       tTPCout->HasPointOnITSLayer(0) &&
       tTPCout->HasPointOnITSLayer(1) &&
       tITSout->HasPointOnITSLayer(0) &&
       tITSout->HasPointOnITSLayer(1)) {
      Double_t alpha = TMath::ATan2(tTPCin->Py(),tTPCin->Px());
      tTPCin->Propagate(alpha,0.,fESD->GetMagneticField());
      tTPCout->Propagate(alpha,0.,fESD->GetMagneticField());
      Float_t d0[2],z0[2];
      d0[0] = tTPCin->GetY();
      z0[0] = tTPCin->GetZ();
      d0[1] = tTPCout->GetY();
      z0[1] = tTPCout->GetZ();
      Float_t dxyTPC = -(d0[0]-d0[1]);
      Float_t dzTPC = z0[0]-z0[1];
      alpha = TMath::ATan2(tITSin->Py(),tITSin->Px());
      tITSin->Propagate(alpha,0.,fESD->GetMagneticField());
      tITSout->Propagate(alpha,0.,fESD->GetMagneticField());
      d0[0] = tITSin->GetY();
      z0[0] = tITSin->GetZ();
      d0[1] = tITSout->GetY();
      z0[1] = tITSout->GetZ();
      Float_t dxyITS = -(d0[0]-d0[1]);
      Float_t dzITS = z0[0]-z0[1];
      fntPairs->Fill(tITSin->GetNcls(0),tITSout->GetNcls(0),tTPCin->GetNcls(0),tTPCout->GetNcls(0),dxyITS,dzITS,dxyTPC,dzTPC,tITSin->Pt(),tITSout->Pt(),tTPCin->Pt(),tTPCout->Pt(),tTPCin->GetSigmaY2(),tTPCout->GetSigmaY2());
    }
  }

  PostData(0,fList);

  return;
}

//________________________________________________________________________
void AliTrackMatchingTPCITSCosmics::Terminate(Option_t */*option*/)
{
  // Terminate analysis
  //
  AliDebug(2,"AliTrackMatchingTPCITSCosmics: Terminate() \n");

  fList = dynamic_cast<TList*> (GetOutputData(0));
  if (!fList) {     
    printf("ERROR: fList not available\n");
    return;
  }

  return;
}

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