]>
Commit | Line | Data |
---|---|---|
f28dbaea | 1 | AliAnalysisTaskITSAlignQA *AddTaskSDDCalib(Int_t nrun=0, Bool_t writeITSTP=kFALSE, Bool_t useTPCcrv=kFALSE) |
27eb9bff | 2 | { |
3 | ||
4 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
5 | if (!mgr) { | |
6 | ::Error("AddTaskITSAlign", "No analysis manager to connect to."); | |
7 | return NULL; | |
8 | } | |
9 | ||
10 | if (!mgr->GetInputEventHandler()) { | |
11 | ::Error("AddTaskITSAlign", "This task requires an input event handler"); | |
12 | return NULL; | |
13 | } | |
14 | ||
15 | TString type = mgr->GetInputEventHandler()->GetDataType(); | |
16 | if(type.Contains("AOD")){ | |
17 | ::Error("AddTaskITSAlign", "This task requires to run on ESD"); | |
18 | return NULL; | |
19 | } | |
20 | ||
21 | // Create and configure the task | |
22 | AliAnalysisTaskITSAlignQA *taskali = new AliAnalysisTaskITSAlignQA(); | |
23 | // taskali->SelectCollisionCandidates(); | |
24 | if (nrun>0) taskali->SetOCDBInfo(nrun,Form("raw://")) ; | |
25 | taskali->SetLoadGeometryFromOCDB(kFALSE); | |
26 | mgr->AddTask(taskali); | |
27 | // | |
28 | taskali->SetUseVertex(kTRUE); | |
29 | taskali->SetUseVertexForZOnly(kFALSE); | |
30 | taskali->SetDoSPDResiduals(kFALSE); | |
31 | taskali->SetDoSDDResiduals(kFALSE); | |
32 | taskali->SetDoSSDResiduals(kFALSE); | |
33 | taskali->SetDoSDDDriftTime(kFALSE); | |
34 | taskali->SetMinMaxMult(20.,1070.); | |
f28dbaea | 35 | taskali->SetUseTPCMomentum(useTPCcrv); |
27eb9bff | 36 | // |
f28dbaea | 37 | taskali->SetDoFillTPTree(writeITSTP); |
27eb9bff | 38 | // |
39 | TString outputFileName = AliAnalysisManager::GetCommonFileName(); | |
40 | ||
41 | AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistSDDCalib", | |
42 | TList::Class(), | |
43 | AliAnalysisManager::kOutputContainer, | |
44 | outputFileName ); | |
45 | ||
46 | mgr->ConnectInput(taskali, 0, mgr->GetCommonInputContainer()); | |
47 | mgr->ConnectOutput(taskali, 1, coutput1); | |
c607d68d | 48 | // |
49 | if (writeITSTP) { // if the TPtree to be written, create separate container | |
50 | AliAnalysisDataContainer *coutputTP = mgr->CreateContainer("ITSSumTP", | |
51 | TTree::Class(), | |
52 | AliAnalysisManager::kOutputContainer, | |
53 | "AODtpITS.root" ); | |
54 | mgr->ConnectOutput(taskali, 2, coutputTP); | |
55 | } | |
56 | // | |
57 | ||
27eb9bff | 58 | return taskali; |
59 | } |