ROOT logo
void ReadAODVertexingHF(const char *aodFileName="AliAOD.root",
			const char *aodHFFileName="AliAOD.VertexingHF.root") 
{
  //
  // Example macro to read D0->Kpi candidates from AOD (having the
  // standard AOD + a friend heavy-flavour AOD) and apply cuts
  // Origin: A.Dainese
  //

  TStopwatch t;
  t.Start();

  Bool_t useParFiles=kFALSE;
  gROOT->LoadMacro("$ALICE_ROOT/PWG3/vertexingHF/macros/LoadLibraries.C");
  LoadLibraries(useParFiles);

  // create a test histogram
  TH2F *hCPtaVSd0d0 = new TH2F("hCPtaVSd0d0","D^{0} correlation plot",1000,-50000,50000,1000,-1,1);
  hCPtaVSd0d0->SetXTitle("Product of impact parameters [#mu m^{2}]");
  hCPtaVSd0d0->SetYTitle("Cosine of pointing angle");
  TH1F *hMass = new TH1F("hMass","D^{0} mass plot",100,1.7,2);
  hMass->SetXTitle("Invariant mass [GeV]");
  hMass->SetYTitle("Entries");
  TH1F *hSecVtxZ = new TH1F("hSecVtxZ","D^{0} decay vertex z",1000,-10,10);
  hSecVtxZ->SetXTitle("z of decay vertex [cm]");
  hSecVtxZ->SetYTitle("Entries");
  TH1F *hDeltaMassDstar = new TH1F("hDeltaMassDstar","D* delta mass plot",100,0,0.3);
  hDeltaMassDstar->SetXTitle("M(Kpipi)-M(Kpi) [GeV]");
  hDeltaMassDstar->SetYTitle("Entries");


  // open input file and get the TTree
  TFile inFile(aodFileName,"READ");
  if (!inFile.IsOpen()) return;

  TTree *aodTree = (TTree*)inFile.Get("aodTree");
  aodTree->AddFriend("aodTree",aodHFFileName);

  AliAODEvent *aod = new AliAODEvent();

  aod->ReadFromTree(aodTree);

  // load heavy flavour vertices
  TClonesArray *arrayVerticesHF = 
    (TClonesArray*)aod->GetList()->FindObject("VerticesHF"); 
  
  // load D0->Kpi candidates
  TClonesArray *arrayD0toKpi = 
    (TClonesArray*)aod->GetList()->FindObject("D0toKpi"); 
     
  // load 3prong candidates
  TClonesArray *array3Prong = 
    (TClonesArray*)aod->GetList()->FindObject("Charm3Prong"); 
    
  // load D* candidates
  TClonesArray *arrayDstar = 
    (TClonesArray*)aod->GetList()->FindObject("Dstar"); 
    
  // load cascade (V0+track) candidates
  TClonesArray *arrayCascades = 
    (TClonesArray*)aod->GetList()->FindObject("CascadesHF"); 
    


  Int_t nTotHF=0,nTotD0toKpi=0,nTotDstar=0,nTot3Prong=0,nTotCasc=0;
  AliAODVertex *vtx1=0;

  AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
  cutsD0toKpi->SetStandardCutsPP2010();
  cutsD0toKpi->SetRemoveDaughtersFromPrim(kFALSE);

  AliRDHFCutsDStartoKpipi *cutsDStar = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
  cutsDStar->SetStandardCutsPP2010();

  AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
  cutsDplustoKpipi->SetStandardCutsPP2010();
  cutsDplustoKpipi->SetRemoveDaughtersFromPrim(kFALSE);
  
  Int_t nTot3ProngSele=0;
  Int_t nTotD0toKpiSele=0;
  Int_t nTotDStarSele=0;

  // loop over events
  Int_t nEvents = aodTree->GetEntries();
  for (Int_t nEv = 0; nEv < nEvents; nEv++) {
    cout<<"\n------------ Event: "<<nEv<<" ------------------"<<endl;

    // read event
    aodTree->GetEvent(nEv);
    //aodTree->BranchRef();

    //print event info
    aod->GetHeader()->Print();

    // primary vertex
    vtx1 = (AliAODVertex*)aod->GetPrimaryVertex();
    vtx1->Print();

    /*
    // make trkIDtoEntry register (temporary)
    Int_t trkIDtoEntry[100000];
    for(Int_t it=0;it<aod->GetNumberOfTracks();it++) {
      AliAODTrack *track = aod->GetTrack(it);
      trkIDtoEntry[track->GetID()]=it;
    }
    */

    // Fix references to daughter tracks
    //AliAnalysisVertexingHF *fixer = new AliAnalysisVertexingHF();
    //fixer->FixReferences(aod);
    //delete fixer;
    //
    //AliRDHFCutsD0toKpi *mycuts=new AliRDHFCutsD0toKpi();
    //mycuts->SetFixRefs(kTRUE);
    //mycuts->IsEventSelected(aod);

    // loop over D0->Kpi candidates
    Int_t nD0toKpi = arrayD0toKpi->GetEntriesFast();
    nTotD0toKpi += nD0toKpi;
    cout<<"Number of D0->Kpi: "<<nD0toKpi<<endl;
    
    for (Int_t iD0toKpi = 0; iD0toKpi < nD0toKpi; iD0toKpi++) {
      AliAODRecoDecayHF2Prong *d = (AliAODRecoDecayHF2Prong*)arrayD0toKpi->UncheckedAt(iD0toKpi);

      d->SetOwnPrimaryVtx(vtx1);

      /*
	// get daughter AOD tracks
	AliAODTrack *trk0 = (AliAODTrack*)d->GetDaughter(0);
	AliAODTrack *trk1 = (AliAODTrack*)d->GetDaughter(1);

	if(trk0->GetStatus()) printf("ok %d\n",iD0toKpi);
      */
      printf("D0 %d\n",iD0toKpi);
      if(cutsD0toKpi->IsSelected(d,AliRDHFCuts::kAll)) {printf("D0 %d passed\n",iD0toKpi); nTotD0toKpiSele++;}

    }


    // loop over D* candidates
    Int_t nDstar = arrayDstar->GetEntriesFast();
    nTotDstar += nDstar;
    cout<<"Number of D*->D0pi: "<<nDstar<<endl;
    

  
    for (Int_t iDstar = 0; iDstar < nDstar; iDstar++) {
      AliAODRecoCascadeHF *c = (AliAODRecoCascadeHF*)arrayDstar->UncheckedAt(iDstar);
      printf("D* %d\n",iDstar);
      if(cutsDStar->IsSelected(c,AliRDHFCuts::kCandidate)) {printf("D* %d passed\n",iDstar); nTotDStarSele++;}

    }

  

    // count 3prong candidates
    Int_t n3Prong = array3Prong->GetEntriesFast();
    nTot3Prong += n3Prong;
    cout<<"Number of Charm->3Prong: "<<n3Prong<<endl;

    for (Int_t i3p = 0; i3p < n3Prong; i3p++) {
      AliAODRecoDecayHF3Prong *ccc = (AliAODRecoDecayHF3Prong*)array3Prong->UncheckedAt(i3p);
      printf("3p %d\n",i3p);
      //if(cutsDplustoKpipi->IsSelected(ccc,AliRDHFCuts::kCandidate)) {printf("3p %d passed\n",i3p); nTot3ProngSele++;}

    }

    /*
    // loop over HF vertices
    Int_t nVtxsHF = arrayVerticesHF->GetEntriesFast();
    nTotHF += nVtxsHF;
    cout<<"Number of heavy-flavour vertices: "<<nVtxsHF<<endl;
    for (Int_t iVtx = 0; iVtx <0; iVtx++) {
      AliAODVertex *vtxHF = (AliAODVertex*)arrayVerticesHF->UncheckedAt(iVtx);
      // print info
      //cout << iVtx << ": vertex z position: " << vtxHF->GetZ() << endl;
    }


    // count cascade candidates
    if (arrayCascades){
      Int_t nCasc = arrayCascades->GetEntriesFast();
      nTotCasc+=nCasc;
      cout << "Number of Cascades: "<<nCasc<<endl;
    }
    */
  }
  
  printf("\n Total HF vertices: %d\n",nTotHF);
  printf("\n Total D0->Kpi: %d; selected %d\n",nTotD0toKpi,nTotD0toKpiSele);
  printf("\n Total D*->D0pi: %d; selected %d\n",nTotDstar,nTotDStarSele);
  printf("\n Total Charm->3Prong: %d; selected %d\n",nTot3Prong,nTot3ProngSele);
  if (arrayCascades) printf("\n Total Cascades: %d\n",nTotCasc);

  /*
  TCanvas *c1 = new TCanvas("c1","c1",0,0,800,700);
  c1->Divide(2,2);
  c1->cd(1);
  hCPtaVSd0d0->Draw("colz");
  c1->cd(2);
  hMass->SetFillColor(4);
  hMass->Draw();
  c1->cd(3);
  hSecVtxZ->SetFillColor(2);
  hSecVtxZ->Draw();
  c1->cd(4);
  hDeltaMassDstar->SetFillColor(3);
  hDeltaMassDstar->Draw();
  */

  t.Stop();
  t.Print();

  return;
}
//------------------------------------------------------------------------
void ReadAODVertexingHFsa(const char *aodHFFileName="AliAOD.VertexingHF.sa.root") 
{
  //
  // Example macro to read D0->Kpi candidates from a stand-alone
  // heavy-flavour AOD (i.e. without standard AOD) and apply cuts
  // Origin: A.Dainese
  //
  Bool_t useParFiles=kFALSE;
  gROOT->LoadMacro("$ALICE_ROOT/PWG3/vertexingHF/LoadLibraries.C");
  LoadLibraries(useParFiles);

  // create a test histogram
  TH2F *hCPtaVSd0d0 = new TH2F("hCPtaVSd0d0","D^{0} correlation plot",1000,-50000,50000,1000,-1,1);
  hCPtaVSd0d0->SetXTitle("Product of impact parameters [#mu m^{2}]");
  hCPtaVSd0d0->SetYTitle("Cosine of pointing angle");
  TH1F *hMass = new TH1F("hMass","D^{0} mass plot",100,1.7,2);
  hMass->SetXTitle("Invariant mass [GeV]");
  hMass->SetYTitle("Entries");
  TH1F *hSecVtxZ = new TH1F("hSecVtxZ","D^{0} decay vertex z",1000,-10,10);
  hSecVtxZ->SetXTitle("z of decay vertex [cm]");
  hSecVtxZ->SetYTitle("Entries");

  // open input file and get the TTree
  TFile inFile(aodHFFileName,"READ");
  if (!inFile.IsOpen()) return;

  TTree *aodTree = (TTree*)inFile.Get("aodTree");

  AliAODEvent *aod = new AliAODEvent();

  aod->ReadFromTree(aodTree);

  // load heavy flavour vertices
  TClonesArray *arrayVerticesHF = 
    (TClonesArray*)aod->GetList()->FindObject("VerticesHF"); 
  
  // load D0->Kpi candidates
  TClonesArray *arrayD0toKpi = 
    (TClonesArray*)aod->GetList()->FindObject("D0toKpi"); 
     

  Double_t cutsD0[9]=
  // cutsD0[0] = inv. mass half width [GeV]
  // cutsD0[1] = dca [cm]
  // cutsD0[2] = cosThetaStar
  // cutsD0[3] = pTK [GeV/c]
  // cutsD0[4] = pTPi [GeV/c]
  // cutsD0[5] = d0K [cm]   upper limit!
  // cutsD0[6] = d0Pi [cm]  upper limit!
  // cutsD0[7] = d0d0 [cm^2]
  // cutsD0[8] = cosThetaPoint
                     {1000.,
		      100000.,
		      1.1,
		      0.,
		      0.,
		      100000.,
		      100000.,
		      100000000.,
		      -1.1}; 

  Int_t nTotHF=0,nTotD0toKpi=0;
  AliAODVertex *vtx1=0;

  // loop over events
  Int_t nEvents = aodTree->GetEntries();
  for (Int_t nEv = 0; nEv < nEvents; nEv++) {
    cout<<"\n------------ Event: "<<nEv<<" ------------------"<<endl;

    // read event
    aodTree->GetEvent(nEv);
    //aodTree->BranchRef();

    
    // loop over D0->Kpi candidates
    Int_t nD0toKpi = arrayD0toKpi->GetEntriesFast();
    nTotD0toKpi += nD0toKpi;
    cout<<"Number of D0->Kpi: "<<nD0toKpi<<endl;
    
    for (Int_t iD0toKpi = 0; iD0toKpi < nD0toKpi; iD0toKpi++) {
      AliAODRecoDecayHF2Prong *d = (AliAODRecoDecayHF2Prong*)arrayD0toKpi->UncheckedAt(iD0toKpi);
      Int_t okD0=0,okD0bar=0; 
      if(d->SelectD0(cutsD0,okD0,okD0bar)) {
	//cout<<1e8*d->Prodd0d0()<<endl;
	hMass->Fill(d->InvMassD0(),0.5);
	hMass->Fill(d->InvMassD0bar(),0.5);
	hCPtaVSd0d0->Fill(1e8*d->Prodd0d0(),d->CosPointingAngle());
	hSecVtxZ->Fill(d->GetSecVtxZ());
	//cout<<d->GetSecVtxZ() <<endl;

      }
    }
    
  }
  
  printf("\n Total D0->Kpi: %d\n",nTotD0toKpi);

  TCanvas *c = new TCanvas("c","c",0,0,1000,1000);
  c->Divide(2,2);
  c->cd(1);
  hCPtaVSd0d0->Draw("colz");
  c->cd(2);
  hMass->SetFillColor(4);
  hMass->Draw();
  c->cd(3);
  hSecVtxZ->SetFillColor(2);
  hSecVtxZ->Draw();

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