]>
Commit | Line | Data |
---|---|---|
0b5ec8f9 | 1 | AliAnalysisVertexingHF* ConfigVertexingHF() { |
2 | ||
3 | printf("Call to AliAnalysisVertexingHF parameters setting :\n"); | |
4 | vHF = new AliAnalysisVertexingHF(); | |
34595b3c | 5 | |
0b5ec8f9 | 6 | //--- switch-off candidates finding (default: all on) |
7 | //vHF->SetD0toKpiOff(); | |
8 | vHF->SetJPSItoEleOff(); | |
9 | //vHF->Set3ProngOff(); | |
10 | vHF->SetLikeSignOff(); // like-sign pairs and triplets | |
11 | vHF->SetLikeSign3prongOff(); | |
12 | vHF->Set4ProngOff(); | |
13 | vHF->SetDstarOff(); | |
14 | vHF->SetFindVertexForDstar(kFALSE); | |
15 | //--- secondary vertex with KF? | |
16 | //vHF->SetSecVtxWithKF(); | |
17 | vHF->SetCascadesOff(); | |
18 | vHF->SetFindVertexForCascades(kFALSE); | |
19 | vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb | |
34595b3c | 20 | vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s); |
21 | ||
22 | //--- set cuts for single-track selection | |
23 | // displaced tracks | |
0b5ec8f9 | 24 | AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); |
25 | esdTrackCuts->SetRequireTPCRefit(kTRUE); | |
f493fe7b | 26 | esdTrackCuts->SetMinNClustersTPC(50); |
0b5ec8f9 | 27 | esdTrackCuts->SetRequireITSRefit(kTRUE); |
28 | //esdTrackCuts->SetMinNClustersITS(4); | |
29 | esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, | |
30 | AliESDtrackCuts::kAny); | |
31 | // |d0|>25 micron for pt<2GeV, no cut above 2 | |
32 | esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0025*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))"); | |
33 | esdTrackCuts->SetMaxDCAToVertexXY(1.); | |
34 | esdTrackCuts->SetMaxDCAToVertexZ(1.); | |
35 | esdTrackCuts->SetPtRange(0.4,1.e10); | |
36 | esdTrackCuts->SetEtaRange(-0.8,+0.8); | |
37 | AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter"); | |
38 | trkFilter->AddCuts(esdTrackCuts); | |
39 | vHF->SetTrackFilter(trkFilter); | |
40 | ||
41 | // displaced tracks for 20% mot central events 2 prongs | |
42 | AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); | |
43 | esdTrackCuts->SetRequireTPCRefit(kTRUE); | |
f493fe7b | 44 | esdTrackCuts->SetMinNClustersTPC(50); |
0b5ec8f9 | 45 | esdTrackCuts->SetRequireITSRefit(kTRUE); |
46 | //esdTrackCuts->SetMinNClustersITS(4); | |
47 | esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, | |
48 | AliESDtrackCuts::kAny); | |
49 | // |d0|>75 micron for pt<2GeV, no cut above 2 | |
50 | esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0050*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))"); | |
34595b3c | 51 | esdTrackCuts->SetMaxDCAToVertexXY(1.); |
0b5ec8f9 | 52 | esdTrackCuts->SetMaxDCAToVertexZ(1.); |
53 | esdTrackCuts->SetPtRange(0.5,1.e10); | |
54 | esdTrackCuts->SetEtaRange(-0.8,+0.8); | |
55 | AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter"); | |
56 | trkFilter->AddCuts(esdTrackCuts); | |
57 | vHF->SetTrackFilter2prongPbCentral(20.,trkFilter); // for centrality 0-20% | |
58 | ||
59 | // displaced tracks for 20% mot central events 3 prongs | |
60 | AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default"); | |
61 | esdTrackCuts->SetRequireTPCRefit(kTRUE); | |
f493fe7b | 62 | esdTrackCuts->SetMinNClustersTPC(50); |
0b5ec8f9 | 63 | esdTrackCuts->SetRequireITSRefit(kTRUE); |
64 | //esdTrackCuts->SetMinNClustersITS(4); | |
65 | esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, | |
66 | AliESDtrackCuts::kAny); | |
67 | // |d0|>75 micron for pt<2GeV, no cut above 2 | |
68 | esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))"); | |
34595b3c | 69 | esdTrackCuts->SetMaxDCAToVertexXY(1.); |
0b5ec8f9 | 70 | esdTrackCuts->SetMaxDCAToVertexZ(1.); |
71 | esdTrackCuts->SetPtRange(0.6,1.e10); | |
72 | esdTrackCuts->SetEtaRange(-0.8,+0.8); | |
73 | AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter"); | |
74 | trkFilter->AddCuts(esdTrackCuts); | |
75 | vHF->SetTrackFilter3prongPbCentral(20.,trkFilter); // for centrality 0-20% | |
76 | ||
77 | // D* soft pion tracks | |
78 | AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default"); | |
79 | esdTrackCutsSoftPi->SetMinNClustersITS(3); | |
34595b3c | 80 | esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.); |
0b5ec8f9 | 81 | esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.); |
82 | esdTrackCutsSoftPi->SetPtRange(0.1,1.e10); | |
83 | esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8); | |
84 | AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi"); | |
85 | trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi); | |
86 | vHF->SetTrackFilterSoftPi(trkFilterSoftPi); | |
87 | //--- set cuts for candidates selection | |
88 | Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.}; | |
89 | AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi"); | |
90 | cutsD0toKpi->SetStandardCutsPbPb2010(); | |
91 | cutsD0toKpi->SetMinPtCandidate(0.); | |
92 | cutsD0toKpi->SetUsePID(kFALSE); | |
93 | cutsD0toKpi->SetUseSpecialCuts(kFALSE); | |
94 | cutsD0toKpi->SetUsePhysicsSelection(kFALSE); | |
95 | cutsD0toKpi->SetMaxCentrality(80.); | |
96 | cutsD0toKpi->SetMaxVtxZ(1.e6); | |
97 | cutsD0toKpi->SetTriggerClass(""); | |
98 | Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.}; | |
99 | cutsD0toKpi->SetPtBins(nptbins,ptlimits); | |
100 | cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi); | |
101 | cutsD0toKpi->AddTrackCuts(esdTrackCuts); | |
102 | vHF->SetCutsD0toKpi(cutsD0toKpi); | |
103 | AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee"); | |
104 | Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1}; | |
105 | cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee); | |
106 | cutsJpsitoee->AddTrackCuts(esdTrackCuts); | |
107 | vHF->SetCutsJpsitoee(cutsJpsitoee); | |
108 | AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi"); | |
109 | cutsDplustoKpipi->SetStandardCutsPbPb2010(); | |
110 | cutsDplustoKpipi->SetUsePID(kFALSE); | |
111 | Float_t cutsArrayDplustoKpipi[14]={0.25,0.3,0.3,0.,0.,0.01,0.05,0.05,0.,0.88,0.,10000000000.,0.,-1.}; | |
112 | cutsDplustoKpipi->SetPtBins(nptbins,ptlimits); | |
113 | cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi); | |
114 | cutsDplustoKpipi->AddTrackCuts(esdTrackCuts); | |
115 | cutsDplustoKpipi->SetMinPtCandidate(2.); | |
116 | vHF->SetCutsDplustoKpipi(cutsDplustoKpipi); | |
117 | AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi"); | |
118 | cutsDstoKKpi->SetStandardCutsPbPb2010(); | |
119 | cutsDstoKKpi->SetUsePID(kFALSE); | |
120 | Float_t cutsArrayDstoKKpi[20]={0.35,0.3,0.3,0.,0.,0.005,0.06,0.,0.,0.9,0.,100000.,0.035,0.0001,-1.,1.,0.,0.,0.,-1.}; | |
121 | cutsDstoKKpi->SetPtBins(nptbins,ptlimits); | |
122 | cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi); | |
123 | cutsDstoKKpi->AddTrackCuts(esdTrackCuts); | |
124 | cutsDstoKKpi->SetMinPtCandidate(1.); | |
125 | vHF->SetCutsDstoKKpi(cutsDstoKKpi); | |
126 | AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi"); | |
127 | cutsLctopKpi->SetStandardCutsPbPb2010(); | |
128 | cutsLctopKpi->SetUsePID(kFALSE); | |
129 | 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}; | |
130 | cutsLctopKpi->SetPtBins(nptbins,ptlimits); | |
131 | cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi); | |
132 | cutsLctopKpi->AddTrackCuts(esdTrackCuts); | |
133 | cutsLctopKpi->SetMinPtCandidate(4.); | |
134 | vHF->SetCutsLctopKpi(cutsLctopKpi); | |
135 | AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi"); | |
136 | Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.}; | |
137 | cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi); | |
138 | cutsD0toKpipipi->AddTrackCuts(esdTrackCuts); | |
139 | vHF->SetCutsD0toKpipipi(cutsD0toKpipipi); | |
140 | ||
141 | ||
142 | // D* pt dependent cuts ------------------------------------------ | |
143 | ||
144 | AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi"); | |
145 | cutsDStartoKpipi->SetUsePID(kFALSE); | |
146 | const Int_t nvars=16; | |
147 | const Int_t nptbins=2; | |
34595b3c | 148 | |
0b5ec8f9 | 149 | Float_t* ptbins; |
150 | ptbins=new Float_t[nptbins+1]; | |
151 | ptbins[0]=0.; | |
152 | ptbins[1]=5.; | |
153 | ptbins[2]=999.; | |
34595b3c | 154 | |
0b5ec8f9 | 155 | cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins); |
34595b3c | 156 | |
0b5ec8f9 | 157 | Float_t** rdcutsvalmine; |
158 | rdcutsvalmine=new Float_t*[nvars]; | |
159 | for(Int_t iv=0;iv<nvars;iv++){ | |
160 | rdcutsvalmine[iv]=new Float_t[nptbins]; | |
161 | } | |
162 | //0-5 | |
163 | rdcutsvalmine[0][0]=0.10; //D0 inv mass window | |
164 | rdcutsvalmine[1][0]=0.06; // dca | |
165 | rdcutsvalmine[2][0]=0.9; // thetastar | |
166 | rdcutsvalmine[3][0]=0.5; // pt Pion | |
167 | rdcutsvalmine[4][0]=0.5; // Pt Kaon | |
168 | rdcutsvalmine[5][0]=0.1; // d0K | |
169 | rdcutsvalmine[6][0]=0.1; // d0Pi | |
170 | rdcutsvalmine[7][0]=0.0001; // d0xd0 | |
171 | rdcutsvalmine[8][0]=0.9; // costhetapoint | |
172 | rdcutsvalmine[9][0]=0.15; // Dstar inv mass window | |
173 | rdcutsvalmine[10][0]=0.03; // half width of (M_Kpipi-M_D0) | |
174 | rdcutsvalmine[11][0]=0.1; // Pt min of Pi soft | |
175 | rdcutsvalmine[12][0]=100.; // Pt max of pi soft | |
176 | rdcutsvalmine[13][0]=9999.; // theta | |
177 | rdcutsvalmine[14][0]=0.95; // |cosThetaPointXY| | |
178 | rdcutsvalmine[15][0]=2.; // NormDecayLenghtXY | |
179 | //5-999 | |
180 | rdcutsvalmine[0][1]=0.10; //D0 inv mass window | |
181 | rdcutsvalmine[1][1]=0.06; // dca | |
182 | rdcutsvalmine[2][1]=0.9; // thetastar | |
183 | rdcutsvalmine[3][1]=0.5; // pt Pion | |
184 | rdcutsvalmine[4][1]=0.5; // Pt Kaon | |
185 | rdcutsvalmine[5][1]=0.1; // d0K | |
186 | rdcutsvalmine[6][1]=0.1; // d0Pi | |
187 | rdcutsvalmine[7][1]=0.0001; // d0xd0 | |
188 | rdcutsvalmine[8][1]=0.7; // costhetapoint | |
189 | rdcutsvalmine[9][1]=0.15; // Dstar inv mass window | |
190 | rdcutsvalmine[10][1]=0.03; // half width of (M_Kpipi-M_D0) | |
191 | rdcutsvalmine[11][1]=0.1; // Pt min of Pi soft | |
192 | rdcutsvalmine[12][1]=100.; // Pt max of pi soft | |
193 | rdcutsvalmine[13][1]=9999.; // theta | |
194 | rdcutsvalmine[14][1]=0.8; // |cosThetaPointXY| | |
195 | rdcutsvalmine[15][1]=0.; // NormDecayLenghtXY | |
196 | ||
197 | cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine); | |
34595b3c | 198 | |
0b5ec8f9 | 199 | cutsDStartoKpipi->AddTrackCuts(esdTrackCuts); |
200 | cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi); | |
201 | cutsDStartoKpipi->SetMinPtCandidate(1.); | |
202 | vHF->SetCutsDStartoKpipi(cutsDStartoKpipi); | |
203 | ||
204 | //-------------------------------------------------------- | |
205 | ||
34595b3c | 206 | |
207 | ||
0b5ec8f9 | 208 | AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0"); |
a578b2da | 209 | Float_t cutsArrayLctoV0[17]={1.0,1.0,0.05,0.05,0.0,0.0,0.0,1000.,1000.,0.99,3.,1000.,0.,0.,0.,0.,0.0}; |
210 | cutsLctoV0->SetCuts(17,cutsArrayLctoV0); | |
0b5ec8f9 | 211 | cutsLctoV0->AddTrackCuts(esdTrackCuts); |
60b29186 | 212 | |
213 | AliESDtrackCuts *esdV0daughterTrackCuts = new AliESDtrackCuts("AliESDtrackCutsForV0D","default cuts for V0 daughters"); | |
214 | esdV0daughterTrackCuts->SetRequireTPCRefit(kTRUE); | |
215 | esdV0daughterTrackCuts->SetMinNClustersTPC(30); | |
216 | esdV0daughterTrackCuts->SetRequireITSRefit(kFALSE); | |
217 | esdV0daughterTrackCuts->SetMinDCAToVertexXY(0.); | |
218 | esdV0daughterTrackCuts->SetPtRange(0.05,1.e10); | |
219 | esdV0daughterTrackCuts->SetEtaRange(-1.1,+1.1); | |
220 | esdV0daughterTrackCuts->SetAcceptKinkDaughters(kTRUE); | |
221 | esdV0daughterTrackCuts->SetRequireSigmaToVertex(kFALSE); | |
222 | cutsLctoV0->AddTrackCutsV0daughters(esdV0daughterTrackCuts); | |
0b5ec8f9 | 223 | vHF->SetCutsLctoV0(cutsLctoV0); |
34595b3c | 224 | // |
0b5ec8f9 | 225 | //--- set this if you want to reconstruct primary vertex candidate by |
34595b3c | 226 | // candidate using other tracks in the event (for pp, broad |
0b5ec8f9 | 227 | // interaction region) |
228 | //vHF->SetRecoPrimVtxSkippingTrks(); | |
34595b3c | 229 | //--- OR set this if you want to remove the candidate daughters from |
0b5ec8f9 | 230 | // the primary vertex, without recostructing it from scratch |
231 | //vHF->SetRmTrksFromPrimVtx(); | |
232 | ||
233 | //--- check the settings | |
234 | vHF->PrintStatus(); | |
235 | //--- verbose | |
236 | // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2); | |
237 | ||
34595b3c | 238 | |
0b5ec8f9 | 239 | return vHF; |
240 | } | |
241 | ||
242 |