]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/macros/AddTaskPIDResponse.C
new version (M.Vala)
[u/mrichter/AliRoot.git] / ANALYSIS / macros / AddTaskPIDResponse.C
CommitLineData
50e027a6 1AliAnalysisTask *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}