1 AliAnalysisTask *AddTaskPIDResponse(Bool_t isMC=kFALSE, Bool_t autoMCesd=kTRUE,
2 Bool_t tuneOnData=kFALSE, Int_t recoPass=2,
3 Bool_t cachePID=kFALSE, TString detResponse="")
5 // Macro to connect a centrality selection task to an existing analysis manager.
6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 ::Error("AddTaskPIDResponse", "No analysis manager to connect to.");
12 AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
14 //case of multi input event handler (needed for mixing)
15 if (inputHandler->IsA() == AliMultiInputEventHandler::Class()) {
16 printf("========================================================================================\n");
17 printf("PIDResponse: AliMultiInputEventHandler detected, initialising AliPIDResponseInputHandler\n");
18 printf("========================================================================================\n");
19 AliMultiInputEventHandler *multiInputHandler=(AliMultiInputEventHandler*)inputHandler;
21 AliPIDResponseInputHandler *pidResponseIH = new AliPIDResponseInputHandler();
22 multiInputHandler->AddInputEventHandler(pidResponseIH);
25 multiInputHandler->GetFirstInputEventHandler()->IsA()==AliESDInputHandler::Class() &&
26 multiInputHandler->GetFirstMCEventHandler()
28 pidResponseIH->SetIsMC(isMC);
34 printf("========================================================================================\n");
35 printf("PIDResponse: Initialising AliAnalysisTaskPIDResponse\n");
36 printf("========================================================================================\n");
38 if ( autoMCesd && (inputHandler->IsA() == AliESDInputHandler::Class()) ) {
39 isMC=mgr->GetMCtruthEventHandler()!=0x0;
42 AliAnalysisTaskPIDResponse *pidTask = new AliAnalysisTaskPIDResponse("PIDResponseTask");
43 // pidTask->SelectCollisionCandidates(AliVEvent::kMB);
44 pidTask->SetIsMC(isMC);
45 if(isMC&&tuneOnData) pidTask->SetTuneOnData(kTRUE,recoPass);
46 pidTask->SetCachePID(cachePID);
47 pidTask->SetSpecialDetectorResponse(detResponse);
48 mgr->AddTask(pidTask);
50 // AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("PIDResponseQA",
51 // TList::Class(), AliAnalysisManager::kOutputContainer,
52 // "PIDResponseQA.root");
54 mgr->ConnectInput(pidTask, 0, mgr->GetCommonInputContainer());
55 // mgr->ConnectOutput(pidTask,1,coutput1);