]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TOF/AddTaskTOFQA.C
d38a85975e0e4201ee3174cccae640b165df8070
[u/mrichter/AliRoot.git] / PWG1 / TOF / AddTaskTOFQA.C
1 /*  created by fbellini@cern.ch on 14/09/2010 */
2 /*  last modified by fbellini   on 14/09/2010 */
3
4 #include "AliAnalysisTaskTOFqa.h"
5 AliAnalysisTaskSE * AddTaskTOFQA() 
6 {
7   // Task for checking TOF QA
8  
9   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10   if (!mgr) {
11     ::Error("AddTask", "No analysis manager to connect to.");
12     return NULL;
13   }   
14
15   // Check the analysis type using the event handlers connected to the analysis manager.
16   //==============================================================================
17   if (!mgr->GetInputEventHandler()) {
18     ::Error("AddTas", "This task requires an input event handler");
19     return NULL;
20   }
21   TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
22     
23     // Configure analysis
24     //===========================================================================
25   // Create the task
26   AliAnalysisTaskTOFqa *task = new AliAnalysisTaskTOFqa("taskTOFqa");
27   //AliLog::SetClassDebugLevel("AliAnalysisTaskTOFqa",1);
28   mgr->AddTask(task);
29
30   //--------------- set the filtering ------------
31   // Barrel Tracks
32   AliESDtrackCuts* esdTrackCutsL = new AliESDtrackCuts("AliESDtrackCuts", "Standard");
33   esdTrackCutsL->SetMinNClustersTPC(50); // ok 50
34   esdTrackCutsL->SetMaxChi2PerClusterTPC(3.5); // ok 3.5
35   esdTrackCutsL->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2);//ok
36   esdTrackCutsL->SetRequireTPCRefit(kTRUE);//ok (?)
37   esdTrackCutsL->SetMaxDCAToVertexXY(3.0); // ok
38   esdTrackCutsL->SetMaxDCAToVertexZ(3.0); // ok
39   esdTrackCutsL->SetRequireSigmaToVertex(kTRUE); //ok ?
40   esdTrackCutsL->SetAcceptKinkDaughters(kFALSE); // ok
41   esdTrackCutsL->SetMaxNsigmaToVertex(4.0);
42   AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
43   trackFilter->AddCuts(esdTrackCutsL);
44   task->SetTrackFilter(trackFilter);
45    
46   
47   // Create containers for input/output
48   AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer);
49   AliAnalysisDataContainer *cOutGeneralTOFqa = mgr->CreateContainer("cOutGeneralTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
50    AliAnalysisDataContainer *cOutExpertsTOFqa = mgr->CreateContainer("cOutExpertsTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
51   // Attach i/o
52   mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer());
53   mgr->ConnectOutput(task, 1, cOutGeneralTOFqa);
54   mgr->ConnectOutput(task, 2, cOutExpertsTOFqa);
55   
56   return task;
57 }