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