]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/CalibMacros/CPass1/AddTaskSDDCalib.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / CalibMacros / CPass1 / AddTaskSDDCalib.C
1 AliAnalysisTaskITSAlignQA *AddTaskSDDCalib(Int_t nrun=0, Bool_t writeITSTP=kFALSE, Bool_t useTPCcrv=kFALSE) 
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.);
35   taskali->SetUseTPCMomentum(useTPCcrv);
36   //
37   taskali->SetDoFillTPTree(writeITSTP);
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);
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
58   return taskali;
59 }