]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/TOF/AddTaskTOFQA.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / TOF / AddTaskTOFQA.C
CommitLineData
aac12889 1/* created by fbellini@cern.ch on 14/09/2010 */
4170635c 2/* last modified by fbellini on 11/11/2011 */
aac12889 3
cf7778cf 4AliAnalysisTaskSE * AddTaskTOFQA(Bool_t flagEnableAdvancedCheck=kFALSE,
5 UInt_t triggerMask = AliVEvent::kAnyINT,
6 Int_t trackCutSetTOFqa = 0,
7 TString cutName = "")
aac12889 8{
9 // Task for checking TOF QA
10
11 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12 if (!mgr) {
13 ::Error("AddTask", "No analysis manager to connect to.");
14 return NULL;
15 }
16
17 // Check the analysis type using the event handlers connected to the analysis manager.
aac12889 18 if (!mgr->GetInputEventHandler()) {
e866f574 19 ::Error("AddTask", "This task requires an input event handler");
aac12889 20 return NULL;
21 }
22 TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
4170635c 23
aac12889 24 // Create the task
25 AliAnalysisTaskTOFqa *task = new AliAnalysisTaskTOFqa("taskTOFqa");
4170635c 26 task->EnableAdvancedCheck(flagEnableAdvancedCheck);
cf7778cf 27 task->SelectCollisionCandidates(triggerMask);
aac12889 28 //AliLog::SetClassDebugLevel("AliAnalysisTaskTOFqa",1);
29 mgr->AddTask(task);
30
e866f574 31 /* cuts used for QA in 2010 p-p */
cf7778cf 32 //Define track cut set
33 AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "TrackCutsTOFqa");
aac12889 34 AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
cf7778cf 35
36 if ( (trackCutSetTOFqa<0) || (trackCutSetTOFqa>=AliAnalysisTaskTOFqaID::kNCutSetTOFqa) ) trackCutSetTOFqa = 0;
37
38 if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kRun1Cuts ) {
39 //use track cuts used for QA during run1 (before July 2014)
40 esdTrackCuts->SetMinNClustersTPC(70);
41 esdTrackCuts->SetMaxChi2PerClusterTPC(4);
42 esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
43 esdTrackCuts->SetRequireTPCRefit(kTRUE);
44 esdTrackCuts->SetRequireITSRefit(kTRUE);
45 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
46 AliESDtrackCuts::kAny);
47 esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
48 esdTrackCuts->SetMaxDCAToVertexZ(2);
49 esdTrackCuts->SetDCAToVertex2D(kFALSE);
50 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
51 } else {
52 if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010 ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,0);
53 if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,1);
54 if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,0);
55 if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,1);
56 }
57
58 trackFilter->AddCuts(esdTrackCuts);
59 task->SetTrackFilter(trackFilter);
aac12889 60
61 // Create containers for input/output
62 AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer);
cf7778cf 63 AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer(Form("cGeneralTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
64 AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer(Form("cTimeZeroTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
65 AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer(Form("cPIDTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
66 AliAnalysisDataContainer *cPosTracksTOFqa = mgr->CreateContainer(Form("cPosTracksTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
67 AliAnalysisDataContainer *cNegTracksTOFqa = mgr->CreateContainer(Form("cNegTracksTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
4170635c 68
aac12889 69 // Attach i/o
70 mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer());
e866f574 71 mgr->ConnectOutput(task, 1, cGeneralTOFqa);
72 mgr->ConnectOutput(task, 2, cTimeZeroTOFqa);
73 mgr->ConnectOutput(task, 3, cPIDTOFqa);
4170635c 74 mgr->ConnectOutput(task, 4, cPosTracksTOFqa);
75 mgr->ConnectOutput(task, 5, cNegTracksTOFqa);
aac12889 76 return task;
77}