]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/macros/AddTaskPIDResponse.C
Adding support for CINT7, CMSH7, CMUL7, CMUU7, CEMC7 triggers
[u/mrichter/AliRoot.git] / ANALYSIS / macros / AddTaskPIDResponse.C
1 AliAnalysisTask *AddTaskPIDResponse(Bool_t isMC=kFALSE, Bool_t autoMCesd=kTRUE)
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
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;
29   }
30
31   // standard with task
32   printf("========================================================================================\n");
33   printf("PIDResponse: Initialising AliAnalysisTaskPIDResponse\n");
34   printf("========================================================================================\n");
35   
36   if ( autoMCesd && (inputHandler->IsA() == AliESDInputHandler::Class()) ) {
37     isMC=mgr->GetMCtruthEventHandler()!=0x0;
38   }
39
40   AliAnalysisTaskPIDResponse *pidTask = new AliAnalysisTaskPIDResponse("PIDResponseTask");
41 //   pidTask->SelectCollisionCandidates(AliVEvent::kMB);
42   pidTask->SetIsMC(isMC);
43   mgr->AddTask(pidTask);
44   
45 //   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("PIDResponseQA",
46 //     TList::Class(), AliAnalysisManager::kOutputContainer,
47 //     "PIDResponseQA.root");
48   
49   mgr->ConnectInput(pidTask, 0, mgr->GetCommonInputContainer());
50 //   mgr->ConnectOutput(pidTask,1,coutput1);
51   
52   return pidTask;
53 }