]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
moving files
authordainesea <dainesea@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 18 Jun 2013 11:38:49 +0000 (11:38 +0000)
committerdainesea <dainesea@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 18 Jun 2013 11:38:49 +0000 (11:38 +0000)
PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade.C [new file with mode: 0644]
PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade_16var.C [new file with mode: 0644]
PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade_D0Lc_wPID.C [new file with mode: 0644]
PWGHF/vertexingHF/upgrade/ITSgraphs_Current.root [new file with mode: 0644]
PWGHF/vertexingHF/upgrade/ITSgraphs_NewAll-X0.3-Res4um.root [new file with mode: 0644]

diff --git a/PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade.C b/PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade.C
new file mode 100644 (file)
index 0000000..372a3b4
--- /dev/null
@@ -0,0 +1,194 @@
+AliAnalysisVertexingHF* ConfigVertexingHF() {
+
+  printf("Call to AliAnalysisVertexingHF parameters setting :\n");
+  vHF = new AliAnalysisVertexingHF();
+  //--- switch-off candidates finding (default: all on)
+  //vHF->SetD0toKpiOff();
+  vHF->SetJPSItoEleOff();
+  //vHF->Set3ProngOff();
+  vHF->SetLikeSignOn(); // like-sign pairs and triplets
+  //  vHF->SetLikeSign3prongOff();
+  vHF->Set4ProngOff();
+  //vHF->SetDstarOff();
+  vHF->SetFindVertexForDstar(kFALSE);
+  //--- secondary vertex with KF?
+  //vHF->SetSecVtxWithKF();
+  vHF->SetCascadesOff();
+  vHF->SetFindVertexForCascades(kFALSE);
+  vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb
+  vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s);
+
+  //--- set cuts for single-track selection  
+  //     displaced tracks
+  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
+  esdTrackCuts->SetRequireTPCRefit(kTRUE);
+  esdTrackCuts->SetMinNClustersTPC(70);
+  esdTrackCuts->SetRequireITSRefit(kTRUE);
+  //esdTrackCuts->SetMinNClustersITS(4);
+  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+                                        AliESDtrackCuts::kAny);
+  // |d0|>75 micron for pt<2GeV, no cut above 2
+  esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
+  esdTrackCuts->SetMaxDCAToVertexXY(1.);  
+  esdTrackCuts->SetMaxDCAToVertexZ(1.);
+  esdTrackCuts->SetPtRange(0.6,1.e10);
+  esdTrackCuts->SetEtaRange(-0.8,+0.8);
+  AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
+  trkFilter->AddCuts(esdTrackCuts);
+  vHF->SetTrackFilter(trkFilter);
+  //     D* soft pion tracks
+  AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default");
+  esdTrackCutsSoftPi->SetMinNClustersITS(4);
+  esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);  
+  esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
+  esdTrackCutsSoftPi->SetPtRange(0.2,1.e10);
+  esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
+  AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
+  trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
+  vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
+  //--- set cuts for candidates selection
+  Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
+  AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
+  cutsD0toKpi->SetStandardCutsPbPb2010();
+  cutsD0toKpi->SetMinCentrality(-10);
+  cutsD0toKpi->SetMaxCentrality(110);
+  cutsD0toKpi->SetUseSpecialCuts(kFALSE);
+  cutsD0toKpi->SetMinPtCandidate(0.);
+  cutsD0toKpi->SetUsePID(kFALSE);
+  cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
+  cutsD0toKpi->SetMaxVtxZ(1.e6);
+  cutsD0toKpi->SetTriggerClass("");
+  Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
+  cutsD0toKpi->SetPtBins(nptbins,ptlimits);
+  cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
+  cutsD0toKpi->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsD0toKpi(cutsD0toKpi);
+  AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
+  Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
+  cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
+  cutsJpsitoee->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsJpsitoee(cutsJpsitoee);
+  AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
+  cutsDplustoKpipi->SetStandardCutsPbPb2010();
+  cutsDplustoKpipi->SetUsePID(kFALSE);
+  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.};
+  cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
+  cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
+  cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
+  cutsDplustoKpipi->SetMinPtCandidate(2.);
+  vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
+  AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
+  cutsDstoKKpi->SetStandardCutsPbPb2010();
+  cutsDstoKKpi->SetUsePID(kFALSE);
+  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.};
+  cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
+  cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
+  cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
+  cutsDstoKKpi->SetMinPtCandidate(2.);
+  vHF->SetCutsDstoKKpi(cutsDstoKKpi);
+  AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
+  cutsLctopKpi->SetStandardCutsPbPb2010();
+  cutsLctopKpi->SetUsePID(kFALSE);
+  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};
+  cutsLctopKpi->SetPtBins(nptbins,ptlimits);
+  cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
+  cutsLctopKpi->AddTrackCuts(esdTrackCuts);
+  cutsLctopKpi->SetMinPtCandidate(2.);
+  vHF->SetCutsLctopKpi(cutsLctopKpi);
+  AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
+  Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
+  cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
+  cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
+
+
+ // D* pt dependent cuts ------------------------------------------
+
+  AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
+  cutsDStartoKpipi->SetUsePID(kFALSE);
+  
+  const Int_t nvars=16;
+  const Int_t nptbins=2;
+  
+  Float_t* ptbins;
+  ptbins=new Float_t[nptbins+1];
+  ptbins[0]=0.;
+  ptbins[1]=5.;
+  ptbins[2]=999.;
+  
+  cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
+  
+  Float_t** rdcutsvalmine;
+  rdcutsvalmine=new Float_t*[nvars];
+  for(Int_t iv=0;iv<nvars;iv++){
+    rdcutsvalmine[iv]=new Float_t[nptbins];
+  }
+  //0-5
+  rdcutsvalmine[0][0]=0.10;  //D0 inv mass window
+  rdcutsvalmine[1][0]=0.06;   // dca
+  rdcutsvalmine[2][0]=0.9;    // thetastar
+  rdcutsvalmine[3][0]=0.5;    // pt Pion
+  rdcutsvalmine[4][0]=0.5;    // Pt Kaon
+  rdcutsvalmine[5][0]=0.1;    // d0K
+  rdcutsvalmine[6][0]=0.1;    // d0Pi
+  rdcutsvalmine[7][0]=0.0001; // d0xd0
+  rdcutsvalmine[8][0]=0.8;    // costhetapoint
+  rdcutsvalmine[9][0]=0.15;   // Dstar inv mass window
+  rdcutsvalmine[10][0]=0.03;  // half width of (M_Kpipi-M_D0)
+  rdcutsvalmine[11][0]=0.1;   // Pt min of Pi soft
+  rdcutsvalmine[12][0]=100.;  // Pt max of pi soft
+  rdcutsvalmine[13][0]=9999.; // theta
+  rdcutsvalmine[14][0]=0.9;   // |cosThetaPointXY|
+  rdcutsvalmine[15][0]=1.;    // NormDecayLenghtXY
+ //5-999
+  rdcutsvalmine[0][1]=0.10;   //D0 inv mass window
+  rdcutsvalmine[1][1]=0.06;   // dca
+  rdcutsvalmine[2][1]=0.9;    // thetastar
+  rdcutsvalmine[3][1]=0.5;    // pt Pion
+  rdcutsvalmine[4][1]=0.5;    // Pt Kaon
+  rdcutsvalmine[5][1]=0.1;    // d0K
+  rdcutsvalmine[6][1]=0.1;    // d0Pi
+  rdcutsvalmine[7][1]=0.0001; // d0xd0
+  rdcutsvalmine[8][1]=0.7;    // costhetapoint
+  rdcutsvalmine[9][1]=0.15;   // Dstar inv mass window
+  rdcutsvalmine[10][1]=0.03;  // half width of (M_Kpipi-M_D0)
+  rdcutsvalmine[11][1]=0.1;   // Pt min of Pi soft
+  rdcutsvalmine[12][1]=100.;  // Pt max of pi soft
+  rdcutsvalmine[13][1]=9999.; // theta
+  rdcutsvalmine[14][1]=0.8;   // |cosThetaPointXY|
+  rdcutsvalmine[15][1]=0.;    // NormDecayLenghtXY
+
+  cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
+  cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
+  cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
+  cutsDStartoKpipi->SetMinPtCandidate(2.);
+  vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
+
+  //--------------------------------------------------------
+
+  AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
+  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};
+  cutsLctoV0->SetCuts(17,cutsArrayLctoV0);
+  cutsLctoV0->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsLctoV0(cutsLctoV0);
+  // 
+  //--- set this if you want to reconstruct primary vertex candidate by
+  //    candidate using other tracks in the event (for pp, broad 
+  //    interaction region)
+  //vHF->SetRecoPrimVtxSkippingTrks();
+  //--- OR set this if you want to remove the candidate daughters from 
+  //    the primary vertex, without recostructing it from scratch
+  //vHF->SetRmTrksFromPrimVtx();
+
+  //--- check the settings
+  vHF->PrintStatus();
+  //--- verbose
+  //  AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
+
+  return vHF;
+}
+
+
diff --git a/PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade_16var.C b/PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade_16var.C
new file mode 100644 (file)
index 0000000..c178440
--- /dev/null
@@ -0,0 +1,194 @@
+AliAnalysisVertexingHF* ConfigVertexingHF() {
+
+  printf("Call to AliAnalysisVertexingHF parameters setting :\n");
+  vHF = new AliAnalysisVertexingHF();
+  //--- switch-off candidates finding (default: all on)
+  //vHF->SetD0toKpiOff();
+  vHF->SetJPSItoEleOff();
+  //vHF->Set3ProngOff();
+  //vHF->SetLikeSignOn(); // like-sign pairs and triplets
+  //  vHF->SetLikeSign3prongOff();
+  vHF->Set4ProngOff();
+  vHF->SetDstarOff();
+  vHF->SetFindVertexForDstar(kFALSE);
+  //--- secondary vertex with KF?
+  //vHF->SetSecVtxWithKF();
+  vHF->SetCascadesOff();
+  vHF->SetFindVertexForCascades(kFALSE);
+  vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb
+  vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s);
+
+  //--- set cuts for single-track selection  
+  //     displaced tracks
+  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
+  esdTrackCuts->SetRequireTPCRefit(kTRUE);
+  esdTrackCuts->SetMinNClustersTPC(70);
+  esdTrackCuts->SetRequireITSRefit(kTRUE);
+  //esdTrackCuts->SetMinNClustersITS(4);
+  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+                                        AliESDtrackCuts::kAny);
+  // |d0|>75 micron for pt<2GeV, no cut above 2
+  esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
+  esdTrackCuts->SetMaxDCAToVertexXY(1.);  
+  esdTrackCuts->SetMaxDCAToVertexZ(1.);
+  esdTrackCuts->SetPtRange(0.6,1.e10);
+  esdTrackCuts->SetEtaRange(-0.8,+0.8);
+  AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
+  trkFilter->AddCuts(esdTrackCuts);
+  vHF->SetTrackFilter(trkFilter);
+  //     D* soft pion tracks
+  AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default");
+  esdTrackCutsSoftPi->SetMinNClustersITS(4);
+  esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);  
+  esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
+  esdTrackCutsSoftPi->SetPtRange(0.2,1.e10);
+  esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
+  AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
+  trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
+  vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
+  //--- set cuts for candidates selection
+  Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
+  AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
+  cutsD0toKpi->SetStandardCutsPbPb2010();
+  cutsD0toKpi->SetMinCentrality(-10);
+  cutsD0toKpi->SetMaxCentrality(110);
+  cutsD0toKpi->SetUseSpecialCuts(kFALSE);
+  cutsD0toKpi->SetMinPtCandidate(0.);
+  cutsD0toKpi->SetUsePID(kFALSE);
+  cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
+  cutsD0toKpi->SetMaxVtxZ(1.e6);
+  cutsD0toKpi->SetTriggerClass("");
+  Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
+  cutsD0toKpi->SetPtBins(nptbins,ptlimits);
+  cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
+  cutsD0toKpi->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsD0toKpi(cutsD0toKpi);
+  AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
+  Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
+  cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
+  cutsJpsitoee->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsJpsitoee(cutsJpsitoee);
+  AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
+  cutsDplustoKpipi->SetStandardCutsPbPb2010();
+  cutsDplustoKpipi->SetUsePID(kFALSE);
+  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.};
+  cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
+  cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
+  cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
+  cutsDplustoKpipi->SetMinPtCandidate(2.);
+  vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
+  AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
+  cutsDstoKKpi->SetStandardCutsPbPb2010();
+  cutsDstoKKpi->SetUsePID(kFALSE);
+  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.};
+  cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
+  cutsDstoKKpi->SetCuts(16,cutsArrayDstoKKpi);
+  cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
+  cutsDstoKKpi->SetMinPtCandidate(1.);
+  vHF->SetCutsDstoKKpi(cutsDstoKKpi);
+  AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
+  cutsLctopKpi->SetStandardCutsPbPb2010();
+  cutsLctopKpi->SetUsePID(kFALSE);
+  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};
+  cutsLctopKpi->SetPtBins(nptbins,ptlimits);
+  cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
+  cutsLctopKpi->AddTrackCuts(esdTrackCuts);
+  cutsLctopKpi->SetMinPtCandidate(2.);
+  vHF->SetCutsLctopKpi(cutsLctopKpi);
+  AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
+  Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
+  cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
+  cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
+
+
+ // D* pt dependent cuts ------------------------------------------
+
+  AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
+  cutsDStartoKpipi->SetUsePID(kFALSE);
+  
+  const Int_t nvars=16;
+  const Int_t nptbins=2;
+  
+  Float_t* ptbins;
+  ptbins=new Float_t[nptbins+1];
+  ptbins[0]=0.;
+  ptbins[1]=5.;
+  ptbins[2]=999.;
+  
+  cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
+  
+  Float_t** rdcutsvalmine;
+  rdcutsvalmine=new Float_t*[nvars];
+  for(Int_t iv=0;iv<nvars;iv++){
+    rdcutsvalmine[iv]=new Float_t[nptbins];
+  }
+  //0-5
+  rdcutsvalmine[0][0]=0.10;  //D0 inv mass window
+  rdcutsvalmine[1][0]=0.06;   // dca
+  rdcutsvalmine[2][0]=0.9;    // thetastar
+  rdcutsvalmine[3][0]=0.5;    // pt Pion
+  rdcutsvalmine[4][0]=0.5;    // Pt Kaon
+  rdcutsvalmine[5][0]=0.1;    // d0K
+  rdcutsvalmine[6][0]=0.1;    // d0Pi
+  rdcutsvalmine[7][0]=0.0001; // d0xd0
+  rdcutsvalmine[8][0]=0.8;    // costhetapoint
+  rdcutsvalmine[9][0]=0.15;   // Dstar inv mass window
+  rdcutsvalmine[10][0]=0.03;  // half width of (M_Kpipi-M_D0)
+  rdcutsvalmine[11][0]=0.1;   // Pt min of Pi soft
+  rdcutsvalmine[12][0]=100.;  // Pt max of pi soft
+  rdcutsvalmine[13][0]=9999.; // theta
+  rdcutsvalmine[14][0]=0.9;   // |cosThetaPointXY|
+  rdcutsvalmine[15][0]=1.;    // NormDecayLenghtXY
+ //5-999
+  rdcutsvalmine[0][1]=0.10;   //D0 inv mass window
+  rdcutsvalmine[1][1]=0.06;   // dca
+  rdcutsvalmine[2][1]=0.9;    // thetastar
+  rdcutsvalmine[3][1]=0.5;    // pt Pion
+  rdcutsvalmine[4][1]=0.5;    // Pt Kaon
+  rdcutsvalmine[5][1]=0.1;    // d0K
+  rdcutsvalmine[6][1]=0.1;    // d0Pi
+  rdcutsvalmine[7][1]=0.0001; // d0xd0
+  rdcutsvalmine[8][1]=0.7;    // costhetapoint
+  rdcutsvalmine[9][1]=0.15;   // Dstar inv mass window
+  rdcutsvalmine[10][1]=0.03;  // half width of (M_Kpipi-M_D0)
+  rdcutsvalmine[11][1]=0.1;   // Pt min of Pi soft
+  rdcutsvalmine[12][1]=100.;  // Pt max of pi soft
+  rdcutsvalmine[13][1]=9999.; // theta
+  rdcutsvalmine[14][1]=0.8;   // |cosThetaPointXY|
+  rdcutsvalmine[15][1]=0.;    // NormDecayLenghtXY
+
+  cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
+  cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
+  cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
+  cutsDStartoKpipi->SetMinPtCandidate(2.);
+  vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
+
+  //--------------------------------------------------------
+
+  AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
+  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};
+  cutsLctoV0->SetCuts(17,cutsArrayLctoV0);
+  cutsLctoV0->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsLctoV0(cutsLctoV0);
+  // 
+  //--- set this if you want to reconstruct primary vertex candidate by
+  //    candidate using other tracks in the event (for pp, broad 
+  //    interaction region)
+  //vHF->SetRecoPrimVtxSkippingTrks();
+  //--- OR set this if you want to remove the candidate daughters from 
+  //    the primary vertex, without recostructing it from scratch
+  //vHF->SetRmTrksFromPrimVtx();
+
+  //--- check the settings
+  vHF->PrintStatus();
+  //--- verbose
+  //  AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
+
+  return vHF;
+}
+
+
diff --git a/PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade_D0Lc_wPID.C b/PWGHF/vertexingHF/upgrade/ConfigVertexingHF_ITSUpgrade_D0Lc_wPID.C
new file mode 100644 (file)
index 0000000..0d6fbae
--- /dev/null
@@ -0,0 +1,217 @@
+AliAnalysisVertexingHF* ConfigVertexingHF() {
+
+  printf("MYCONFIGPID Call to AliAnalysisVertexingHF parameters setting :\n");
+  vHF = new AliAnalysisVertexingHF();
+  //--- switch-off candidates finding (default: all on)
+  //vHF->SetD0toKpiOff();
+  vHF->SetD0toKpiOn();
+  vHF->SetJPSItoEleOff();
+  //vHF->Set3ProngOff();
+  //vHF->SetLikeSignOn(); // like-sign pairs and triplets
+  //  vHF->SetLikeSign3prongOff();
+  vHF->Set4ProngOff();
+  vHF->SetDstarOff();
+  vHF->SetFindVertexForDstar(kFALSE);
+  //--- secondary vertex with KF?
+  //vHF->SetSecVtxWithKF();
+  //Cascade
+  vHF->SetCascadesOn();                 
+  vHF->SetFindVertexForCascades(kTRUE); 
+  vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kOnlyOfflineV0s); //All V0s 0, Offline 1, OnTheFly 2
+  vHF->SetUseProtonPIDforLambdaC2V0();
+
+  vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb
+
+  //set PID
+  vHF->SetUseKaonPIDfor3Prong(kTRUE);
+  vHF->SetUseProtonAndPionPIDforLambdaC();
+  vHF->SetnSigmaTOFforKaonSel(3., 5.);
+  vHF->SetnSigmaTPCforKaonSel(5., 5.);
+  vHF->SetnSigmaTOFforProtonSel(3.,5.);
+  vHF->SetnSigmaTPCforProtonSel(5., 5.);
+  vHF->SetnSigmaTPCforPionSel(4., 4.);
+  vHF->SetnSigmaTOFforPionSel(40.,40.);
+  vHF->SetMaxMomForTPCPid(9999999999.);
+  vHF->SetUseTPCPID(kTRUE);
+  vHF->SetUseTOFPID(kTRUE);
+  vHF->SetUseTPCPIDOnlyIfNoTOF(kTRUE);
+  
+//--- set cuts for single-track selection  
+  //     displaced tracks
+  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
+  esdTrackCuts->SetRequireTPCRefit(kTRUE);
+  esdTrackCuts->SetMinNClustersTPC(70);
+  esdTrackCuts->SetRequireITSRefit(kTRUE);
+  //esdTrackCuts->SetMinNClustersITS(4);
+  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+                                        AliESDtrackCuts::kAny);
+  // |d0|>30 micron for pt<2GeV, no cut above 2
+  esdTrackCuts->SetMinDCAToVertexXYPtDep("0.003*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
+  esdTrackCuts->SetMaxDCAToVertexXY(1.);  
+  esdTrackCuts->SetMaxDCAToVertexZ(1.);
+  esdTrackCuts->SetPtRange(0.4,1.e10);
+  esdTrackCuts->SetEtaRange(-0.8,+0.8);
+  AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
+  trkFilter->AddCuts(esdTrackCuts);
+  vHF->SetTrackFilter(trkFilter);
+  //     D* soft pion tracks
+  AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default");
+  esdTrackCutsSoftPi->SetMinNClustersITS(4);
+  esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);  
+  esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
+  esdTrackCutsSoftPi->SetPtRange(0.2,1.e10);
+  esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
+  AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
+  trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
+  vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
+  //--- set cuts for candidates selection
+  Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
+  AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
+  cutsD0toKpi->SetStandardCutsPbPb2010();
+  cutsD0toKpi->SetMinCentrality(-10);
+  cutsD0toKpi->SetMaxCentrality(110);
+  cutsD0toKpi->SetUseSpecialCuts(kFALSE);
+  cutsD0toKpi->SetMinPtCandidate(0.);
+  cutsD0toKpi->SetUsePID(kFALSE);
+  cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
+  cutsD0toKpi->SetMaxVtxZ(1.e6);
+  cutsD0toKpi->SetTriggerClass("");
+  Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
+  cutsD0toKpi->SetPtBins(nptbins,ptlimits);
+  cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
+  cutsD0toKpi->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsD0toKpi(cutsD0toKpi);
+  AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
+  Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
+  cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
+  cutsJpsitoee->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsJpsitoee(cutsJpsitoee);
+  AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
+  cutsDplustoKpipi->SetStandardCutsPbPb2010();
+  cutsDplustoKpipi->SetUsePID(kFALSE);
+  Float_t cutsArrayDplustoKpipi[14]={0.,0.3,0.3,0.,0.,0.01,0.05,0.05,0.,0.88,0.,10000000000.,0.,-1.};
+  cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
+  cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
+  cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
+  cutsDplustoKpipi->SetMinPtCandidate(2000000000.);
+  vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
+  AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
+  cutsDstoKKpi->SetStandardCutsPbPb2010();
+  cutsDstoKKpi->SetUsePID(kFALSE);
+  Float_t cutsArrayDstoKKpi[20]={0.,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.};
+  cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
+  cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
+  cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
+  cutsDstoKKpi->SetMinPtCandidate(1000000000.);
+  vHF->SetCutsDstoKKpi(cutsDstoKKpi);
+  AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
+  cutsLctopKpi->SetStandardCutsPbPb2010();
+  cutsLctopKpi->SetUsePID(kFALSE);
+  Float_t cutsArrayLctopKpi[13]={0.13,0.4,0.4,0.,0.,0.,0.06,0.,0.,0.,0.,0.05,0.4};
+  cutsLctopKpi->SetPtBins(nptbins,ptlimits);
+  cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
+  cutsLctopKpi->AddTrackCuts(esdTrackCuts);
+  cutsLctopKpi->SetMinPtCandidate(2.);
+  vHF->SetCutsLctopKpi(cutsLctopKpi);
+  AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
+  Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
+  cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
+  cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
+
+
+ // D* pt dependent cuts ------------------------------------------
+
+  AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
+  cutsDStartoKpipi->SetUsePID(kFALSE);
+  
+  const Int_t nvars=16;
+  const Int_t nptbins=2;
+  
+  Float_t* ptbins;
+  ptbins=new Float_t[nptbins+1];
+  ptbins[0]=0.;
+  ptbins[1]=5.;
+  ptbins[2]=999.;
+  
+  cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
+  
+  Float_t** rdcutsvalmine;
+  rdcutsvalmine=new Float_t*[nvars];
+  for(Int_t iv=0;iv<nvars;iv++){
+    rdcutsvalmine[iv]=new Float_t[nptbins];
+  }
+  //0-5
+  rdcutsvalmine[0][0]=0.10;  //D0 inv mass window
+  rdcutsvalmine[1][0]=0.06;   // dca
+  rdcutsvalmine[2][0]=0.9;    // thetastar
+  rdcutsvalmine[3][0]=0.5;    // pt Pion
+  rdcutsvalmine[4][0]=0.5;    // Pt Kaon
+  rdcutsvalmine[5][0]=0.1;    // d0K
+  rdcutsvalmine[6][0]=0.1;    // d0Pi
+  rdcutsvalmine[7][0]=0.0001; // d0xd0
+  rdcutsvalmine[8][0]=0.8;    // costhetapoint
+  rdcutsvalmine[9][0]=0.15;   // Dstar inv mass window
+  rdcutsvalmine[10][0]=0.03;  // half width of (M_Kpipi-M_D0)
+  rdcutsvalmine[11][0]=0.1;   // Pt min of Pi soft
+  rdcutsvalmine[12][0]=100.;  // Pt max of pi soft
+  rdcutsvalmine[13][0]=9999.; // theta
+  rdcutsvalmine[14][0]=0.9;   // |cosThetaPointXY|
+  rdcutsvalmine[15][0]=1.;    // NormDecayLenghtXY
+ //5-999
+  rdcutsvalmine[0][1]=0.10;   //D0 inv mass window
+  rdcutsvalmine[1][1]=0.06;   // dca
+  rdcutsvalmine[2][1]=0.9;    // thetastar
+  rdcutsvalmine[3][1]=0.5;    // pt Pion
+  rdcutsvalmine[4][1]=0.5;    // Pt Kaon
+  rdcutsvalmine[5][1]=0.1;    // d0K
+  rdcutsvalmine[6][1]=0.1;    // d0Pi
+  rdcutsvalmine[7][1]=0.0001; // d0xd0
+  rdcutsvalmine[8][1]=0.7;    // costhetapoint
+  rdcutsvalmine[9][1]=0.15;   // Dstar inv mass window
+  rdcutsvalmine[10][1]=0.03;  // half width of (M_Kpipi-M_D0)
+  rdcutsvalmine[11][1]=0.1;   // Pt min of Pi soft
+  rdcutsvalmine[12][1]=100.;  // Pt max of pi soft
+  rdcutsvalmine[13][1]=9999.; // theta
+  rdcutsvalmine[14][1]=0.8;   // |cosThetaPointXY|
+  rdcutsvalmine[15][1]=0.;    // NormDecayLenghtXY
+
+  cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
+  cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
+  cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
+  cutsDStartoKpipi->SetMinPtCandidate(2.);
+  vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
+
+  //--------------------------------------------------------
+
+  AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
+  /*
+  Float_t cutsArrayLctoV0[9]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.};
+  cutsLctoV0->SetCuts(9,cutsArrayLctoV0);
+  */
+  //last dummy
+  Float_t cutsArrayLctoV0[10]={4.0,4.0,2.0,2.0,0.0,0.0,0.0,1000.,1000.,1.};
+  cutsLctoV0->SetCuts(10,cutsArrayLctoV0);
+  cutsLctoV0->AddTrackCuts(esdTrackCuts);
+  vHF->SetCutsLctoV0(cutsLctoV0);
+  // 
+  //--- set this if you want to reconstruct primary vertex candidate by
+  //    candidate using other tracks in the event (for pp, broad 
+  //    interaction region)
+  //vHF->SetRecoPrimVtxSkippingTrks();
+  //--- OR set this if you want to remove the candidate daughters from 
+  //    the primary vertex, without recostructing it from scratch
+  //vHF->SetRmTrksFromPrimVtx();
+
+  //--- check the settings
+  vHF->PrintStatus();
+  //--- verbose
+  //  AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
+
+  return vHF;
+}
+
+
diff --git a/PWGHF/vertexingHF/upgrade/ITSgraphs_Current.root b/PWGHF/vertexingHF/upgrade/ITSgraphs_Current.root
new file mode 100644 (file)
index 0000000..0196f3c
Binary files /dev/null and b/PWGHF/vertexingHF/upgrade/ITSgraphs_Current.root differ
diff --git a/PWGHF/vertexingHF/upgrade/ITSgraphs_NewAll-X0.3-Res4um.root b/PWGHF/vertexingHF/upgrade/ITSgraphs_NewAll-X0.3-Res4um.root
new file mode 100644 (file)
index 0000000..f7570ee
Binary files /dev/null and b/PWGHF/vertexingHF/upgrade/ITSgraphs_NewAll-X0.3-Res4um.root differ