1 AliESDtrackCuts *CreateCuts(Int_t iCut = 0); // create the standard cuts
\r
2 AliAnalysisTaskESDfilter *AddTaskESDfilter(bool bUseKineFilter = true)
\r
4 // Creates a jet fider task, configures it and adds it to the analysis manager.
\r
6 // Get the pointer to the existing analysis manager via the static access method.
\r
7 //==============================================================================
\r
8 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
\r
10 ::Error("AddTaskESDFilter", "No analysis manager to connect to.");
\r
14 // Check the analysis type using the event handlers connected to the analysis manager.
\r
15 //==============================================================================
\r
16 if (!mgr->GetInputEventHandler()) {
\r
17 ::Error("AddTaskESDFilter", "This task requires an input event handler");
\r
21 // Check if MC handler is connected in case kine filter requested
\r
22 AliMCEventHandler *mcH = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
\r
23 if (!mcH && bUseKineFilter) {
\r
24 ::Error("AddTaskESDFilter", "No MC handler connected while kine filtering requested");
\r
29 // Create the task and configure it.
\r
30 //===========================================================================
\r
32 // this task is also needed to set the MCEventHandler
\r
33 // to the AODHandler, this will not be needed when
\r
34 // AODHandler goes to ANALYSISalice
\r
35 AliAnalysisTaskMCParticleFilter *kinefilter = 0;
\r
36 if (bUseKineFilter) {
\r
37 kinefilter = new AliAnalysisTaskMCParticleFilter("Particle Kine Filter");
\r
38 mgr->AddTask(kinefilter);
\r
42 AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
\r
43 trackFilter->AddCuts(CreateCuts(0));
\r
45 AliAnalysisTaskESDfilter *esdfilter = new AliAnalysisTaskESDfilter("ESD Filter");
\r
46 esdfilter->SetTrackFilter(trackFilter);
\r
47 mgr->AddTask(esdfilter);
\r
49 // Create ONLY the output containers for the data produced by the task.
\r
50 // Get and connect other common input/output containers via the manager as below
\r
51 //==============================================================================
\r
52 mgr->ConnectInput (esdfilter, 0, mgr->GetCommonInputContainer());
\r
53 mgr->ConnectOutput (esdfilter, 0, mgr->GetCommonOutputContainer());
\r
55 if (bUseKineFilter) {
\r
56 mgr->ConnectInput (kinefilter, 0, mgr->GetCommonInputContainer());
\r
57 mgr->ConnectOutput (kinefilter, 0, mgr->GetCommonOutputContainer());
\r
64 AliAnalysisTaskESDfilter *AddTaskESDfilter(AliAnalysisManager* mgr,AliAnalysisDataContainer *cinput, AliAnalysisDataContainer *cout_aod)
\r
66 // This is only for running on PROOF with the old root version 5-22-00
\r
67 // and the older version of the AF
\r
69 // Get the pointer to the existing analysis manager via the static access method.
\r
70 //==============================================================================
\r
71 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
\r
73 ::Error("AddTaskESDFilter", "No analysis manager to connect to.");
\r
77 // Check the analysis type using the event handlers connected to the analysis manager.
\r
78 //==============================================================================
\r
79 if (!mgr->GetInputEventHandler()) {
\r
80 ::Error("AddTaskESDFilter", "This task requires an input event handler");
\r
84 // Create the task and configure it.
\r
85 //===========================================================================
\r
86 AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
\r
87 trackFilter->AddCuts(CreateCuts(0));
\r
89 // ESD filter task putting standard info to output AOD (with cuts)
\r
90 AliAnalysisTaskESDfilter *esdfilter = new AliAnalysisTaskESDfilter("ESD Filter");
\r
91 esdfilter->SetTrackFilter(trackFilter);
\r
92 mgr->AddTask(esdfilter);
\r
94 // Connect to data containers
\r
95 mgr->ConnectInput (esdfilter, 0, cinput );
\r
96 mgr->ConnectOutput (esdfilter, 0, cout_aod );
\r
102 AliESDtrackCuts *CreateCuts(Int_t iCut){
\r
103 AliESDtrackCuts* esdTrackCuts = 0;
\r
105 esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "Loose");
\r
106 esdTrackCuts->SetMinNClustersTPC(50);
\r
107 esdTrackCuts->SetMaxChi2PerClusterTPC(3.5);
\r
108 esdTrackCuts->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
\r
109 esdTrackCuts->SetRequireTPCRefit(kTRUE);
\r
110 esdTrackCuts->SetMaxNsigmaToVertex(3);
\r
111 esdTrackCuts->SetRequireSigmaToVertex(kTRUE);
\r
112 esdTrackCuts->SetAcceptKingDaughters(kFALSE);
\r
115 return esdTrackCuts;
\r