]>
Commit | Line | Data |
---|---|---|
75f8532d | 1 | AliAnalysisTaskLRC *AddTaskLRCtrain( |
2 | Bool_t RunKine = kFALSE | |
3 | , TString strPrefixTaskName = "testTask" | |
4 | , TString strRunMode = "default" | |
5 | , int nEtaWindows = 8 | |
6 | , int nPhiWindows = 8 | |
7 | , double etaWinWidth = 0.2 | |
8 | , double etaWindowStep = 0.1 | |
9 | , double phiWinWidth = TMath::Pi()/4 | |
10 | , int nEventPhiRotations = 8 | |
11 | , double ptMin = 0.3 | |
12 | , double ptMax = 1.5 | |
13 | , int multMin = 0 | |
14 | , int multMax = 1000 | |
15 | , double vertexZmax = 7.0 | |
16 | ) | |
17 | { | |
18 | gROOT->LoadMacro("configLRCAnalysis.C"); | |
19 | //gROOT->LoadMacro("AliAnalysisTaskIA.cxx+g"); | |
20 | ||
21 | // A. Get the pointer to the existing analysis manager via the static access method. | |
22 | //============================================================================== | |
23 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
24 | if (!mgr) { | |
25 | Error("AddTaskLRC", "No analysis manager to connect to."); | |
26 | return NULL; | |
27 | } | |
28 | ||
29 | // B. Check the analysis type using the event handlers connected to the analysis | |
30 | // manager. The availability of MC handler cann also be checked here. | |
31 | //============================================================================== | |
32 | if (!mgr->GetInputEventHandler()) { | |
33 | Error("AddTaskLRC", "This task requires an input event handler"); | |
34 | return NULL; | |
35 | } | |
36 | TString type = mgr->GetInputEventHandler()->GetDataType(); | |
37 | cout << " # TaskLRC - input :" << type << "\n"; | |
38 | ||
39 | // ########## Task LRC | |
40 | AliAnalysisTaskLRC* taskLRC = 0x0; | |
41 | taskLRC = createLRCtaskSkeleton("Task_LRC_" + strPrefixTaskName /*+ "_MB_Global2"*/,RunKine); | |
42 | //addAliLRCProcessors(taskLRC,windowsConfigId, nPhiSectors,gapAsPartOfPi);//, whichParticleToFill, whichPidCondition); | |
43 | ||
44 | tuneEtaPhiWindows( taskLRC | |
45 | , nEtaWindows | |
46 | , nPhiWindows | |
47 | , etaWinWidth | |
48 | , etaWindowStep | |
49 | , 0 | |
50 | , phiWinWidth | |
51 | ); | |
52 | ||
53 | taskLRC->SetNumberOfPhiSectors( nEventPhiRotations ); | |
54 | taskLRC->SetAnalysisLevel( type ); | |
55 | ||
56 | taskLRC->SetAODtrackCutBit( 1 );//128 );//128 ); | |
57 | ||
58 | taskLRC->SetVtxDiamond(0.4,0.4,vertexZmax); | |
59 | taskLRC->SetMaxPtLimit(ptMax); | |
60 | taskLRC->SetMinPtLimit(ptMin); | |
61 | //taskLRC->SetMinNumberOfSPDtracklets( systConfig->minNtracklets ); | |
62 | taskLRC->SetNchCuts( multMin, multMax ); // !!! for mult studies | |
63 | taskLRC->SetTrackCuts(createAliLRCcuts( "StandardTPCOnlyTrackCuts" )); // "Global2" )); | |
64 | setHistMultRange( taskLRC, 0, 0, 15 ); | |
65 | setHistPtRange( taskLRC, ptMin, ptMax, 0.01, 5 ); | |
66 | ||
67 | // taskLRC->SetNumberOfPhiSectorsByHand(8); | |
68 | ||
69 | taskLRC->SelectCollisionCandidates(AliVEvent::kMB); // if physics selection performed in UserExec(), this line should be commented | |
70 | mgr->AddTask(taskLRC); | |
71 | ||
72 | configureLRCtaskOutput(taskLRC, /*strOutputRootFolder,*/ strPrefixTaskName, strRunMode); | |
73 | ||
74 | return taskLRC; | |
75 | } | |
76 | ||
77 | ||
78 |