]>
Commit | Line | Data |
---|---|---|
9310e980 | 1 | /* created by fbellini@cern.ch on 29/04/2013 */ |
2 | /* last modified by fbellini on 29/04/2013 */ | |
3 | ||
9310e980 | 4 | // UInt_t kTriggerMuonAll = AliVEvent::kMUL7 | AliVEvent::kMUSH7 | AliVEvent::kMUU7 | AliVEvent::kMUS7; |
5 | // UInt_t kTriggerMuonBarell = AliVEvent::kMUU7; | |
6 | // UInt_t kTriggerEMC = AliVEvent::kEMC7; | |
7 | // UInt_t kTriggerHM = AliVEvent::kHighMult; | |
e207c9de | 8 | UInt_t kTriggerInt = AliVEvent::kAnyINT; |
9310e980 | 9 | UInt_t kTriggerMask = kTriggerInt; |
10 | ||
e207c9de FB |
11 | AliAnalysisTaskSE * AddTaskTOFqaID(UInt_t triggerMask = kTriggerMask, |
12 | Bool_t flagEnableAdvancedCheck=kFALSE, | |
13 | Bool_t useStdCuts2011 = kTRUE, | |
14 | Bool_t isMC = kFALSE, | |
15 | Short_t absPdgCode = 0) | |
9310e980 | 16 | { |
17 | // Task for checking TOF QA | |
18 | ||
19 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
20 | if (!mgr) { | |
21 | ::Error("AddTask", "No analysis manager to connect to."); | |
22 | return NULL; | |
23 | } | |
24 | ||
25 | // Check the analysis type using the event handlers connected to the analysis manager. | |
26 | if (!mgr->GetInputEventHandler()) { | |
27 | ::Error("AddTask", "This task requires an input event handler"); | |
28 | return NULL; | |
29 | } | |
30 | TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD" | |
31 | ||
32 | if (isMC && (absPdgCode<0)) { | |
33 | ::Error("AddTask","Invalid selected PDG code for MC. Set absPdgCode=0 for no specie selection."); | |
34 | } | |
35 | ||
36 | // Create the task | |
37 | AliAnalysisTaskTOFqaID *task = new AliAnalysisTaskTOFqaID(Form("taskTOFqaID_%i",absPdgCode)); | |
38 | task->EnableAdvancedCheck(flagEnableAdvancedCheck); | |
39 | task->SetSelectMCspecies(isMC, absPdgCode); | |
40 | task->SelectCollisionCandidates(triggerMask); | |
b0471367 | 41 | //AliLog::SetClassDebugLevel("AliAnalysisTaskTOFqaID",4); |
9310e980 | 42 | mgr->AddTask(task); |
43 | ||
44 | /* cuts used for QA in 2010 p-p */ | |
45 | /* | |
46 | AliESDtrackCuts* esdTrackCutsLoose2010 = new AliESDtrackCuts("AliESDtrackCuts", "esdTrackCutsLoose2010"); | |
47 | esdTrackCutsLoose2010->SetMinNClustersTPC(70); | |
48 | esdTrackCutsLoose2010->SetMaxChi2PerClusterTPC(3.5); | |
49 | esdTrackCutsLoose2010->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2); | |
50 | esdTrackCutsLoose2010->SetRequireTPCRefit(kTRUE); | |
51 | esdTrackCutsLoose2010->SetMaxDCAToVertexXY(3.0); | |
52 | esdTrackCutsLoose2010->SetMaxDCAToVertexZ(3.0); | |
53 | esdTrackCutsLoose2010->SetRequireSigmaToVertex(kTRUE); | |
54 | esdTrackCutsLoose2010->SetAcceptKinkDaughters(kFALSE); | |
55 | esdTrackCutsLoose2010->SetMaxNsigmaToVertex(4.0); | |
56 | */ | |
e207c9de | 57 | |
9310e980 | 58 | /* standard cuts ITS-TPC 2010 */ |
59 | AliESDtrackCuts* esdTrackCutsStd2010 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2010"); | |
e207c9de | 60 | esdTrackCutsStd2010->GetStandardITSTPCTrackCuts2010(kTRUE,0); |
9310e980 | 61 | // TPC |
e207c9de FB |
62 | // esdTrackCutsStd2010->SetMinNClustersTPC(70); |
63 | // esdTrackCutsStd2010->SetMaxChi2PerClusterTPC(4); | |
64 | // esdTrackCutsStd2010->SetAcceptKinkDaughters(kFALSE); | |
65 | // esdTrackCutsStd2010->SetRequireTPCRefit(kTRUE); | |
66 | // // ITS | |
67 | // esdTrackCutsStd2010->SetRequireITSRefit(kTRUE); | |
68 | // esdTrackCutsStd2010->SetClusterRequirementITS(AliESDtrackCuts::kSPD, | |
69 | // AliESDtrackCuts::kAny); | |
70 | // esdTrackCutsStd2010->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries | |
71 | // esdTrackCutsStd2010->SetMaxDCAToVertexZ(2); | |
72 | // esdTrackCutsStd2010->SetDCAToVertex2D(kFALSE); | |
73 | // esdTrackCutsStd2010->SetRequireSigmaToVertex(kFALSE); | |
9310e980 | 74 | |
e207c9de FB |
75 | |
76 | /* standard cuts ITS-TPC 2011 */ | |
77 | AliESDtrackCuts* esdTrackCutsStd2011 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2011"); | |
78 | esdTrackCutsStd2011->GetStandardITSTPCTrackCuts2011(kTRUE,0); | |
b0471367 | 79 | |
9310e980 | 80 | AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter"); |
e207c9de FB |
81 | if (useStdCuts2011) |
82 | trackFilter->AddCuts(esdTrackCutsStd2011); | |
83 | else | |
84 | trackFilter->AddCuts(esdTrackCutsStd2010); | |
9310e980 | 85 | task->SetTrackFilter(trackFilter); |
e207c9de | 86 | |
9310e980 | 87 | TString partName(task->GetSpeciesName(absPdgCode)); |
e207c9de | 88 | |
9310e980 | 89 | // Create containers for input/output |
90 | AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer); | |
91 | AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer(Form("base_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(), partName.Data())); | |
92 | AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer(Form("timeZero_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data())); | |
93 | AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer(Form("pid_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data())); | |
94 | AliAnalysisDataContainer *cTRDcheckTOFqa = mgr->CreateContainer(Form("trd_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data())); | |
95 | AliAnalysisDataContainer *cTriggerTOFqa = mgr->CreateContainer(Form("trigger_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data())); | |
96 | ||
97 | // Attach i/o | |
98 | mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer()); | |
99 | mgr->ConnectOutput(task, 1, cGeneralTOFqa); | |
100 | mgr->ConnectOutput(task, 2, cTimeZeroTOFqa); | |
101 | mgr->ConnectOutput(task, 3, cPIDTOFqa); | |
102 | mgr->ConnectOutput(task, 4, cTRDcheckTOFqa); | |
103 | mgr->ConnectOutput(task, 5, cTriggerTOFqa); | |
104 | return task; | |
105 | } |