- if(esdTree->GetEntries()<evLast) evLast=esdTree->GetEntries()-1;
- for(Int_t i=evFirst; i<=evLast; i++) {
- esdTree->GetEvent(i);
- vHF->FindCandidates(esd,trees);
- //if(i==evLast) i=evFirst;
+ switch(mode) {
+ case 0:
+ vHF->FindCandidatesESDtoAOD();
+ break;
+ case 1:
+ TTree *trees = new TTree[1];
+ AliAODRecoDecayHF2Prong *rd2=0;
+ // AliAODRecoDecayHF3Prong *rd3=0;
+ //AliAODRecoDecayHF4Prong *rd4=0;
+ trees[0].Branch("D0toKpi","AliAODRecoDecayHF2Prong",&rd2);
+ //trees[1].Branch("JPSItoEle","AliAODRecoDecayHF2Prong",&rd2);
+ //trees[2].Branch("Charmto3Prong","AliAODRecoDecayHF3Prong",&rd3);
+ //trees[3].Branch("D0to4Prong","AliAODRecoDecayHF4Prong",&rd4);
+
+ TFile *inesd = new TFile("AliESDs.root");
+ AliESDEvent *esd = new AliESDEvent();
+ TTree *esdTree = (TTree*)inesd->Get("esdTree");
+ esd->ReadFromTree(esdTree);
+
+ for(Int_t i=0; i<esdTree->GetEntries(); i++) {
+ esdTree->GetEvent(i);
+ vHF->FindCandidates(esd,trees);
+ //if(i==evLast) i=evFirst;
+ }
+
+ delete esdTree;
+ inesd->Close();
+ delete inesd;
+
+ // Write trees with candidates
+ TFile *fout = new TFile("AliAnalysisVertexingHF.root","recreate");
+ trees[0].Write("TreeD0toKpi");
+ //trees[1].Write("TreeJPSItoEle");
+ //trees[2].Write("TreeCharm3Prong");
+ //trees[3].Write("TreeD0to4Prong");
+ fout->Close();
+ delete fout;
+ break;