]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/macros/AddTaskPIDResponse.C
Include the possibility to set the ZNA & ZNC time cuts through the TriggerAnalysis...
[u/mrichter/AliRoot.git] / ANALYSIS / macros / AddTaskPIDResponse.C
CommitLineData
b438e263 1AliAnalysisTask *AddTaskPIDResponse(Bool_t isMC=kFALSE, Bool_t autoMCesd=kTRUE,
2 Bool_t tuneOnData=kFALSE, Int_t recoPass=2,
f84b18dd 3 Bool_t cachePID=kFALSE, TString detResponse="",
4 Bool_t useTPCEtaCorrection = kFALSE)
66ab8ab2 5{
6// Macro to connect a centrality selection task to an existing analysis manager.
7 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 if (!mgr) {
9 ::Error("AddTaskPIDResponse", "No analysis manager to connect to.");
10 return 0x0;
11 }
12
6a45d03f 13 AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
14
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;
21
22 AliPIDResponseInputHandler *pidResponseIH = new AliPIDResponseInputHandler();
23 multiInputHandler->AddInputEventHandler(pidResponseIH);
24
25 if (autoMCesd &&
26 multiInputHandler->GetFirstInputEventHandler()->IsA()==AliESDInputHandler::Class() &&
27 multiInputHandler->GetFirstMCEventHandler()
28 ) isMC=kTRUE;
29 pidResponseIH->SetIsMC(isMC);
30
31 return 0x0;
66ab8ab2 32 }
6a45d03f 33
34 // standard with task
35 printf("========================================================================================\n");
36 printf("PIDResponse: Initialising AliAnalysisTaskPIDResponse\n");
37 printf("========================================================================================\n");
66ab8ab2 38
6a45d03f 39 if ( autoMCesd && (inputHandler->IsA() == AliESDInputHandler::Class()) ) {
40 isMC=mgr->GetMCtruthEventHandler()!=0x0;
41 }
42
66ab8ab2 43 AliAnalysisTaskPIDResponse *pidTask = new AliAnalysisTaskPIDResponse("PIDResponseTask");
44// pidTask->SelectCollisionCandidates(AliVEvent::kMB);
45 pidTask->SetIsMC(isMC);
1daf6aaa 46 if(isMC&&tuneOnData) pidTask->SetTuneOnData(kTRUE,recoPass);
b438e263 47 pidTask->SetCachePID(cachePID);
48 pidTask->SetSpecialDetectorResponse(detResponse);
f84b18dd 49 pidTask->SetUseTPCEtaCorrection(useTPCEtaCorrection);
66ab8ab2 50 mgr->AddTask(pidTask);
51
6a45d03f 52// AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("PIDResponseQA",
53// TList::Class(), AliAnalysisManager::kOutputContainer,
54// "PIDResponseQA.root");
66ab8ab2 55
56 mgr->ConnectInput(pidTask, 0, mgr->GetCommonInputContainer());
6a45d03f 57// mgr->ConnectOutput(pidTask,1,coutput1);
66ab8ab2 58
59 return pidTask;
60}