1 AliAnalysisVertexingHF* ConfigVertexingHF() {
3 printf("Call to AliAnalysisVertexingHF parameters setting :\n");
4 vHF = new AliAnalysisVertexingHF();
6 //--- switch-off candidates finding (default: all on)
7 //vHF->SetD0toKpiOff();
8 vHF->SetJPSItoEleOff();
10 vHF->SetLikeSignOn(); // like-sign pairs and triplets
11 // vHF->SetLikeSign3prongOff();
14 vHF->SetFindVertexForDstar(kFALSE);
15 //--- secondary vertex with KF?
16 //vHF->SetSecVtxWithKF();
17 vHF->SetCascadesOff();
18 vHF->SetFindVertexForCascades(kFALSE);
19 vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb
21 //--- set cuts for single-track selection
23 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
24 esdTrackCuts->SetRequireTPCRefit(kTRUE);
25 esdTrackCuts->SetMinNClustersTPC(70);
26 esdTrackCuts->SetRequireITSRefit(kTRUE);
27 //esdTrackCuts->SetMinNClustersITS(4);
28 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
29 AliESDtrackCuts::kAny);
30 // |d0|>75 micron for pt<2GeV, no cut above 2
31 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
32 esdTrackCuts->SetMaxDCAToVertexXY(1.);
33 esdTrackCuts->SetMaxDCAToVertexZ(1.);
34 esdTrackCuts->SetPtRange(0.7,1.e10);
35 esdTrackCuts->SetEtaRange(-0.8,+0.8);
36 AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
37 trkFilter->AddCuts(esdTrackCuts);
38 vHF->SetTrackFilter(trkFilter);
39 // D* soft pion tracks
40 AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default");
41 esdTrackCutsSoftPi->SetMinNClustersITS(4);
42 esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);
43 esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
44 esdTrackCutsSoftPi->SetPtRange(0.2,1.e10);
45 esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
46 AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
47 trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
48 vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
49 //--- set cuts for candidates selection
50 Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
51 AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
52 cutsD0toKpi->SetStandardCutsPbPb2010();
53 cutsD0toKpi->SetMinPtCandidate(0.);
54 cutsD0toKpi->SetUsePID(kFALSE);
55 cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
56 cutsD0toKpi->SetMaxVtxZ(1.e6);
57 cutsD0toKpi->SetTriggerClass("");
58 Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
59 cutsD0toKpi->SetPtBins(nptbins,ptlimits);
60 cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
61 cutsD0toKpi->AddTrackCuts(esdTrackCuts);
62 vHF->SetCutsD0toKpi(cutsD0toKpi);
63 AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
64 Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
65 cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
66 cutsJpsitoee->AddTrackCuts(esdTrackCuts);
67 vHF->SetCutsJpsitoee(cutsJpsitoee);
68 AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
69 cutsDplustoKpipi->SetStandardCutsPbPb2010();
70 cutsDplustoKpipi->SetUsePID(kFALSE);
71 Float_t cutsArrayDplustoKpipi[14]={0.25,0.3,0.3,0.,0.,0.01,0.06,0.05,1.,0.85,0.,10000000000.,0.,0.};
72 cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
73 cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
74 cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
75 cutsDplustoKpipi->SetMinPtCandidate(3.);
76 vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
77 AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
78 cutsDstoKKpi->SetStandardCutsPbPb2010();
79 cutsDstoKKpi->SetUsePID(kFALSE);
80 Float_t cutsArrayDstoKKpi[20]={0.2,0.4,0.4,0.,0.,0.005,0.045,0.,0.,0.9,0.,100000.,0.035,0.05,-1.,1.,0.,0.,0.,-1.};
81 cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
82 cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
83 cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
84 cutsDstoKKpi->SetMinPtCandidate(3.);
85 vHF->SetCutsDstoKKpi(cutsDstoKKpi);
86 AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
87 cutsLctopKpi->SetStandardCutsPbPb2010();
88 cutsLctopKpi->SetUsePID(kFALSE);
89 Float_t cutsArrayLctopKpi[13]={0.13,0.9,1.,0.,0.,0.01,0.04,0.006,1.,0.5,0.,0.05,0.4};
90 cutsLctopKpi->SetPtBins(nptbins,ptlimits);
91 cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
92 cutsLctopKpi->AddTrackCuts(esdTrackCuts);
93 cutsLctopKpi->SetMinPtCandidate(4.);
94 vHF->SetCutsLctopKpi(cutsLctopKpi);
95 AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
96 Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
97 cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
98 cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
99 vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
102 // D* pt dependent cuts ------------------------------------------
104 AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
105 cutsDStartoKpipi->SetUsePID(kFALSE);
107 const Int_t nvars=16;
108 const Int_t nptbins=2;
111 ptbins=new Float_t[nptbins+1];
116 cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
118 Float_t** rdcutsvalmine;
119 rdcutsvalmine=new Float_t*[nvars];
120 for(Int_t iv=0;iv<nvars;iv++){
121 rdcutsvalmine[iv]=new Float_t[nptbins];
124 rdcutsvalmine[0][0]=0.10; //D0 inv mass window
125 rdcutsvalmine[1][0]=0.06; // dca
126 rdcutsvalmine[2][0]=0.9; // thetastar
127 rdcutsvalmine[3][0]=0.5; // pt Pion
128 rdcutsvalmine[4][0]=0.5; // Pt Kaon
129 rdcutsvalmine[5][0]=0.1; // d0K
130 rdcutsvalmine[6][0]=0.1; // d0Pi
131 rdcutsvalmine[7][0]=0.0001; // d0xd0
132 rdcutsvalmine[8][0]=0.8; // costhetapoint
133 rdcutsvalmine[9][0]=0.15; // Dstar inv mass window
134 rdcutsvalmine[10][0]=0.03; // half width of (M_Kpipi-M_D0)
135 rdcutsvalmine[11][0]=0.1; // Pt min of Pi soft
136 rdcutsvalmine[12][0]=100.; // Pt max of pi soft
137 rdcutsvalmine[13][0]=9999.; // theta
138 rdcutsvalmine[14][0]=0.9; // |cosThetaPointXY|
139 rdcutsvalmine[15][0]=1.; // NormDecayLenghtXY
141 rdcutsvalmine[0][1]=0.10; //D0 inv mass window
142 rdcutsvalmine[1][1]=0.06; // dca
143 rdcutsvalmine[2][1]=0.9; // thetastar
144 rdcutsvalmine[3][1]=0.5; // pt Pion
145 rdcutsvalmine[4][1]=0.5; // Pt Kaon
146 rdcutsvalmine[5][1]=0.1; // d0K
147 rdcutsvalmine[6][1]=0.1; // d0Pi
148 rdcutsvalmine[7][1]=0.0001; // d0xd0
149 rdcutsvalmine[8][1]=0.7; // costhetapoint
150 rdcutsvalmine[9][1]=0.15; // Dstar inv mass window
151 rdcutsvalmine[10][1]=0.03; // half width of (M_Kpipi-M_D0)
152 rdcutsvalmine[11][1]=0.1; // Pt min of Pi soft
153 rdcutsvalmine[12][1]=100.; // Pt max of pi soft
154 rdcutsvalmine[13][1]=9999.; // theta
155 rdcutsvalmine[14][1]=0.8; // |cosThetaPointXY|
156 rdcutsvalmine[15][1]=0.; // NormDecayLenghtXY
158 cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
160 cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
161 cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
162 cutsDStartoKpipi->SetMinPtCandidate(2.);
163 vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
165 //--------------------------------------------------------
167 AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
168 Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.};
169 cutsLctoV0->SetCuts(9,cutsArrayLctoV0);
170 cutsLctoV0->AddTrackCuts(esdTrackCuts);
171 vHF->SetCutsLctoV0(cutsLctoV0);
173 //--- set this if you want to reconstruct primary vertex candidate by
174 // candidate using other tracks in the event (for pp, broad
175 // interaction region)
176 //vHF->SetRecoPrimVtxSkippingTrks();
177 //--- OR set this if you want to remove the candidate daughters from
178 // the primary vertex, without recostructing it from scratch
179 //vHF->SetRmTrksFromPrimVtx();
181 //--- check the settings
184 // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);