]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C
updated for systematic study
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C
CommitLineData
2ac8110d 1AliAnalysisVertexingHF* ConfigVertexingHF() {
2
3 printf("Call to AliAnalysisVertexingHF parameters setting :\n");
4 vHF = new AliAnalysisVertexingHF();
34595b3c 5
2ac8110d 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);
2ac8110d 21
34595b3c 22 //--- set cuts for single-track selection
23 // displaced tracks
2ac8110d 24 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
25 esdTrackCuts->SetRequireTPCRefit(kTRUE);
f493fe7b 26 esdTrackCuts->SetMinNClustersTPC(50);
2ac8110d 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);
2ac8110d 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.);
2ac8110d 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);
2ac8110d 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.);
2ac8110d 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.);
2ac8110d 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);
5ec0b115 95 cutsD0toKpi->SetMinCentrality(-10.);
96 cutsD0toKpi->SetMaxCentrality(110.);
2ac8110d 97 cutsD0toKpi->SetMaxVtxZ(1.e6);
98 cutsD0toKpi->SetTriggerClass("");
99 Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
100 cutsD0toKpi->SetPtBins(nptbins,ptlimits);
101 cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
102 cutsD0toKpi->AddTrackCuts(esdTrackCuts);
103 vHF->SetCutsD0toKpi(cutsD0toKpi);
104 AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
105 Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
106 cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
107 cutsJpsitoee->AddTrackCuts(esdTrackCuts);
108 vHF->SetCutsJpsitoee(cutsJpsitoee);
109 AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
110 cutsDplustoKpipi->SetStandardCutsPbPb2010();
111 cutsDplustoKpipi->SetUsePID(kFALSE);
112 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.};
113 cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
114 cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
115 cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
116 cutsDplustoKpipi->SetMinPtCandidate(2.);
117 vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
118 AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
119 cutsDstoKKpi->SetStandardCutsPbPb2010();
120 cutsDstoKKpi->SetUsePID(kFALSE);
121 Float_t cutsArrayDstoKKpi[16]={0.35,0.3,0.3,0.,0.,0.005,0.06,0.,0.,0.9,0.,100000.,0.035,0.0001,-1.,1.};
122 cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
123 cutsDstoKKpi->SetCuts(16,cutsArrayDstoKKpi);
124 cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
125 cutsDstoKKpi->SetMinPtCandidate(1.);
126 vHF->SetCutsDstoKKpi(cutsDstoKKpi);
127 AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
128 cutsLctopKpi->SetStandardCutsPbPb2010();
129 cutsLctopKpi->SetUsePID(kFALSE);
130 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};
131 cutsLctopKpi->SetPtBins(nptbins,ptlimits);
132 cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
133 cutsLctopKpi->AddTrackCuts(esdTrackCuts);
134 cutsLctopKpi->SetMinPtCandidate(4.);
135 vHF->SetCutsLctopKpi(cutsLctopKpi);
136 AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
137 Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
138 cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
139 cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
140 vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
141
142
143 // D* pt dependent cuts ------------------------------------------
144
145 AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
146 cutsDStartoKpipi->SetUsePID(kFALSE);
147 const Int_t nvars=16;
148 const Int_t nptbins=2;
34595b3c 149
2ac8110d 150 Float_t* ptbins;
151 ptbins=new Float_t[nptbins+1];
152 ptbins[0]=0.;
153 ptbins[1]=5.;
154 ptbins[2]=999.;
34595b3c 155
2ac8110d 156 cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
34595b3c 157
2ac8110d 158 Float_t** rdcutsvalmine;
159 rdcutsvalmine=new Float_t*[nvars];
160 for(Int_t iv=0;iv<nvars;iv++){
161 rdcutsvalmine[iv]=new Float_t[nptbins];
162 }
163 //0-5
164 rdcutsvalmine[0][0]=0.10; //D0 inv mass window
165 rdcutsvalmine[1][0]=0.06; // dca
166 rdcutsvalmine[2][0]=0.9; // thetastar
167 rdcutsvalmine[3][0]=0.5; // pt Pion
168 rdcutsvalmine[4][0]=0.5; // Pt Kaon
169 rdcutsvalmine[5][0]=0.1; // d0K
170 rdcutsvalmine[6][0]=0.1; // d0Pi
171 rdcutsvalmine[7][0]=0.0001; // d0xd0
172 rdcutsvalmine[8][0]=0.9; // costhetapoint
173 rdcutsvalmine[9][0]=0.15; // Dstar inv mass window
174 rdcutsvalmine[10][0]=0.03; // half width of (M_Kpipi-M_D0)
175 rdcutsvalmine[11][0]=0.1; // Pt min of Pi soft
176 rdcutsvalmine[12][0]=100.; // Pt max of pi soft
177 rdcutsvalmine[13][0]=9999.; // theta
178 rdcutsvalmine[14][0]=0.95; // |cosThetaPointXY|
179 rdcutsvalmine[15][0]=2.; // NormDecayLenghtXY
180 //5-999
181 rdcutsvalmine[0][1]=0.10; //D0 inv mass window
182 rdcutsvalmine[1][1]=0.06; // dca
183 rdcutsvalmine[2][1]=0.9; // thetastar
184 rdcutsvalmine[3][1]=0.5; // pt Pion
185 rdcutsvalmine[4][1]=0.5; // Pt Kaon
186 rdcutsvalmine[5][1]=0.1; // d0K
187 rdcutsvalmine[6][1]=0.1; // d0Pi
188 rdcutsvalmine[7][1]=0.0001; // d0xd0
189 rdcutsvalmine[8][1]=0.7; // costhetapoint
190 rdcutsvalmine[9][1]=0.15; // Dstar inv mass window
191 rdcutsvalmine[10][1]=0.03; // half width of (M_Kpipi-M_D0)
192 rdcutsvalmine[11][1]=0.1; // Pt min of Pi soft
193 rdcutsvalmine[12][1]=100.; // Pt max of pi soft
194 rdcutsvalmine[13][1]=9999.; // theta
195 rdcutsvalmine[14][1]=0.8; // |cosThetaPointXY|
196 rdcutsvalmine[15][1]=0.; // NormDecayLenghtXY
197
198 cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
34595b3c 199
2ac8110d 200 cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
201 cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
202 cutsDStartoKpipi->SetMinPtCandidate(1.);
203 vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
204
205 //--------------------------------------------------------
206
207 AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
a578b2da 208 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};
209 cutsLctoV0->SetCuts(17,cutsArrayLctoV0);
2ac8110d 210 cutsLctoV0->AddTrackCuts(esdTrackCuts);
60b29186 211
212 AliESDtrackCuts *esdV0daughterTrackCuts = new AliESDtrackCuts("AliESDtrackCutsForV0D","default cuts for V0 daughters");
213 esdV0daughterTrackCuts->SetRequireTPCRefit(kTRUE);
214 esdV0daughterTrackCuts->SetMinNClustersTPC(30);
215 esdV0daughterTrackCuts->SetRequireITSRefit(kFALSE);
216 esdV0daughterTrackCuts->SetMinDCAToVertexXY(0.);
217 esdV0daughterTrackCuts->SetPtRange(0.05,1.e10);
218 esdV0daughterTrackCuts->SetEtaRange(-1.1,+1.1);
219 esdV0daughterTrackCuts->SetAcceptKinkDaughters(kTRUE);
220 esdV0daughterTrackCuts->SetRequireSigmaToVertex(kFALSE);
221 cutsLctoV0->AddTrackCutsV0daughters(esdV0daughterTrackCuts);
2ac8110d 222 vHF->SetCutsLctoV0(cutsLctoV0);
34595b3c 223 //
2ac8110d 224 //--- set this if you want to reconstruct primary vertex candidate by
34595b3c 225 // candidate using other tracks in the event (for pp, broad
2ac8110d 226 // interaction region)
227 //vHF->SetRecoPrimVtxSkippingTrks();
34595b3c 228 //--- OR set this if you want to remove the candidate daughters from
2ac8110d 229 // the primary vertex, without recostructing it from scratch
230 //vHF->SetRmTrksFromPrimVtx();
231
232 //--- check the settings
233 vHF->PrintStatus();
234 //--- verbose
235 // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
236
34595b3c 237
2ac8110d 238 return vHF;
239}
240
241