2 AliAnalysisTaskFastEmbedding* AddTaskFastEmbedding(){
4 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 ::Error("AddTaskCentralitySelection", "No analysis manager to connect ot.");
9 if(!mgr->GetInputEventHandler()){
10 ::Error("AddTaskCentralitySelection", "This task requires an input event handler.");
15 AliAnalysisTaskFastEmbedding *task = new AliAnalysisTaskFastEmbedding("FastEmbedding");
16 // ## set embedding mode ##
17 // kAODFull=0, kAODJetTracks, kAODJet4Mom, kToySingle4Mom
18 task->SetEmbedMode(AliAnalysisTaskFastEmbedding::kToyTracks);
20 // ## set ranges for toy ##
22 Double_t minPt = 20.; Double_t maxPt = 200.;
23 Double_t minEta = -0.5; Double_t maxEta = 0.5;
24 Double_t minPhi = 0.; Double_t maxPhi = 2*TMath::Pi();
25 //fToyDistributionTrackPt: 0 = uniform distribution
26 // else = exponential / power law (not implemented yet)
27 //task->SetToyNumberOfTrackRange(4,4);
28 //task->SetToyTrackRanges(0.15, 300., 5,-.9, .9, 0., 2*TMath::Pi());
29 task->SetToyTrackRanges(minPt,maxPt,0.,minEta,maxEta,minPhi,maxPhi);
30 task->SetToyFilterMap((1<<32)-1);
32 // ## set event selection for events of the addition AOD ##
33 // kEventsAll=0; kEventsJetPt
34 task->SetEvtSelecMode(AliAnalysisTaskFastEmbedding::kEventsJetPt);
36 // ## set jet pT range for event selection ##
37 // SetEvtSelJetPtRange(Float_t minPt, Float_t maxPt)
38 task->SetEvtSelJetPtRange(20.,-1.);
42 // ## create the output containers ##
43 AliAnalysisDataContainer *coutputFastEmbedding = mgr->CreateContainer(
44 "fastembedding", TList::Class(), AliAnalysisManager::kOutputContainer,
45 Form("%s:PWG4_FastEmbedding", AliAnalysisManager::GetCommonFileName()));
47 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
48 mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer());
49 mgr->ConnectOutput(task, 1, coutputFastEmbedding);
56 AliAnalysisTaskFastEmbedding* AddTaskFastEmbedding(TObjArray* aodarray){
58 AliAnalysisTaskFastEmbedding *task = AddTaskFastEmbedding();
60 task->SetArrayOfAODPaths(aodarray);
61 task->SetEmbedMode(AliAnalysisTaskFastEmbedding::kAODFull);
68 AliAnalysisTaskFastEmbedding* AddTaskFastEmbedding(const char* filepath, Int_t mode = 0){
70 AliAnalysisTaskFastEmbedding *task = AddTaskFastEmbedding();
73 if(mode==0){ // path to single AOD
74 task->SetAODPath(filepath);
76 if(mode==1){ // path to text file with list of paths of multiple AODs
77 Printf("Read aod paths from file %s", filepath);
78 TObjArray* array = new TObjArray();
85 if(line.Length() == 0) continue;
86 Printf("found aod path %s", line.Data());
87 ostr = new TObjString(line.Data());
90 Printf("-> %d aod paths found", array->GetEntries());
92 task->SetArrayOfAODPaths(array);
95 task->SetEmbedMode(AliAnalysisTaskFastEmbedding::kAODFull);