From 82292e7f570cb51cef6f84b8ad5851faf9aa4b20 Mon Sep 17 00:00:00 2001 From: jotwinow Date: Sat, 20 Nov 2010 17:51:17 +0000 Subject: [PATCH] TPC-ITS tracking for Pb-Pb --- PWG0/dNdPt/AlidNdPtAnalysisPbPb.cxx | 22 +++++--- PWG0/dNdPt/AlidNdPtCutAnalysisPbPb.cxx | 17 ++++-- PWG0/dNdPt/macros/CreatedNdPtTrackCuts.C | 72 ++++++++++++++++++++++++ 3 files changed, 97 insertions(+), 14 deletions(-) diff --git a/PWG0/dNdPt/AlidNdPtAnalysisPbPb.cxx b/PWG0/dNdPt/AlidNdPtAnalysisPbPb.cxx index 618039e4053..682453c1b2f 100644 --- a/PWG0/dNdPt/AlidNdPtAnalysisPbPb.cxx +++ b/PWG0/dNdPt/AlidNdPtAnalysisPbPb.cxx @@ -721,20 +721,20 @@ void AlidNdPtAnalysisPbPb::Process(AliESDEvent *const esdEvent, AliMCEvent *cons // get reconstructed vertex const AliESDVertex* vtxESD = 0; - Bool_t isRecVertex = kTRUE; if(evtCuts->IsRecVertexRequired()) { -// Bool_t bRedoTPCVertex = evtCuts->IsRedoTPCVertex(); - //Bool_t bUseConstraints = evtCuts->IsUseBeamSpotConstraint(); - //vtxESD = AlidNdPtHelper::GetVertex(esdEvent,evtCuts,accCuts,esdTrackCuts,GetAnalysisMode(),kFALSE,bRedoTPCVertex,bUseConstraints); - //isRecVertex = AlidNdPtHelper::TestRecVertex(vtxESD, esdEvent->GetPrimaryVertexSPD(), GetAnalysisMode(), kFALSE); if(GetAnalysisMode() == AlidNdPtHelper::kTPC) { vtxESD = esdEvent->GetPrimaryVertexTPC(); - //isRecVertex = AlidNdPtHelper::TestRecVertex(vtxESD, esdEvent->GetPrimaryVertexSPD(), GetAnalysisMode(), kFALSE); + } + else if(GetAnalysisMode() == AlidNdPtHelper::kTPCITS) { + vtxESD = esdEvent->GetPrimaryVertexTracks(); + } + else { + return; } } - Bool_t isEventOK = evtCuts->AcceptEvent(esdEvent,mcEvent,vtxESD) && isRecVertex; + Bool_t isEventOK = evtCuts->AcceptEvent(esdEvent,mcEvent,vtxESD); //printf("isEventOK %d, isEventTriggered %d \n",isEventOK, isEventTriggered); //printf("GetAnalysisMode() %d \n",GetAnalysisMode()); @@ -742,11 +742,15 @@ void AlidNdPtAnalysisPbPb::Process(AliESDEvent *const esdEvent, AliMCEvent *cons Int_t multMBTracks = 0; if(GetAnalysisMode() == AlidNdPtHelper::kTPC) { - if(vtxESD->GetStatus() && isRecVertex) { - //multMBTracks = AlidNdPtHelper::GetTPCMBTrackMult(esdEvent,evtCuts,accCuts,esdTrackCuts); + if(vtxESD->GetStatus()) { multMBTracks = vtxESD->GetNContributors(); } } + else if(GetAnalysisMode() == AlidNdPtHelper::kTPCITS) { + if(vtxESD->GetStatus()) { + multMBTracks = vtxESD->GetNContributors(); + } + } else { AliDebug(AliLog::kError, Form("Found analysis type %d", GetAnalysisMode())); return; diff --git a/PWG0/dNdPt/AlidNdPtCutAnalysisPbPb.cxx b/PWG0/dNdPt/AlidNdPtCutAnalysisPbPb.cxx index 890d25ab1df..e9747de7aa8 100644 --- a/PWG0/dNdPt/AlidNdPtCutAnalysisPbPb.cxx +++ b/PWG0/dNdPt/AlidNdPtCutAnalysisPbPb.cxx @@ -149,8 +149,10 @@ void AlidNdPtCutAnalysisPbPb::Init(){ // //nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromMaterial:isPrim:charge Int_t binsRecMCTrackHist[12]={160,20,40,100,100,30,90,ptNbins, 2, 2, 2, 3}; - Double_t minRecMCTrackHist[12]={0., 0., 0., -10.,-10.,-1.5, 0., ptMin, 0., 0., 0., -1.}; - Double_t maxRecMCTrackHist[12]={160.,10.,1.2, 10.,10.,1.5, 2.*TMath::Pi(), ptMax, 2., 2., 2., 2.}; + //Double_t minRecMCTrackHist[12]={0., 0., 0., -10.,-10.,-1.5, 0., ptMin, 0., 0., 0., -1.}; + //Double_t maxRecMCTrackHist[12]={160.,10.,1.2, 10.,10.,1.5, 2.*TMath::Pi(), ptMax, 2., 2., 2., 2.}; + Double_t minRecMCTrackHist[12]={0., 0., 0., -1.,-1.,-1.5, 0., ptMin, 0., 0., 0., -1.}; + Double_t maxRecMCTrackHist[12]={160.,10.,1.2, 1.,1.,1.5, 2.*TMath::Pi(), ptMax, 2., 2., 2., 2.}; fRecMCTrackHist = new THnSparseF("fRecMCTrackHist","nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromMaterial:isPrim:charge",12,binsRecMCTrackHist,minRecMCTrackHist,maxRecMCTrackHist); fRecMCTrackHist->SetBinEdges(7,binsPt); @@ -274,14 +276,19 @@ void AlidNdPtCutAnalysisPbPb::Process(AliESDEvent *const esdEvent, AliMCEvent * // get reconstructed vertex const AliESDVertex* vtxESD = 0; - Bool_t isRecVertex = kTRUE; if(evtCuts->IsRecVertexRequired()) { if(GetAnalysisMode() == AlidNdPtHelper::kTPC) { vtxESD = esdEvent->GetPrimaryVertexTPC(); } + else if(GetAnalysisMode() == AlidNdPtHelper::kTPCITS) { + vtxESD = esdEvent->GetPrimaryVertexTracks(); + } + else { + return; + } } - Bool_t isEventOK = evtCuts->AcceptEvent(esdEvent,mcEvent,vtxESD) && isRecVertex; + Bool_t isEventOK = evtCuts->AcceptEvent(esdEvent,mcEvent,vtxESD); //printf("isEventOK %d, isEventTriggered %d \n",isEventOK, isEventTriggered); //printf("GetAnalysisMode() %d \n",GetAnalysisMode()); @@ -311,7 +318,7 @@ void AlidNdPtCutAnalysisPbPb::Process(AliESDEvent *const esdEvent, AliMCEvent * AliESDtrack *track = (AliESDtrack*)allChargedTracks->At(i); if(!track) continue; - //if(!esdTrackCuts->AcceptTrack(track)) continue; + if(!esdTrackCuts->AcceptTrack(track)) continue; FillHistograms(track, stack); multAll++; } diff --git a/PWG0/dNdPt/macros/CreatedNdPtTrackCuts.C b/PWG0/dNdPt/macros/CreatedNdPtTrackCuts.C index eae97297d7e..d4bae3a146f 100644 --- a/PWG0/dNdPt/macros/CreatedNdPtTrackCuts.C +++ b/PWG0/dNdPt/macros/CreatedNdPtTrackCuts.C @@ -1181,6 +1181,39 @@ AliESDtrackCuts* CreatedNdPtTrackCuts(Int_t cutMode=1, Bool_t fieldOn = kTRUE, B TString tag = "TPC+ITS combine tracking + DCAr(pt) + DCAz(pt)"; } + // TPC+ITS combine tracking + DCAr(pt) (2010) + if (cutMode == 72) + { + Int_t minclsTPC=70; + Double_t maxchi2perTPCcl=4.; + Double_t maxdcazITSTPC=2.0; + + // + // TPC + // + esdTrackCuts->SetRequireTPCRefit(kTRUE); + esdTrackCuts->SetAcceptKinkDaughters(kFALSE); + esdTrackCuts->SetMinNClustersTPC(minclsTPC); + esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl); + // + // ITS + // + esdTrackCuts->SetRequireITSRefit(kTRUE); + esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny); + // + // primary selection + // + esdTrackCuts->SetDCAToVertex2D(kFALSE); + esdTrackCuts->SetRequireSigmaToVertex(kFALSE); + esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC); + + // DCArphi parametrization (LHC10c pass2) + // 7*(0.0026+0.0050/pt^1.01) + esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01"); + + TString tag = "TPC+ITS combine tracking + DCAr(pt) (2010)"; + } + // TPC-tracks + SPD point + ITS refit + DCAr(pt) 4-sigma if (cutMode == 75) { @@ -1526,6 +1559,45 @@ AliESDtrackCuts* CreatedNdPtTrackCuts(Int_t cutMode=1, Bool_t fieldOn = kTRUE, B TString tag = "Adam Kisiel track selection"; } + // TPC+ITS refit + // for cut studies + if (cutMode == 151) + { + // + // TPC + // + esdTrackCuts->SetRequireTPCRefit(kTRUE); + esdTrackCuts->SetAcceptKinkDaughters(kFALSE); + // + // ITS + // + esdTrackCuts->SetRequireITSRefit(kTRUE); + esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny); + // + + TString tag = "TPC+ITS refit required - for cut studies"; + } + + // TPC+ITS + // for cut studies + if (cutMode == 152) + { + // + // TPC + // + esdTrackCuts->SetRequireTPCRefit(kTRUE); + esdTrackCuts->SetAcceptKinkDaughters(kFALSE); + // + // ITS + // + //esdTrackCuts->SetRequireITSRefit(kTRUE); + //esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny); + // + + TString tag = "TPC refit required - for cut studies"; + } + + -- 2.43.0