]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/CalibMacros/CPass1/AddTOFAnalysisTaskCalibTree.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / CalibMacros / CPass1 / AddTOFAnalysisTaskCalibTree.C
CommitLineData
b5d9a24d 1AliTOFAnalysisTaskCalibTree *AddTOFAnalysisTaskCalibTree() {
2
3 /* check analysis manager */
4 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 if (!mgr) {
6 Error("AddAnalysisTaskEventTime", "cannot get analysis manager");
7 return NULL;
8 }
9
10 /* check input event handler */
11 if (!mgr->GetInputEventHandler()) {
12 Error("AddAnalysisTaskEventTime", "cannot get input event handler");
13 return NULL;
14 }
15
16 /* check input data type */
17 TString str = mgr->GetInputEventHandler()->GetDataType();
18 if (str.CompareTo("ESD")) {
19 Error("AddAnalysisTaskEventTime", "input data type is not \"ESD\"");
20 return NULL;
21 }
22
23 /* get common input data container */
24 AliAnalysisDataContainer *inputc = mgr->GetCommonInputContainer();
25 if (!inputc) {
26 Error("AddAnalysisTaskEventTime", "cannot get common input container");
27 return NULL;
28 }
29
30 /* create output data container */
31 // setup output event handler
32 AliAnalysisDataContainer *coutput = mgr->CreateContainer(Form("aodTree"), TTree::Class(), AliAnalysisManager::kOutputContainer, "TOFcalibTree.root"); // tree
33 if (!coutput) {
34 Error("AddTOFAnalysisTaskCalibTree", "cannot create output container");
35 return NULL;
36 }
37
38 /* create task and connect input/output */
39 AliTOFAnalysisTaskCalibTree *task = new AliTOFAnalysisTaskCalibTree();
40 Printf("After initializing the TOF task: task = %p", task);
41 // adding the task
42 mgr->AddTask(task);
43
44 mgr->ConnectInput(task, 0, inputc);
45 mgr->ConnectOutput(task, 1, coutput);
46
47 // setup task
48 task->SetEventSelectionFlag(kFALSE);
49 task->SetVertexSelectionFlag(kTRUE);
50 task->SetVertexCut(50.0);
51 task->SetDiscardPileupEventFlag(kFALSE);
52 task->SetPrimaryDCASelectionFlag(kFALSE);
53 task->SetCalibrateTOFsignal(kTRUE);
54 task->SetComputeT0TOF(kTRUE);
55 task->SetUseT0TOF(kFALSE);
56 task->SetUseLHCClockPhase(kFALSE);
57 // task->SetSpecificStorageParOffline("alien://?folder=/alice/cern.ch/user/r/rpreghen/OCDB");
58 // task->SetSpecificStorageRunParams("alien://?folder=/alice/cern.ch/user/r/rpreghen/OCDB");
59
60 // setup event cuts
61 task->GetEventCuts()->SetAnalyzeMC(kFALSE);
62
63 // setup TOF calib
64 task->GetTOFcalib()->SetRemoveMeanT0(kFALSE);
65 task->GetTOFcalib()->SetCalibrateTOFsignal(kTRUE);
66 task->GetTOFcalib()->SetCorrectTExp(kFALSE);
67
68 //setup resolution
69 Double_t timeReso = 100.;
70
71 // setup TOF response
72 //task->GetESDpid()->GetTOFResponse().SetTimeResolution(timeReso);
73
74 // setup TOF-T0 maker
75 task->GetTOFT0maker()->SetTimeResolution(timeReso);
76
77 // setup track cuts
78 AliESDtrackCuts *trackCuts = task->GetTrackCuts();
79 trackCuts->SetPtRange(0.15, 10.);
80 trackCuts->SetEtaRange(-1.0, 1.0);
81 trackCuts->SetRequireITSRefit(kTRUE);
82 trackCuts->SetMinNClustersITS(1);
83 // trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
84 trackCuts->SetRequireTPCRefit(kTRUE);
85 trackCuts->SetMinNClustersTPC(70);
86 trackCuts->SetMaxChi2PerClusterTPC(4.);
87 trackCuts->SetAcceptKinkDaughters(kFALSE);
88 trackCuts->SetMaxDCAToVertexZ(3.2);
89 trackCuts->SetMaxDCAToVertexXY(2.4);
90 trackCuts->SetDCAToVertex2D(kTRUE);
91
92 /* return task */
93 return task;
94
95}