]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/AliAnalysisVertexingHFTest.C
reading RAW without data
[u/mrichter/AliRoot.git] / PWG3 / AliAnalysisVertexingHFTest.C
CommitLineData
6a213b59 1//--------------------------------------------------------------------------
2// Test macro for reconstruction of heavy-flavour vertexing candidates
3//
4// Andrea Dainese, andrea.dainese@lnl.infn.it
5//--------------------------------------------------------------------------
6
7void AliAnalysisVertexingHFTest(Int_t evFirst=0,
b82f6d67 8 Int_t evLast=0,
6a213b59 9 TString infile="AliESDs.root",
10 TString outfile="VertexingHF.root") {
11
c75b58db 12 gSystem->Load("libANALYSIS");
6a213b59 13 gSystem->Load("libAOD.so");
14 gSystem->Load("libPWG3base.so");
15
16 AliAnalysisVertexingHF *vHF = new AliAnalysisVertexingHF();
17 //--- switch-off candidates finding (default: all on)
18 //vHF->SetD0toKpiOff();
19 //vHF->SetJPSItoEleOff();
b82f6d67 20 vHF->Set3ProngOff();
21 vHF->Set4ProngOff();
22 //--- secondary vertex with KF?
23 //vHF->SetSecVtxWithKF();
6a213b59 24 //--- set cuts for single-track selection
25 vHF->SetITSrefitRequired();
26 vHF->SetBothSPDNotRequired();
27 vHF->SetMinITSCls(5);
28 vHF->SetMinPtCut(0.);
29 vHF->SetMind0Cut(0.);
30 //--- set cuts for candidates selection
31 //vHF->SetD0toKpiCuts();
32 //vHF->SetBtoJPSICuts();
33 //vHF->SetDplusCuts();
34 //--- set this if you want to reconstruct primary vertex candidate by
35 // candidate using other tracks in the event (for pp, broad
36 // interaction region)
37 //vHF->SetRecoPrimVtxSkippingTrks();
38 //--- OR set this if you want to remove the candidate daughters from
39 // the primary vertex, without recostructing it from scratch
40 //vHF->SetRmTrksFromPrimVtx();
41
42 //--- check the settings
43 vHF->PrintStatus();
44 //--- verbose
45 vHF->SetDebug(1);
46
b82f6d67 47 TTree *trees = new TTree[2];
6a213b59 48 AliAODRecoDecayHF2Prong *rd2=0;
b82f6d67 49 //AliAODRecoDecayHF3Prong *rd3=0;
50 //AliAODRecoDecayHF4Prong *rd4=0;
6a213b59 51 trees[0].Branch("D0toKpi","AliAODRecoDecayHF2Prong",&rd2);
52 trees[1].Branch("JPSItoEle","AliAODRecoDecayHF2Prong",&rd2);
b82f6d67 53 //trees[2].Branch("Charmto3Prong","AliAODRecoDecayHF3Prong",&rd3);
54 //trees[3].Branch("D0to4Prong","AliAODRecoDecayHF4Prong",&rd4);
6a213b59 55
5e6f195c 56 TFile *inesd = new TFile(infile.Data());
57 AliESDEvent *esd = new AliESDEvent();
6a213b59 58 TTree *esdTree = (TTree*)inesd->Get("esdTree");
5e6f195c 59 esd->ReadFromTree(esdTree);
6a213b59 60
61 if(esdTree->GetEntries()<evLast) evLast=esdTree->GetEntries()-1;
62 for(Int_t i=evFirst; i<=evLast; i++) {
63 esdTree->GetEvent(i);
64 vHF->FindCandidates(esd,trees);
65 //if(i==evLast) i=evFirst;
66 }
67
68 delete esdTree;
69 inesd->Close();
70 delete inesd;
71
72 // Write trees with candidates
73 TFile *fout = new TFile("AliAnalysisVertexingHF.root","recreate");
74 trees[0].Write("TreeD0toKpi");
75 trees[1].Write("TreeJPSItoEle");
b82f6d67 76 //trees[2].Write("TreeCharm3Prong");
77 //trees[3].Write("TreeD0to4Prong");
6a213b59 78 fout->Close();
79 delete fout;
80
81 return;
82}