]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/macros/AddTaskPIDResponse.C
.so cleanup: more gSystem->Load()
[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="",
22158469
JW
4 Bool_t useTPCEtaCorrection = kTRUE,/*Please use default value! Otherwise splines can be off*/
5 Bool_t useTPCMultiplicityCorrection = kTRUE,/*Please use default value! Otherwise splines can be off*/
6 Int_t recoDataPass = -1)
66ab8ab2 7{
8// Macro to connect a centrality selection task to an existing analysis manager.
9 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10 if (!mgr) {
11 ::Error("AddTaskPIDResponse", "No analysis manager to connect to.");
12 return 0x0;
13 }
14
6a45d03f 15 AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
16
17 //case of multi input event handler (needed for mixing)
18 if (inputHandler->IsA() == AliMultiInputEventHandler::Class()) {
19 printf("========================================================================================\n");
20 printf("PIDResponse: AliMultiInputEventHandler detected, initialising AliPIDResponseInputHandler\n");
21 printf("========================================================================================\n");
22 AliMultiInputEventHandler *multiInputHandler=(AliMultiInputEventHandler*)inputHandler;
23
24 AliPIDResponseInputHandler *pidResponseIH = new AliPIDResponseInputHandler();
25 multiInputHandler->AddInputEventHandler(pidResponseIH);
26
6a45d03f 27 pidResponseIH->SetIsMC(isMC);
28
29 return 0x0;
66ab8ab2 30 }
6a45d03f 31
32 // standard with task
33 printf("========================================================================================\n");
34 printf("PIDResponse: Initialising AliAnalysisTaskPIDResponse\n");
35 printf("========================================================================================\n");
66ab8ab2 36
37 AliAnalysisTaskPIDResponse *pidTask = new AliAnalysisTaskPIDResponse("PIDResponseTask");
38// pidTask->SelectCollisionCandidates(AliVEvent::kMB);
39 pidTask->SetIsMC(isMC);
630ac70c 40 if(isMC&&tuneOnData) {
41 pidTask->SetTuneOnData(kTRUE,recoPass);
42 // tuning on MC is by default active on TPC and TOF, to enable it only on one of them use:
43 // pidTask->SetTuneOnDataMask(AliPIDResponse::kDetTPC);
44 // pidTask->SetTuneOnDataMask(AliPIDResponse::kDetTOF);
45 }
b438e263 46 pidTask->SetCachePID(cachePID);
47 pidTask->SetSpecialDetectorResponse(detResponse);
f84b18dd 48 pidTask->SetUseTPCEtaCorrection(useTPCEtaCorrection);
87da0205 49 pidTask->SetUseTPCMultiplicityCorrection(useTPCMultiplicityCorrection);
2e8a05e1 50 pidTask->SetUserDataRecoPass(recoDataPass);
66ab8ab2 51 mgr->AddTask(pidTask);
52
6a45d03f 53// AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("PIDResponseQA",
54// TList::Class(), AliAnalysisManager::kOutputContainer,
55// "PIDResponseQA.root");
66ab8ab2 56
57 mgr->ConnectInput(pidTask, 0, mgr->GetCommonInputContainer());
6a45d03f 58// mgr->ConnectOutput(pidTask,1,coutput1);
66ab8ab2 59
60 return pidTask;
61}