AliAnalysisTaskTOFSpectraPbPb *
AddAnalysisTaskTOFSpectraPbPb(Bool_t mcFlag = kFALSE, Bool_t mcTuneFlag = kFALSE, Bool_t pbpbFlag = kFALSE)
{
/* check analysis manager */
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
Error("AddAnalysisTaskTOFSpectraPbPb", "cannot get analysis manager");
return NULL;
}
/* check input event handler */
if (!mgr->GetInputEventHandler()) {
Error("AddAnalysisTaskTOFSpectraPbPb", "cannot get input event handler");
return NULL;
}
/* check input data type */
TString str = mgr->GetInputEventHandler()->GetDataType();
if (str.CompareTo("ESD")) {
Error("AddAnalysisTaskTOFSpectraPbPb", "input data type is not \"ESD\"");
return NULL;
}
/* check MC truth event handler */
if (mcFlag) {
if (!mgr->GetMCtruthEventHandler()) {
Error("AddAnalysisTaskTOFSpectraPbPb", "cannot get MC truth event handler");
return NULL;
}
}
/* get common input data container */
AliAnalysisDataContainer *inputc = mgr->GetCommonInputContainer();
if (!inputc) {
Error("AddAnalysisTaskTOFSpectraPbPb", "cannot get common input container");
return NULL;
}
/* setup output event handler */
AliAODHandler *outputh = (AliAODHandler *)mgr->GetOutputEventHandler();
outputh->SetCreateNonStandardAOD();
outputh->SetOutputFileName("TOFSpectraPbPb.root");
/* create task and connect input/output */
AliAnalysisTaskTOFSpectraPbPb *task = new AliAnalysisTaskTOFSpectraPbPb();
mgr->ConnectInput(task, 0, inputc);
/* setup task */
task->SetMCFlag(mcFlag);
task->SetMCTuneFlag(mcTuneFlag);
task->SetPbPbFlag(pbpbFlag);
task->SelectCollisionCandidates(AliVEvent::kAny);
task->SetVertexSelectionFlag(kTRUE);
task->SetVertexCut(15.0);
task->SetRapidityCut(1.0);
/* setup TOF calib */
task->GetTOFcalib()->SetRemoveMeanT0(!mcFlag);
task->GetTOFcalib()->SetCalibrateTOFsignal(!mcFlag);
task->GetTOFcalib()->SetCorrectTExp(kFALSE);
/* setup resolution */
Double_t timeReso = 85.;
if (mcFlag && !mcTuneFlag) timeReso = 80.;
task->SetTimeResolution(timeReso);
task->GetESDpid()->GetTOFResponse().SetTimeResolution(timeReso);
task->GetTOFT0maker()->SetTimeResolution(timeReso);
/* setup track cuts */
AliESDtrackCuts *trackCuts = new AliESDtrackCuts;
trackCuts->SetMaxChi2PerClusterTPC(4.5);
trackCuts->SetAcceptKinkDaughters(kFALSE);
trackCuts->SetRequireTPCRefit(kTRUE);
trackCuts->SetRequireITSRefit(kTRUE);
trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
AliESDtrackCuts::kAny);
trackCuts->SetMaxDCAToVertexZ(2);
trackCuts->SetDCAToVertex2D(kFALSE);
trackCuts->SetRequireSigmaToVertex(kFALSE);
trackCuts->SetMaxChi2PerClusterITS(36);
trackCuts->SetPtRange(0.15, 10.);
trackCuts->SetEtaRange(-0.9, 0.9);
task->SetTrackCuts(trackCuts);
/* return task */
return task;
}
AddAnalysisTaskTOFSpectraPbPb.C:1 AddAnalysisTaskTOFSpectraPbPb.C:2 AddAnalysisTaskTOFSpectraPbPb.C:3 AddAnalysisTaskTOFSpectraPbPb.C:4 AddAnalysisTaskTOFSpectraPbPb.C:5 AddAnalysisTaskTOFSpectraPbPb.C:6 AddAnalysisTaskTOFSpectraPbPb.C:7 AddAnalysisTaskTOFSpectraPbPb.C:8 AddAnalysisTaskTOFSpectraPbPb.C:9 AddAnalysisTaskTOFSpectraPbPb.C:10 AddAnalysisTaskTOFSpectraPbPb.C:11 AddAnalysisTaskTOFSpectraPbPb.C:12 AddAnalysisTaskTOFSpectraPbPb.C:13 AddAnalysisTaskTOFSpectraPbPb.C:14 AddAnalysisTaskTOFSpectraPbPb.C:15 AddAnalysisTaskTOFSpectraPbPb.C:16 AddAnalysisTaskTOFSpectraPbPb.C:17 AddAnalysisTaskTOFSpectraPbPb.C:18 AddAnalysisTaskTOFSpectraPbPb.C:19 AddAnalysisTaskTOFSpectraPbPb.C:20 AddAnalysisTaskTOFSpectraPbPb.C:21 AddAnalysisTaskTOFSpectraPbPb.C:22 AddAnalysisTaskTOFSpectraPbPb.C:23 AddAnalysisTaskTOFSpectraPbPb.C:24 AddAnalysisTaskTOFSpectraPbPb.C:25 AddAnalysisTaskTOFSpectraPbPb.C:26 AddAnalysisTaskTOFSpectraPbPb.C:27 AddAnalysisTaskTOFSpectraPbPb.C:28 AddAnalysisTaskTOFSpectraPbPb.C:29 AddAnalysisTaskTOFSpectraPbPb.C:30 AddAnalysisTaskTOFSpectraPbPb.C:31 AddAnalysisTaskTOFSpectraPbPb.C:32 AddAnalysisTaskTOFSpectraPbPb.C:33 AddAnalysisTaskTOFSpectraPbPb.C:34 AddAnalysisTaskTOFSpectraPbPb.C:35 AddAnalysisTaskTOFSpectraPbPb.C:36 AddAnalysisTaskTOFSpectraPbPb.C:37 AddAnalysisTaskTOFSpectraPbPb.C:38 AddAnalysisTaskTOFSpectraPbPb.C:39 AddAnalysisTaskTOFSpectraPbPb.C:40 AddAnalysisTaskTOFSpectraPbPb.C:41 AddAnalysisTaskTOFSpectraPbPb.C:42 AddAnalysisTaskTOFSpectraPbPb.C:43 AddAnalysisTaskTOFSpectraPbPb.C:44 AddAnalysisTaskTOFSpectraPbPb.C:45 AddAnalysisTaskTOFSpectraPbPb.C:46 AddAnalysisTaskTOFSpectraPbPb.C:47 AddAnalysisTaskTOFSpectraPbPb.C:48 AddAnalysisTaskTOFSpectraPbPb.C:49 AddAnalysisTaskTOFSpectraPbPb.C:50 AddAnalysisTaskTOFSpectraPbPb.C:51 AddAnalysisTaskTOFSpectraPbPb.C:52 AddAnalysisTaskTOFSpectraPbPb.C:53 AddAnalysisTaskTOFSpectraPbPb.C:54 AddAnalysisTaskTOFSpectraPbPb.C:55 AddAnalysisTaskTOFSpectraPbPb.C:56 AddAnalysisTaskTOFSpectraPbPb.C:57 AddAnalysisTaskTOFSpectraPbPb.C:58 AddAnalysisTaskTOFSpectraPbPb.C:59 AddAnalysisTaskTOFSpectraPbPb.C:60 AddAnalysisTaskTOFSpectraPbPb.C:61 AddAnalysisTaskTOFSpectraPbPb.C:62 AddAnalysisTaskTOFSpectraPbPb.C:63 AddAnalysisTaskTOFSpectraPbPb.C:64 AddAnalysisTaskTOFSpectraPbPb.C:65 AddAnalysisTaskTOFSpectraPbPb.C:66 AddAnalysisTaskTOFSpectraPbPb.C:67 AddAnalysisTaskTOFSpectraPbPb.C:68 AddAnalysisTaskTOFSpectraPbPb.C:69 AddAnalysisTaskTOFSpectraPbPb.C:70 AddAnalysisTaskTOFSpectraPbPb.C:71 AddAnalysisTaskTOFSpectraPbPb.C:72 AddAnalysisTaskTOFSpectraPbPb.C:73 AddAnalysisTaskTOFSpectraPbPb.C:74 AddAnalysisTaskTOFSpectraPbPb.C:75 AddAnalysisTaskTOFSpectraPbPb.C:76 AddAnalysisTaskTOFSpectraPbPb.C:77 AddAnalysisTaskTOFSpectraPbPb.C:78 AddAnalysisTaskTOFSpectraPbPb.C:79 AddAnalysisTaskTOFSpectraPbPb.C:80 AddAnalysisTaskTOFSpectraPbPb.C:81 AddAnalysisTaskTOFSpectraPbPb.C:82 AddAnalysisTaskTOFSpectraPbPb.C:83 AddAnalysisTaskTOFSpectraPbPb.C:84 AddAnalysisTaskTOFSpectraPbPb.C:85 AddAnalysisTaskTOFSpectraPbPb.C:86 AddAnalysisTaskTOFSpectraPbPb.C:87