From b676e981d8c1c42875fda4dce60143608ea83c7a Mon Sep 17 00:00:00 2001 From: esicking Date: Wed, 26 May 2010 11:44:26 +0000 Subject: [PATCH] Split task for ITS tracks: 1. ITS tracks with TPC partner, 2. pure ITS standalone --- PWG1/AliAnalysisTaskQASym.cxx | 4 ++++ PWG1/AliAnalysisTaskQASym.h | 2 ++ PWG1/PilotTrain/AddTaskQAsym.C | 33 +++++++++++++++++++++++++++------ 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/PWG1/AliAnalysisTaskQASym.cxx b/PWG1/AliAnalysisTaskQASym.cxx index 5052e4e38cb..904e33f7107 100644 --- a/PWG1/AliAnalysisTaskQASym.cxx +++ b/PWG1/AliAnalysisTaskQASym.cxx @@ -39,6 +39,7 @@ ClassImp(AliAnalysisTaskQASym) AliAnalysisTaskQASym::AliAnalysisTaskQASym(const char *name) : AliAnalysisTaskSE(name) ,fTrackType(0) + ,fStandAlone(0) ,fFieldOn(kTRUE) ,fHists(0) ,fHistRECpt(0) @@ -1077,6 +1078,9 @@ void AliAnalysisTaskQASym::UserExec(Option_t *) phiIn = tpcP->Phi(); if (!tpcP) continue; if (!fCuts->AcceptTrack(tpcP)) continue; + if(fStandAlone==kTRUE) { + if(!(tpcP->GetStatus()&AliESDtrack::kITSpureSA))continue; + } } else if(fTrackType==2){ //Fill all histograms with TPC track information diff --git a/PWG1/AliAnalysisTaskQASym.h b/PWG1/AliAnalysisTaskQASym.h index 6fa4dcc3f11..92c4f7e59dd 100644 --- a/PWG1/AliAnalysisTaskQASym.h +++ b/PWG1/AliAnalysisTaskQASym.h @@ -26,6 +26,7 @@ class AliAnalysisTaskQASym : public AliAnalysisTaskSE { virtual void UserExec(Option_t *option); virtual void Terminate(Option_t *); virtual void SetTrackType(Int_t type) {fTrackType = type;} + virtual void SetStandAloneTrack(Bool_t standAlone = kFALSE) {fStandAlone = standAlone;} //needed for ITS tracks virtual void SetCuts(AliESDtrackCuts* cuts) @@ -37,6 +38,7 @@ class AliAnalysisTaskQASym : public AliAnalysisTaskSE { private: Int_t fTrackType; + Int_t fStandAlone; // needed for ITS tracks Bool_t fFieldOn; TList *fHists; // List of histos diff --git a/PWG1/PilotTrain/AddTaskQAsym.C b/PWG1/PilotTrain/AddTaskQAsym.C index 0732bc99f06..a6aa0a437a3 100644 --- a/PWG1/PilotTrain/AddTaskQAsym.C +++ b/PWG1/PilotTrain/AddTaskQAsym.C @@ -30,7 +30,13 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber) //Task for ITS tracks AliAnalysisTaskQASym *task1 = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_ITS"); task1->SetTrackType(1); + task1->SetStandAloneTrack(kFALSE); task1->SelectCollisionCandidates(); + //Task for ITS tracks SA + AliAnalysisTaskQASym *task1sa = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_ITS_SA"); + task1sa->SetTrackType(1); + task1sa->SetStandAloneTrack(kTRUE); + task1sa->SelectCollisionCandidates(); //Task for TPC tracks AliAnalysisTaskQASym *task2 = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_TPC"); task2->SetTrackType(2); @@ -43,13 +49,22 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber) esdTrackCutsL0->SetMaxDCAToVertexXY(3.); esdTrackCutsL0->SetMaxDCAToVertexZ(3.); esdTrackCutsL0->SetAcceptKinkDaughters(kFALSE); - + + //cuts for ITS tracks AliESDtrackCuts* esdTrackCutsL1 = new AliESDtrackCuts("AliESDtrackCuts1","ITS"); esdTrackCutsL1->SetMaxDCAToVertexXY(3.); esdTrackCutsL1->SetMaxDCAToVertexZ(3.); esdTrackCutsL1->SetAcceptKinkDaughters(kFALSE); esdTrackCutsL1->SetRequireITSRefit(kTRUE); - esdTrackCutsL1->SetRequireITSStandAlone(kTRUE); + esdTrackCutsL1->SetRequireITSStandAlone(kTRUE, kFALSE); + + //cuts for ITS tracks SA + AliESDtrackCuts* esdTrackCutsL1sa = new AliESDtrackCuts("AliESDtrackCuts1","ITS_SA"); + esdTrackCutsL1sa->SetMaxDCAToVertexXY(3.); + esdTrackCutsL1sa->SetMaxDCAToVertexZ(3.); + esdTrackCutsL1sa->SetAcceptKinkDaughters(kFALSE); + esdTrackCutsL1sa->SetRequireITSRefit(kTRUE); + // esdTrackCutsL1sa->SetRequireITSStandAlone(kTRUE, kTRUE); //cut on SA tracks in AliAnalysisTaskQASym //cuts for TPC tracks AliESDtrackCuts* esdTrackCutsL2 = new AliESDtrackCuts("AliESDtrackCuts2","TPC"); @@ -68,14 +83,17 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber) task0->SetCuts(esdTrackCutsL0); task1->SetCuts(esdTrackCutsL1); + task1sa->SetCuts(esdTrackCutsL1sa); task2->SetCuts(esdTrackCutsL2); mgr->AddTask(task0); mgr->AddTask(task1); + mgr->AddTask(task1sa); mgr->AddTask(task2); AliAnalysisDataContainer *cout0 = 0; AliAnalysisDataContainer *cout1 = 0; + AliAnalysisDataContainer *cout1sa = 0; AliAnalysisDataContainer *cout2 = 0; if(runNumber>0){ @@ -83,6 +101,8 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber) AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber)); cout1 = mgr->CreateContainer("QAsymHists_ITS",TList::Class(), AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber)); + cout1sa = mgr->CreateContainer("QAsymHists_ITS_SA",TList::Class(), + AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber)); cout2 = mgr->CreateContainer("QAsymHists_TPC",TList::Class(), AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber)); } @@ -94,6 +114,9 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber) cout1 = mgr->CreateContainer("QAsymHists_ITS",TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName())); + cout1sa = mgr->CreateContainer("QAsymHists_ITS_SA",TList::Class(), + AliAnalysisManager::kOutputContainer, + Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName())); cout2 = mgr->CreateContainer("QAsymHists_TPC",TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName())); @@ -102,14 +125,12 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber) mgr->ConnectInput (task0, 0, mgr->GetCommonInputContainer()); mgr->ConnectInput (task1, 0, mgr->GetCommonInputContainer()); + mgr->ConnectInput (task1sa, 0, mgr->GetCommonInputContainer()); mgr->ConnectInput (task2, 0, mgr->GetCommonInputContainer()); - // mgr->ConnectOutput (task0, 0, mgr->GetCommonOutputContainer()); - // mgr->ConnectOutput (task1, 0, mgr->GetCommonOutputContainer()); - // mgr->ConnectOutput (task2, 0, mgr->GetCommonOutputContainer()); - mgr->ConnectOutput (task0, 1, cout0); mgr->ConnectOutput (task1, 1, cout1); + mgr->ConnectOutput (task1sa, 1, cout1sa); mgr->ConnectOutput (task2, 1, cout2); return task0; -- 2.39.3