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="",
4 Bool_t useTPCEtaCorrection = kFALSE)
6 // Macro to connect a centrality selection task to an existing analysis manager.
7 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
9 ::Error("AddTaskPIDResponse", "No analysis manager to connect to.");
13 AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
15 //case of multi input event handler (needed for mixing)
16 if (inputHandler->IsA() == AliMultiInputEventHandler::Class()) {
17 printf("========================================================================================\n");
18 printf("PIDResponse: AliMultiInputEventHandler detected, initialising AliPIDResponseInputHandler\n");
19 printf("========================================================================================\n");
20 AliMultiInputEventHandler *multiInputHandler=(AliMultiInputEventHandler*)inputHandler;
22 AliPIDResponseInputHandler *pidResponseIH = new AliPIDResponseInputHandler();
23 multiInputHandler->AddInputEventHandler(pidResponseIH);
26 multiInputHandler->GetFirstInputEventHandler()->IsA()==AliESDInputHandler::Class() &&
27 multiInputHandler->GetFirstMCEventHandler()
29 pidResponseIH->SetIsMC(isMC);
35 printf("========================================================================================\n");
36 printf("PIDResponse: Initialising AliAnalysisTaskPIDResponse\n");
37 printf("========================================================================================\n");
39 if ( autoMCesd && (inputHandler->IsA() == AliESDInputHandler::Class()) ) {
40 isMC=mgr->GetMCtruthEventHandler()!=0x0;
43 AliAnalysisTaskPIDResponse *pidTask = new AliAnalysisTaskPIDResponse("PIDResponseTask");
44 // pidTask->SelectCollisionCandidates(AliVEvent::kMB);
45 pidTask->SetIsMC(isMC);
46 if(isMC&&tuneOnData) pidTask->SetTuneOnData(kTRUE,recoPass);
47 pidTask->SetCachePID(cachePID);
48 pidTask->SetSpecialDetectorResponse(detResponse);
49 pidTask->SetUseTPCEtaCorrection(useTPCEtaCorrection);
50 mgr->AddTask(pidTask);
52 // AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("PIDResponseQA",
53 // TList::Class(), AliAnalysisManager::kOutputContainer,
54 // "PIDResponseQA.root");
56 mgr->ConnectInput(pidTask, 0, mgr->GetCommonInputContainer());
57 // mgr->ConnectOutput(pidTask,1,coutput1);