From 2a7c86bcc23bc91a07bc815b96c5b5b40ba34225 Mon Sep 17 00:00:00 2001 From: kleinb Date: Tue, 21 Jun 2011 09:00:51 +0000 Subject: [PATCH] updated settings for track cuts --- PWG4/macros/AddTaskESDFilterPWG4Train.C | 58 +++++++++++++++---------- PWG4/macros/AnalysisTrainPWG4Jets.C | 26 ++++++++--- 2 files changed, 54 insertions(+), 30 deletions(-) diff --git a/PWG4/macros/AddTaskESDFilterPWG4Train.C b/PWG4/macros/AddTaskESDFilterPWG4Train.C index 393fda8662d..692f5b1d221 100644 --- a/PWG4/macros/AddTaskESDFilterPWG4Train.C +++ b/PWG4/macros/AddTaskESDFilterPWG4Train.C @@ -1,4 +1,5 @@ + AliAnalysisTaskESDfilter *AddTaskESDFilter(Bool_t useKineFilter=kTRUE, Bool_t writeMuonAOD=kFALSE, Bool_t writeDimuonAOD=kFALSE, @@ -93,13 +94,23 @@ AliAnalysisTaskESDfilter *AddTaskESDFilter(Bool_t useKineFilter=kTRUE, // take the standard cuts, which include already // ITSrefit and use only primaries... - // loose DCA cuts - AliESDtrackCuts* esdTrackCutsH = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE); - esdTrackCutsH->SetMaxDCAToVertexXY(2.4); - esdTrackCutsH->SetMaxDCAToVertexZ(3.2); - esdTrackCutsH->SetDCAToVertex2D(kTRUE); - esdTrackCutsH->SetDCAToVertex2D(kTRUE); - esdTrackCutsH->SetPtRange(0.15,1E10); + // loose DCA cuts, tight + AliESDtrackCuts* esdTrackCutsH0 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE,1); + + esdTrackCutsH0->SetMinNCrossedRowsTPC(120); + esdTrackCutsH0->SetMinRatioCrossedRowsOverFindableClustersTPC(0.1);// essentially switsches it off + esdTrackCutsH0->SetMaxDCAToVertexXY(2.4); + esdTrackCutsH0->SetMaxDCAToVertexZ(3.2); + esdTrackCutsH0->SetDCAToVertex2D(kTRUE); + esdTrackCutsH0->SetMaxChi2PerClusterITS(32); + esdTrackCutsH0->SetPtRange(0.15,1E10); + // switch off ITS cluster requirment as well? + + // + AliESDtrackCuts* esdTrackCutsH1 = new AliESDtrackCuts(*esdTrackCutsH0); + esdTrackCutsH1->SetName("loose ITS fake cuts"); + esdTrackCutsH1->SetMaxChi2PerClusterITS(1E10); + // standard cuts with tight DCA cut AliESDtrackCuts* esdTrackCutsH2 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(); @@ -110,20 +121,12 @@ AliAnalysisTaskESDfilter *AddTaskESDFilter(Bool_t useKineFilter=kTRUE, AliESDtrackCuts* esdTrackCutsH3 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(); esdTrackCutsH3->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kNone); esdTrackCutsH3->SetClusterRequirementITS(AliESDtrackCuts::kSDD, AliESDtrackCuts::kFirst); - - - AliESDtrackCuts* esdTrackCutsH4 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE); - esdTrackCutsH4->SetMaxDCAToVertexXY(2.4); - esdTrackCutsH4->SetMaxDCAToVertexZ(3.2); - esdTrackCutsH4->SetDCAToVertex2D(kTRUE); - esdTrackCutsH4->SetDCAToVertex2D(kTRUE); - esdTrackCutsH4->SetPtRange(0.15,1E10); - esdTrackCutsH4->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kNone); - esdTrackCutsH4->SetClusterRequirementITS(AliESDtrackCuts::kSDD, AliESDtrackCuts::kFirst); // TPC only tracks AliESDtrackCuts* esdTrackCutsTPCOnly = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); - esdTrackCutsTPCOnly->SetMinNClustersTPC(70); + // esdTrackCutsTPCOnly->SetMinNClustersTPC(70); + esdTrackCutsTPCOnly->SetMinNCrossedRowsTPC(120); + esdTrackCutsTPCOnly->SetMinRatioCrossedRowsOverFindableClustersTPC(0.1);// essentially switches it off // Compose the filter AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter"); @@ -138,16 +141,25 @@ AliAnalysisTaskESDfilter *AddTaskESDFilter(Bool_t useKineFilter=kTRUE, trackFilter->AddCuts(electronID); electronID->SetFilterMask(4); // AND with Pixel Cuts // 16 1<<4 - trackFilter->AddCuts(esdTrackCutsH); + trackFilter->AddCuts(esdTrackCutsH0); // 32 1<<5 - trackFilter->AddCuts(esdTrackCutsH2); + trackFilter->AddCuts(esdTrackCutsH1); // 64 1<<6 - trackFilter->AddCuts(esdTrackCutsH3); + trackFilter->AddCuts(esdTrackCutsH2); // 128 1<<7 - trackFilter->AddCuts(esdTrackCutsH4); + trackFilter->AddCuts(esdTrackCutsH3); // 256 1<<8 trackFilter->AddCuts(esdTrackCutsTPCOnly); - esdfilter->SetTPCOnlyFilterMask(1<<8); + // 512 1<<9 + trackFilter->AddCuts(esdTrackCutsH0); // add once more for tpc only tracks + // 1024 1<<10 + trackFilter->AddCuts(esdTrackCutsH1); // add once more for tpc only tracks + + esdfilter->SetTPCOnlyFilterMask((1<<8)|(1<<9)); // these tracks are written out as TPC only + esdfilter->SetHybridFilterMaskITSTPC((1<<4)|(1<<5)); // these global tracks will be marked has hybrid + esdfilter->SetHybridFilterMasksTPC(1<<9,1<<10); // arg0, these tpc tracks will be marked as TPC hybrid, in addtion to thos that fail arg1 + + // Filter with cuts on V0s AliESDv0Cuts* esdV0Cuts = new AliESDv0Cuts("Standard V0 Cuts pp", "ESD V0 Cuts"); esdV0Cuts->SetMinRadius(0.2); diff --git a/PWG4/macros/AnalysisTrainPWG4Jets.C b/PWG4/macros/AnalysisTrainPWG4Jets.C index 7bb5011281f..25da527eb82 100644 --- a/PWG4/macros/AnalysisTrainPWG4Jets.C +++ b/PWG4/macros/AnalysisTrainPWG4Jets.C @@ -37,6 +37,7 @@ Int_t kSaveAOD = 8; // Bit switch 1 = Full AOD 2 = Jet AOD , 4 = Pa //== general input and output variables Int_t iAODanalysis = 1; // Analysis on input AOD's +Int_t iFilterAnalysis = 0; // Analysis on input AOD's Int_t iAODhandler = 1; // Analysis produces an AOD or dAOD's Int_t iCentralitySelection = 0; // Use the centrality Int_t iESDfilter = 0; // ESD to AOD filter (barrel + muon tracks) @@ -671,7 +672,6 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local", taskCl->SetEventSelection(kTRUE); // saves some computing time, not all vertices are processed taskCl->SetCentralityCut(fCenLo,fCenUp); if(kIsPbPb)taskCl->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data()); - taskCl->SetCentralityCut(fCenLo,fCenUp); // taskCl->SetDebugLevel(3); taskCl->SetNRandomCones(1); @@ -691,6 +691,24 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local", if(kIsPbPb)taskCl->SetBackgroundBranch(kDefaultJetBackgroundBranchCut1.Data()); kJetSubtractBranchesCut1 += Form("%s ",taskCl->GetJetOutputBranch()); kJetListSpectrum.Add(new TObjString(taskCl->GetJetOutputBranch())); + + if(iFilterAnalysis==2){ + if(kIsPbPb)taskCl->SetJetTriggerPtCut(50.); + else taskCl->SetJetTriggerPtCut(20.); + } + + // tmp track qa... + taskCl = AddTaskJetCluster("AOD","",1<<4|1<<8,iPhysicsSelectionFlag,"ANTIKT",0.4,2,1,kDeltaAODJetName.Data(),2.0); + taskCl->SetEventSelection(kTRUE); // saves some computing time, not all vertices are processed + taskCl->SetCentralityCut(fCenLo,fCenUp); + taskCl->SetFilterMask(1<<4|1<<8,1); + + + taskCl = AddTaskJetCluster("AOD","",1<<9|1<<8,iPhysicsSelectionFlag,"ANTIKT",0.4,2,1,kDeltaAODJetName.Data(),2.0); + taskCl->SetEventSelection(kTRUE); // saves some computing time, not all vertices are processed + taskCl->SetCentralityCut(fCenLo,fCenUp); + taskCl->SetFilterMask(1<<9|1<<8,2); + taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.2,0,1,kDeltaAODJetName.Data(),0.15); @@ -701,12 +719,6 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local", kJetSubtractBranches += Form("%s ",taskCl->GetJetOutputBranch()); kJetListSpectrum.Add(new TObjString(taskCl->GetJetOutputBranch())); - - if(kDeltaAODJetName.Length()==0&&kFilterAOD){ - if(kIsPbPb)taskCl->SetJetTriggerPtCut(0.0001); - else taskCl->SetJetTriggerPtCut(20.); - } - if(kUseAODMC){ if(kIsPbPb){ taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),0.15,fTrackEtaWindow); // this one is for the background and random jets -- 2.43.0