]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C
Modifications in Lc->V0+P analysis (Levente):
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / ConfigVertexingHF_Pb_AllCent_NoLS_NoDstar_16var.C
1 AliAnalysisVertexingHF* ConfigVertexingHF() {
2
3   printf("Call to AliAnalysisVertexingHF parameters setting :\n");
4   vHF = new AliAnalysisVertexingHF();
5
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
20   vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s);
21
22   //--- set cuts for single-track selection
23   //     displaced tracks
24   AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
25   esdTrackCuts->SetRequireTPCRefit(kTRUE);
26   esdTrackCuts->SetMinNClustersTPC(70);
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);
44   esdTrackCuts->SetMinNClustersTPC(70);
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.)))");
51   esdTrackCuts->SetMaxDCAToVertexXY(1.);
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);
62   esdTrackCuts->SetMinNClustersTPC(70);
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.)))");
69   esdTrackCuts->SetMaxDCAToVertexXY(1.);
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);
80   esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);
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->SetMinCentrality(-10.);
96   cutsD0toKpi->SetMaxCentrality(110.);
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;
149
150   Float_t* ptbins;
151   ptbins=new Float_t[nptbins+1];
152   ptbins[0]=0.;
153   ptbins[1]=5.;
154   ptbins[2]=999.;
155
156   cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
157
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);
199
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");
208   Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,0.0};
209   cutsLctoV0->SetCuts(10,cutsArrayLctoV0);
210   cutsLctoV0->AddTrackCuts(esdTrackCuts);
211   vHF->SetCutsLctoV0(cutsLctoV0);
212   //
213   //--- set this if you want to reconstruct primary vertex candidate by
214   //    candidate using other tracks in the event (for pp, broad
215   //    interaction region)
216   //vHF->SetRecoPrimVtxSkippingTrks();
217   //--- OR set this if you want to remove the candidate daughters from
218   //    the primary vertex, without recostructing it from scratch
219   //vHF->SetRmTrksFromPrimVtx();
220
221   //--- check the settings
222   vHF->PrintStatus();
223   //--- verbose
224   //  AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
225
226
227   return vHF;
228 }
229
230