]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/ConfigVertexingHF_ITSUpgrade.C
Code for computing MC efficiency for Lc->K0s+proton (Annalisa)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / ConfigVertexingHF_ITSUpgrade.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->SetLikeSignOn(); // 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
21   //--- set cuts for single-track selection  
22   //     displaced tracks
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.6,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->SetMinCentrality(-10);
54   cutsD0toKpi->SetMaxCentrality(110);
55   cutsD0toKpi->SetUseSpecialCuts(kFALSE);
56   cutsD0toKpi->SetMinPtCandidate(0.);
57   cutsD0toKpi->SetUsePID(kFALSE);
58   cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
59   cutsD0toKpi->SetMaxVtxZ(1.e6);
60   cutsD0toKpi->SetTriggerClass("");
61   Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
62   cutsD0toKpi->SetPtBins(nptbins,ptlimits);
63   cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
64   cutsD0toKpi->AddTrackCuts(esdTrackCuts);
65   vHF->SetCutsD0toKpi(cutsD0toKpi);
66   AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
67   Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
68   cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
69   cutsJpsitoee->AddTrackCuts(esdTrackCuts);
70   vHF->SetCutsJpsitoee(cutsJpsitoee);
71   AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
72   cutsDplustoKpipi->SetStandardCutsPbPb2010();
73   cutsDplustoKpipi->SetUsePID(kFALSE);
74   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.};
75   cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
76   cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
77   cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
78   cutsDplustoKpipi->SetMinPtCandidate(2.);
79   vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
80   AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
81   cutsDstoKKpi->SetStandardCutsPbPb2010();
82   cutsDstoKKpi->SetUsePID(kFALSE);
83   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.};
84   cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
85   cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
86   cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
87   cutsDstoKKpi->SetMinPtCandidate(2.);
88   vHF->SetCutsDstoKKpi(cutsDstoKKpi);
89   AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
90   cutsLctopKpi->SetStandardCutsPbPb2010();
91   cutsLctopKpi->SetUsePID(kFALSE);
92   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};
93   cutsLctopKpi->SetPtBins(nptbins,ptlimits);
94   cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
95   cutsLctopKpi->AddTrackCuts(esdTrackCuts);
96   cutsLctopKpi->SetMinPtCandidate(2.);
97   vHF->SetCutsLctopKpi(cutsLctopKpi);
98   AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
99   Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
100   cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
101   cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
102   vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
103
104
105  // D* pt dependent cuts ------------------------------------------
106
107   AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
108   cutsDStartoKpipi->SetUsePID(kFALSE);
109   
110   const Int_t nvars=16;
111   const Int_t nptbins=2;
112   
113   Float_t* ptbins;
114   ptbins=new Float_t[nptbins+1];
115   ptbins[0]=0.;
116   ptbins[1]=5.;
117   ptbins[2]=999.;
118   
119   cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
120   
121   Float_t** rdcutsvalmine;
122   rdcutsvalmine=new Float_t*[nvars];
123   for(Int_t iv=0;iv<nvars;iv++){
124     rdcutsvalmine[iv]=new Float_t[nptbins];
125   }
126   //0-5
127   rdcutsvalmine[0][0]=0.10;  //D0 inv mass window
128   rdcutsvalmine[1][0]=0.06;   // dca
129   rdcutsvalmine[2][0]=0.9;    // thetastar
130   rdcutsvalmine[3][0]=0.5;    // pt Pion
131   rdcutsvalmine[4][0]=0.5;    // Pt Kaon
132   rdcutsvalmine[5][0]=0.1;    // d0K
133   rdcutsvalmine[6][0]=0.1;    // d0Pi
134   rdcutsvalmine[7][0]=0.0001; // d0xd0
135   rdcutsvalmine[8][0]=0.8;    // costhetapoint
136   rdcutsvalmine[9][0]=0.15;   // Dstar inv mass window
137   rdcutsvalmine[10][0]=0.03;  // half width of (M_Kpipi-M_D0)
138   rdcutsvalmine[11][0]=0.1;   // Pt min of Pi soft
139   rdcutsvalmine[12][0]=100.;  // Pt max of pi soft
140   rdcutsvalmine[13][0]=9999.; // theta
141   rdcutsvalmine[14][0]=0.9;   // |cosThetaPointXY|
142   rdcutsvalmine[15][0]=1.;    // NormDecayLenghtXY
143  //5-999
144   rdcutsvalmine[0][1]=0.10;   //D0 inv mass window
145   rdcutsvalmine[1][1]=0.06;   // dca
146   rdcutsvalmine[2][1]=0.9;    // thetastar
147   rdcutsvalmine[3][1]=0.5;    // pt Pion
148   rdcutsvalmine[4][1]=0.5;    // Pt Kaon
149   rdcutsvalmine[5][1]=0.1;    // d0K
150   rdcutsvalmine[6][1]=0.1;    // d0Pi
151   rdcutsvalmine[7][1]=0.0001; // d0xd0
152   rdcutsvalmine[8][1]=0.7;    // costhetapoint
153   rdcutsvalmine[9][1]=0.15;   // Dstar inv mass window
154   rdcutsvalmine[10][1]=0.03;  // half width of (M_Kpipi-M_D0)
155   rdcutsvalmine[11][1]=0.1;   // Pt min of Pi soft
156   rdcutsvalmine[12][1]=100.;  // Pt max of pi soft
157   rdcutsvalmine[13][1]=9999.; // theta
158   rdcutsvalmine[14][1]=0.8;   // |cosThetaPointXY|
159   rdcutsvalmine[15][1]=0.;    // NormDecayLenghtXY
160
161   cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
162  
163   cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
164   cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
165   cutsDStartoKpipi->SetMinPtCandidate(2.);
166   vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
167
168   //--------------------------------------------------------
169
170   AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
171   Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.};
172   cutsLctoV0->SetCuts(9,cutsArrayLctoV0);
173   cutsLctoV0->AddTrackCuts(esdTrackCuts);
174   vHF->SetCutsLctoV0(cutsLctoV0);
175   // 
176   //--- set this if you want to reconstruct primary vertex candidate by
177   //    candidate using other tracks in the event (for pp, broad 
178   //    interaction region)
179   //vHF->SetRecoPrimVtxSkippingTrks();
180   //--- OR set this if you want to remove the candidate daughters from 
181   //    the primary vertex, without recostructing it from scratch
182   //vHF->SetRmTrksFromPrimVtx();
183
184   //--- check the settings
185   vHF->PrintStatus();
186   //--- verbose
187   //  AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
188
189  
190   return vHF;
191 }
192
193