]>
Commit | Line | Data |
---|---|---|
b438e263 | 1 | AliAnalysisTask *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 | } |