AliPhysics  vAN-20150822 (d56cf94)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
ConfigVertexingHF_Pb_AllCent_NoLS_PIDLc.C
Go to the documentation of this file.
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 
23  //set PID
24  vHF->SetUseKaonPIDfor3Prong(kFALSE);
25  vHF->SetUseProtonAndPionPIDforLambdaC();
26  // vHF->SetnSigmaTOFforKaonSel(5., 5.);
27  // vHF->SetnSigmaTPCforKaonSel(5., 5.);
28  vHF->SetnSigmaTOFforProtonSel(40.,40.);
29  vHF->SetnSigmaTPCforProtonSel(5., 5.);
30  vHF->SetnSigmaTPCforPionSel(40., 40.);
31  vHF->SetnSigmaTOFforPionSel(40.,40.);
32  vHF->SetMaxMomForTPCPid(9999999999.);
33  vHF->SetUseTPCPID(kTRUE);
34  vHF->SetUseTOFPID(kFALSE);
35  // vHF->SetUseTPCPIDOnlyIfNoTOF(kTRUE);
36 
37 
38  //--- set cuts for single-track selection
39  // displaced tracks
40  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
41  esdTrackCuts->SetRequireTPCRefit(kTRUE);
42  esdTrackCuts->SetMinNClustersTPC(50);
43  esdTrackCuts->SetRequireITSRefit(kTRUE);
44  //esdTrackCuts->SetMinNClustersITS(4);
45  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
46  AliESDtrackCuts::kAny);
47  // |d0|>25 micron for pt<2GeV, no cut above 2
48  esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0025*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
49  esdTrackCuts->SetMaxDCAToVertexXY(1.);
50  esdTrackCuts->SetMaxDCAToVertexZ(1.);
51  esdTrackCuts->SetPtRange(0.4,1.e10);
52  esdTrackCuts->SetEtaRange(-0.8,+0.8);
53  AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
54  trkFilter->AddCuts(esdTrackCuts);
55  vHF->SetTrackFilter(trkFilter);
56 
57  // displaced tracks for 20% mot central events 2 prongs
58  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
59  esdTrackCuts->SetRequireTPCRefit(kTRUE);
60  esdTrackCuts->SetMinNClustersTPC(50);
61  esdTrackCuts->SetRequireITSRefit(kTRUE);
62  //esdTrackCuts->SetMinNClustersITS(4);
63  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
64  AliESDtrackCuts::kAny);
65  // |d0|>75 micron for pt<2GeV, no cut above 2
66  esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0050*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
67  esdTrackCuts->SetMaxDCAToVertexXY(1.);
68  esdTrackCuts->SetMaxDCAToVertexZ(1.);
69  esdTrackCuts->SetPtRange(0.5,1.e10);
70  esdTrackCuts->SetEtaRange(-0.8,+0.8);
71  AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
72  trkFilter->AddCuts(esdTrackCuts);
73  vHF->SetTrackFilter2prongPbCentral(20.,trkFilter); // for centrality 0-20%
74 
75  // displaced tracks for 20% mot central events 3 prongs
76  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
77  esdTrackCuts->SetRequireTPCRefit(kTRUE);
78  esdTrackCuts->SetMinNClustersTPC(50);
79  esdTrackCuts->SetRequireITSRefit(kTRUE);
80  //esdTrackCuts->SetMinNClustersITS(4);
81  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
82  AliESDtrackCuts::kAny);
83  // |d0|>75 micron for pt<2GeV, no cut above 2
84  esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
85  esdTrackCuts->SetMaxDCAToVertexXY(1.);
86  esdTrackCuts->SetMaxDCAToVertexZ(1.);
87  esdTrackCuts->SetPtRange(0.6,1.e10);
88  esdTrackCuts->SetEtaRange(-0.8,+0.8);
89  AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
90  trkFilter->AddCuts(esdTrackCuts);
91  vHF->SetTrackFilter3prongPbCentral(20.,trkFilter); // for centrality 0-20%
92 
93  // D* soft pion tracks
94  AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default");
95  esdTrackCutsSoftPi->SetMinNClustersITS(3);
96  esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);
97  esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
98  esdTrackCutsSoftPi->SetPtRange(0.1,1.e10);
99  esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
100  AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
101  trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
102  vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
103  //--- set cuts for candidates selection
104  Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
105  AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
106  cutsD0toKpi->SetStandardCutsPbPb2010();
107  cutsD0toKpi->SetMinPtCandidate(0.);
108  cutsD0toKpi->SetUsePID(kFALSE);
109  cutsD0toKpi->SetUseSpecialCuts(kFALSE);
110  cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
111  cutsD0toKpi->SetMaxCentrality(80.);
112  cutsD0toKpi->SetMaxVtxZ(1.e6);
113  cutsD0toKpi->SetTriggerClass("");
114  Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
115  cutsD0toKpi->SetPtBins(nptbins,ptlimits);
116  cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
117  cutsD0toKpi->AddTrackCuts(esdTrackCuts);
118  vHF->SetCutsD0toKpi(cutsD0toKpi);
119  AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
120  Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
121  cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
122  cutsJpsitoee->AddTrackCuts(esdTrackCuts);
123  vHF->SetCutsJpsitoee(cutsJpsitoee);
124  AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
125  cutsDplustoKpipi->SetStandardCutsPbPb2010();
126  cutsDplustoKpipi->SetUsePID(kFALSE);
127  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.};
128  cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
129  cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
130  cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
131  cutsDplustoKpipi->SetMinPtCandidate(2.);
132  vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
133  AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
134  cutsDstoKKpi->SetStandardCutsPbPb2010();
135  cutsDstoKKpi->SetUsePID(kFALSE);
136  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.};
137  cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
138  cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
139  cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
140  cutsDstoKKpi->SetMinPtCandidate(2.);
141  vHF->SetCutsDstoKKpi(cutsDstoKKpi);
142  AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
143  cutsLctopKpi->SetStandardCutsPbPb2010();
144  cutsLctopKpi->SetUsePID(kFALSE);
145  Float_t cutsArrayLctopKpi[13]={0.13,0.5,0.5,0.,0.,0.,0.06,0.,0.,0.,0.,0.05,0.5};
146  cutsLctopKpi->SetPtBins(nptbins,ptlimits);
147  cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
148  cutsLctopKpi->AddTrackCuts(esdTrackCuts);
149  cutsLctopKpi->SetMinPtCandidate(4.);
150  vHF->SetCutsLctopKpi(cutsLctopKpi);
151  AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
152  Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
153  cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
154  cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
155  vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
156 
157 
158  // D* pt dependent cuts ------------------------------------------
159 
160  AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
161  cutsDStartoKpipi->SetUsePID(kFALSE);
162  const Int_t nvars=16;
163  const Int_t nptbins=2;
164 
165  Float_t* ptbins;
166  ptbins=new Float_t[nptbins+1];
167  ptbins[0]=0.;
168  ptbins[1]=5.;
169  ptbins[2]=999.;
170 
171  cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
172 
173  Float_t** rdcutsvalmine;
174  rdcutsvalmine=new Float_t*[nvars];
175  for(Int_t iv=0;iv<nvars;iv++){
176  rdcutsvalmine[iv]=new Float_t[nptbins];
177  }
178  //0-5
179  rdcutsvalmine[0][0]=0.10; //D0 inv mass window
180  rdcutsvalmine[1][0]=0.06; // dca
181  rdcutsvalmine[2][0]=0.9; // thetastar
182  rdcutsvalmine[3][0]=0.5; // pt Pion
183  rdcutsvalmine[4][0]=0.5; // Pt Kaon
184  rdcutsvalmine[5][0]=0.1; // d0K
185  rdcutsvalmine[6][0]=0.1; // d0Pi
186  rdcutsvalmine[7][0]=0.0001; // d0xd0
187  rdcutsvalmine[8][0]=0.9; // costhetapoint
188  rdcutsvalmine[9][0]=0.15; // Dstar inv mass window
189  rdcutsvalmine[10][0]=0.03; // half width of (M_Kpipi-M_D0)
190  rdcutsvalmine[11][0]=0.1; // Pt min of Pi soft
191  rdcutsvalmine[12][0]=100.; // Pt max of pi soft
192  rdcutsvalmine[13][0]=9999.; // theta
193  rdcutsvalmine[14][0]=0.95; // |cosThetaPointXY|
194  rdcutsvalmine[15][0]=2.; // NormDecayLenghtXY
195  //5-999
196  rdcutsvalmine[0][1]=0.10; //D0 inv mass window
197  rdcutsvalmine[1][1]=0.06; // dca
198  rdcutsvalmine[2][1]=0.9; // thetastar
199  rdcutsvalmine[3][1]=0.5; // pt Pion
200  rdcutsvalmine[4][1]=0.5; // Pt Kaon
201  rdcutsvalmine[5][1]=0.1; // d0K
202  rdcutsvalmine[6][1]=0.1; // d0Pi
203  rdcutsvalmine[7][1]=0.0001; // d0xd0
204  rdcutsvalmine[8][1]=0.7; // costhetapoint
205  rdcutsvalmine[9][1]=0.15; // Dstar inv mass window
206  rdcutsvalmine[10][1]=0.03; // half width of (M_Kpipi-M_D0)
207  rdcutsvalmine[11][1]=0.1; // Pt min of Pi soft
208  rdcutsvalmine[12][1]=100.; // Pt max of pi soft
209  rdcutsvalmine[13][1]=9999.; // theta
210  rdcutsvalmine[14][1]=0.8; // |cosThetaPointXY|
211  rdcutsvalmine[15][1]=0.; // NormDecayLenghtXY
212 
213  cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
214 
215  cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
216  cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
217  cutsDStartoKpipi->SetMinPtCandidate(1.);
218  vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
219 
220  //--------------------------------------------------------
221 
222  AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
223  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};
224  cutsLctoV0->SetCuts(17,cutsArrayLctoV0);
225  cutsLctoV0->AddTrackCuts(esdTrackCuts);
226 
227  AliESDtrackCuts *esdV0daughterTrackCuts = new AliESDtrackCuts("AliESDtrackCutsForV0D","default cuts for V0 daughters");
228  esdV0daughterTrackCuts->SetRequireTPCRefit(kTRUE);
229  esdV0daughterTrackCuts->SetMinNClustersTPC(30);
230  esdV0daughterTrackCuts->SetRequireITSRefit(kFALSE);
231  esdV0daughterTrackCuts->SetMinDCAToVertexXY(0.);
232  esdV0daughterTrackCuts->SetPtRange(0.05,1.e10);
233  esdV0daughterTrackCuts->SetEtaRange(-1.1,+1.1);
234  esdV0daughterTrackCuts->SetAcceptKinkDaughters(kTRUE);
235  esdV0daughterTrackCuts->SetRequireSigmaToVertex(kFALSE);
236  cutsLctoV0->AddTrackCutsV0daughters(esdV0daughterTrackCuts);
237  vHF->SetCutsLctoV0(cutsLctoV0);
238  //
239  //--- set this if you want to reconstruct primary vertex candidate by
240  // candidate using other tracks in the event (for pp, broad
241  // interaction region)
242  //vHF->SetRecoPrimVtxSkippingTrks();
243  //--- OR set this if you want to remove the candidate daughters from
244  // the primary vertex, without recostructing it from scratch
245  //vHF->SetRmTrksFromPrimVtx();
246 
247  //--- check the settings
248  vHF->PrintStatus();
249  //--- verbose
250  // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
251 
252 
253  return vHF;
254 }
255 
256 
virtual void SetStandardCutsPbPb2010()
Definition: AliRDHFCuts.h:47
void SetMaxVtxZ(Float_t z=1e6)
Definition: AliRDHFCuts.h:60
void SetUsePhysicsSelection(Bool_t use=kTRUE)
Definition: AliRDHFCuts.h:325
Class for cuts on AOD reconstructed D+->Kpipi.
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
void AddTrackCutsV0daughters(AliESDtrackCuts *v0daug)
void AddTrackCutsSoftPi(const AliESDtrackCuts *cuts)
virtual void SetStandardCutsPbPb2010()
void SetMaxCentrality(Float_t maxCentrality=100.)
Definition: AliRDHFCuts.h:52
void SetUsePID(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:204
void SetUseSpecialCuts(Bool_t useSpecialCuts)
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
AliAnalysisVertexingHF * ConfigVertexingHF()
void AddTrackCuts(const AliESDtrackCuts *cuts)
Definition: AliRDHFCuts.h:202
void SetMinPtCandidate(Double_t ptCand=-1.)
Definition: AliRDHFCuts.h:215
void SetTriggerClass(TString trclass0, TString trclass1="")
Definition: AliRDHFCuts.h:192
virtual void SetStandardCutsPbPb2010()
Int_t nptbins