]>
Commit | Line | Data |
---|---|---|
50e027a6 | 1 | AliAnalysisTask *AddTaskPIDResponse(Bool_t isMC=kFALSE, Bool_t autoMCesd=kTRUE) |
66ab8ab2 | 2 | { |
3 | // Macro to connect a centrality selection task to an existing analysis manager. | |
4 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
5 | if (!mgr) { | |
6 | ::Error("AddTaskPIDResponse", "No analysis manager to connect to."); | |
7 | return 0x0; | |
8 | } | |
9 | ||
6a45d03f | 10 | AliVEventHandler *inputHandler=mgr->GetInputEventHandler(); |
11 | ||
12 | //case of multi input event handler (needed for mixing) | |
13 | if (inputHandler->IsA() == AliMultiInputEventHandler::Class()) { | |
14 | printf("========================================================================================\n"); | |
15 | printf("PIDResponse: AliMultiInputEventHandler detected, initialising AliPIDResponseInputHandler\n"); | |
16 | printf("========================================================================================\n"); | |
17 | AliMultiInputEventHandler *multiInputHandler=(AliMultiInputEventHandler*)inputHandler; | |
18 | ||
19 | AliPIDResponseInputHandler *pidResponseIH = new AliPIDResponseInputHandler(); | |
20 | multiInputHandler->AddInputEventHandler(pidResponseIH); | |
21 | ||
22 | if (autoMCesd && | |
23 | multiInputHandler->GetFirstInputEventHandler()->IsA()==AliESDInputHandler::Class() && | |
24 | multiInputHandler->GetFirstMCEventHandler() | |
25 | ) isMC=kTRUE; | |
26 | pidResponseIH->SetIsMC(isMC); | |
27 | ||
28 | return 0x0; | |
66ab8ab2 | 29 | } |
6a45d03f | 30 | |
31 | // standard with task | |
32 | printf("========================================================================================\n"); | |
33 | printf("PIDResponse: Initialising AliAnalysisTaskPIDResponse\n"); | |
34 | printf("========================================================================================\n"); | |
66ab8ab2 | 35 | |
6a45d03f | 36 | if ( autoMCesd && (inputHandler->IsA() == AliESDInputHandler::Class()) ) { |
37 | isMC=mgr->GetMCtruthEventHandler()!=0x0; | |
38 | } | |
39 | ||
66ab8ab2 | 40 | AliAnalysisTaskPIDResponse *pidTask = new AliAnalysisTaskPIDResponse("PIDResponseTask"); |
41 | // pidTask->SelectCollisionCandidates(AliVEvent::kMB); | |
42 | pidTask->SetIsMC(isMC); | |
43 | mgr->AddTask(pidTask); | |
44 | ||
6a45d03f | 45 | // AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("PIDResponseQA", |
46 | // TList::Class(), AliAnalysisManager::kOutputContainer, | |
47 | // "PIDResponseQA.root"); | |
66ab8ab2 | 48 | |
49 | mgr->ConnectInput(pidTask, 0, mgr->GetCommonInputContainer()); | |
6a45d03f | 50 | // mgr->ConnectOutput(pidTask,1,coutput1); |
66ab8ab2 | 51 | |
52 | return pidTask; | |
53 | } |