]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/TOF/AddTaskTOFQA.C
Moving PWG1 to PWGPP
[u/mrichter/AliRoot.git] / PWGPP / TOF / AddTaskTOFQA.C
1 /*  created by fbellini@cern.ch on 14/09/2010 */
2 /*  last modified by fbellini   on 11/11/2011 */
3
4 AliAnalysisTaskSE * AddTaskTOFQA(Bool_t flagEnableAdvancedCheck=kFALSE) 
5 {
6   // Task for checking TOF QA
7  
8   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
9   if (!mgr) {
10     ::Error("AddTask", "No analysis manager to connect to.");
11     return NULL;
12   }   
13
14   // Check the analysis type using the event handlers connected to the analysis manager.
15   if (!mgr->GetInputEventHandler()) {
16     ::Error("AddTask", "This task requires an input event handler");
17     return NULL;
18   }
19   TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
20   
21   // Create the task
22   AliAnalysisTaskTOFqa *task = new AliAnalysisTaskTOFqa("taskTOFqa");
23   task->EnableAdvancedCheck(flagEnableAdvancedCheck);
24   //AliLog::SetClassDebugLevel("AliAnalysisTaskTOFqa",1);
25   mgr->AddTask(task);
26
27   /* cuts used for QA in 2010 p-p */
28   /*
29   AliESDtrackCuts* esdTrackCutsLoose2010 = new AliESDtrackCuts("AliESDtrackCuts", "esdTrackCutsLoose2010");
30   esdTrackCutsLoose2010->SetMinNClustersTPC(70); 
31   esdTrackCutsLoose2010->SetMaxChi2PerClusterTPC(3.5); 
32   esdTrackCutsLoose2010->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2);
33   esdTrackCutsLoose2010->SetRequireTPCRefit(kTRUE);
34   esdTrackCutsLoose2010->SetMaxDCAToVertexXY(3.0); 
35   esdTrackCutsLoose2010->SetMaxDCAToVertexZ(3.0); 
36   esdTrackCutsLoose2010->SetRequireSigmaToVertex(kTRUE); 
37   esdTrackCutsLoose2010->SetAcceptKinkDaughters(kFALSE); 
38   esdTrackCutsLoose2010->SetMaxNsigmaToVertex(4.0);
39   */
40   /* standard cuts ITS-TPC 2010 */
41   AliESDtrackCuts* esdTrackCutsStd2010 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2010");
42   // TPC  
43   esdTrackCutsStd2010->SetMinNClustersTPC(70); 
44   esdTrackCutsStd2010->SetMaxChi2PerClusterTPC(4);
45   esdTrackCutsStd2010->SetAcceptKinkDaughters(kFALSE); 
46   esdTrackCutsStd2010->SetRequireTPCRefit(kTRUE);
47   // ITS
48   esdTrackCutsStd2010->SetRequireITSRefit(kTRUE);
49   esdTrackCutsStd2010->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
50                                          AliESDtrackCuts::kAny);
51   esdTrackCutsStd2010->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
52   esdTrackCutsStd2010->SetMaxDCAToVertexZ(2);
53   esdTrackCutsStd2010->SetDCAToVertex2D(kFALSE);
54   esdTrackCutsStd2010->SetRequireSigmaToVertex(kFALSE);
55
56   AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
57   trackFilter->AddCuts(esdTrackCutsStd2010);
58   task->SetTrackFilter(trackFilter);
59    
60   
61   // Create containers for input/output
62   AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer);
63   AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer("cGeneralTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
64   AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer("cTimeZeroTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
65    AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer("cPIDTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
66    AliAnalysisDataContainer *cPosTracksTOFqa = mgr->CreateContainer("cPosTracksTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
67    AliAnalysisDataContainer *cNegTracksTOFqa = mgr->CreateContainer("cNegTracksTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
68
69   // Attach i/o
70   mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer());
71   mgr->ConnectOutput(task, 1, cGeneralTOFqa);
72   mgr->ConnectOutput(task, 2, cTimeZeroTOFqa);
73   mgr->ConnectOutput(task, 3, cPIDTOFqa);
74   mgr->ConnectOutput(task, 4, cPosTracksTOFqa);
75   mgr->ConnectOutput(task, 5, cNegTracksTOFqa);
76   return task;
77 }