- new plots for PID-oriented QA have been added
[u/mrichter/AliRoot.git] / PWG1 / TOF / AddTaskTOFQA.C
1 /*  created by fbellini@cern.ch on 14/09/2010 */
2 /*  last modified by fbellini   on 08/03/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("AddTask", "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
33   /* cuts used for QA in 2010 p-p */
34   AliESDtrackCuts* esdTrackCutsLoose2010 = new AliESDtrackCuts("AliESDtrackCuts", "esdTrackCutsLoose2010");
35   esdTrackCutsL->SetMinNClustersTPC(70); 
36   esdTrackCutsL->SetMaxChi2PerClusterTPC(3.5); 
37   esdTrackCutsL->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2);
38   esdTrackCutsL->SetRequireTPCRefit(kTRUE);
39   esdTrackCutsL->SetMaxDCAToVertexXY(3.0); 
40   esdTrackCutsL->SetMaxDCAToVertexZ(3.0); 
41   esdTrackCutsL->SetRequireSigmaToVertex(kTRUE); 
42   esdTrackCutsL->SetAcceptKinkDaughters(kFALSE); 
43   esdTrackCutsL->SetMaxNsigmaToVertex(4.0);
44
45   /* standard cuts ITS-TPC 2010 */
46   AliESDtrackCuts* esdTrackCutsStd2010 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2010");
47   // TPC  
48   esdTrackCutsStd2010->SetMinNClustersTPC(70); 
49   esdTrackCutsStd2010->SetMaxChi2PerClusterTPC(4);
50   esdTrackCutsStd2010->SetAcceptKinkDaughters(kFALSE); 
51   esdTrackCutsStd2010->SetRequireTPCRefit(kTRUE);
52   // ITS
53   esdTrackCuts->SetRequireITSRefit(kTRUE);
54   esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
55                                          AliESDtrackCuts::kAny);
56   esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
57   esdTrackCutsStd2010->SetMaxDCAToVertexZ(2);
58   esdTrackCutsStd2010->SetDCAToVertex2D(kFALSE);
59   esdTrackCutsStd2010->SetRequireSigmaToVertex(kFALSE);
60
61   AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
62   trackFilter->AddCuts(esdTrackCutsStd2010);
63   task->SetTrackFilter(trackFilter);
64    
65   
66   // Create containers for input/output
67   AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer);
68   AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer("cGeneralTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
69   AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer("cTimeZeroTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
70    AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer("cPIDTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
71   // Attach i/o
72   mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer());
73   mgr->ConnectOutput(task, 1, cGeneralTOFqa);
74   mgr->ConnectOutput(task, 2, cTimeZeroTOFqa);
75   mgr->ConnectOutput(task, 3, cPIDTOFqa);
76   
77   return task;
78 }