AliAnalysisTaskITSTPCalignment *AddTaskITSTPCalignment()
{
//add the ITS TPC alignemtn task to the manager
//Mikolaj Krzewicki, mikolaj.krzewicki@cern.ch
//______________________________________________________________________________
// Get the pointer to the existing analysis manager via the static access method.
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr)
{
::Error("AddTaskITSTPCalignment", "No analysis manager to connect to.");
return NULL;
}
//______________________________________________________________________________
// Check the analysis type using the event handlers connected to the analysis manager.
if (!mgr->GetInputEventHandler())
{
::Error("AddTaskITSTPCalignment", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
if (type!="ESD")
{
::Error("AddTaskITSTPCalignment", "This task only works on ESDs");
return NULL;
}
//___________________________________________________________________________
// Create the task, add it to manager and configure it.
AliAnalysisTaskITSTPCalignment *task = new AliAnalysisTaskITSTPCalignment("taskITSTPCalignment");
TTimeStamp t0(2009,11,1,0,0,0);
TTimeStamp tend(2012,12,31,0,0,0);
Int_t slotwidth = 3600;
task->SetupAlignerArray(t0.GetSec(),tend.GetSec(),slotwidth);
task->SetFillDebugTree(kFALSE);
task->SetDoQA(kTRUE);
task->SetMinPt(0.4);
task->SetMinNclsITS(4);
task->SetMinNclsTPC(70);
task->SetRejectOutliers(kTRUE); //internal KF outlier rejection (kalman update-based)
task->SetRejectOutliersSigma2Median(kTRUE); //input data outlier removal
task->SetOutRejSigma(1.); //max distance the kf state is allowed to jump
task->SetOutRejSigmaOnMerge(10.); //outlier rejection when merging vertically
task->SetOutRejSigma2Median(2.); //max distance from median for input data
task->SetUseITSoutGlobalTrack(kFALSE);
task->SetUseITSoutITSSAtrack(kTRUE);
mgr->AddTask(task);
//______________________________________________________________________________
//connect output
TString outputFilename = "outputITSTPCalignment.root";
AliAnalysisDataContainer* coutput0 = mgr->CreateContainer("outputTree",
TTree::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename.Data());
AliAnalysisDataContainer* coutput1 = mgr->CreateContainer("outputList",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename.Data());
AliAnalysisDataContainer* coutput2 = mgr->CreateContainer("outputArrayITSglobal",
AliRelAlignerKalmanArray::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename.Data());
AliAnalysisDataContainer* coutput3 = mgr->CreateContainer("outputArrayITSSA",
AliRelAlignerKalmanArray::Class(),
AliAnalysisManager::kOutputContainer,
outputFilename.Data());
mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
mgr->ConnectOutput(task,0,coutput0);
mgr->ConnectOutput(task,1,coutput1);
mgr->ConnectOutput(task,2,coutput2);
mgr->ConnectOutput(task,3,coutput3);
return task;
}
AddTaskITSTPCalignment.C:1 AddTaskITSTPCalignment.C:2 AddTaskITSTPCalignment.C:3 AddTaskITSTPCalignment.C:4 AddTaskITSTPCalignment.C:5 AddTaskITSTPCalignment.C:6 AddTaskITSTPCalignment.C:7 AddTaskITSTPCalignment.C:8 AddTaskITSTPCalignment.C:9 AddTaskITSTPCalignment.C:10 AddTaskITSTPCalignment.C:11 AddTaskITSTPCalignment.C:12 AddTaskITSTPCalignment.C:13 AddTaskITSTPCalignment.C:14 AddTaskITSTPCalignment.C:15 AddTaskITSTPCalignment.C:16 AddTaskITSTPCalignment.C:17 AddTaskITSTPCalignment.C:18 AddTaskITSTPCalignment.C:19 AddTaskITSTPCalignment.C:20 AddTaskITSTPCalignment.C:21 AddTaskITSTPCalignment.C:22 AddTaskITSTPCalignment.C:23 AddTaskITSTPCalignment.C:24 AddTaskITSTPCalignment.C:25 AddTaskITSTPCalignment.C:26 AddTaskITSTPCalignment.C:27 AddTaskITSTPCalignment.C:28 AddTaskITSTPCalignment.C:29 AddTaskITSTPCalignment.C:30 AddTaskITSTPCalignment.C:31 AddTaskITSTPCalignment.C:32 AddTaskITSTPCalignment.C:33 AddTaskITSTPCalignment.C:34 AddTaskITSTPCalignment.C:35 AddTaskITSTPCalignment.C:36 AddTaskITSTPCalignment.C:37 AddTaskITSTPCalignment.C:38 AddTaskITSTPCalignment.C:39 AddTaskITSTPCalignment.C:40 AddTaskITSTPCalignment.C:41 AddTaskITSTPCalignment.C:42 AddTaskITSTPCalignment.C:43 AddTaskITSTPCalignment.C:44 AddTaskITSTPCalignment.C:45 AddTaskITSTPCalignment.C:46 AddTaskITSTPCalignment.C:47 AddTaskITSTPCalignment.C:48 AddTaskITSTPCalignment.C:49 AddTaskITSTPCalignment.C:50 AddTaskITSTPCalignment.C:51 AddTaskITSTPCalignment.C:52 AddTaskITSTPCalignment.C:53 AddTaskITSTPCalignment.C:54 AddTaskITSTPCalignment.C:55 AddTaskITSTPCalignment.C:56 AddTaskITSTPCalignment.C:57 AddTaskITSTPCalignment.C:58 AddTaskITSTPCalignment.C:59 AddTaskITSTPCalignment.C:60 AddTaskITSTPCalignment.C:61 AddTaskITSTPCalignment.C:62 AddTaskITSTPCalignment.C:63 AddTaskITSTPCalignment.C:64 AddTaskITSTPCalignment.C:65 AddTaskITSTPCalignment.C:66 AddTaskITSTPCalignment.C:67 AddTaskITSTPCalignment.C:68 AddTaskITSTPCalignment.C:69 AddTaskITSTPCalignment.C:70 AddTaskITSTPCalignment.C:71 AddTaskITSTPCalignment.C:72 AddTaskITSTPCalignment.C:73 AddTaskITSTPCalignment.C:74 AddTaskITSTPCalignment.C:75 AddTaskITSTPCalignment.C:76 AddTaskITSTPCalignment.C:77 AddTaskITSTPCalignment.C:78 AddTaskITSTPCalignment.C:79 AddTaskITSTPCalignment.C:80 AddTaskITSTPCalignment.C:81