]>
Commit | Line | Data |
---|---|---|
c2e7f32d | 1 | AliAnalysisTaskMinijet* AddTaskMinijet(Int_t runNumber, TString format="esd",Bool_t useMC = kFALSE, TString kGridDataSet="LHC10e") |
631d01ff | 2 | { |
b7c0438e | 3 | |
4 | //starting with periode LHC10e, there are also events triggered with High Mult trigger | |
5 | //add stand alone task in case these events are availale | |
6 | Bool_t IsHighMult= (!kGridDataSet.CompareTo("LHC10e") || !kGridDataSet.CompareTo("LHC10f")); | |
7 | //extent with new periods (LHC10g,h,...) | |
8 | ||
631d01ff | 9 | // Get the pointer to the existing analysis manager via the static access method. |
10 | //============================================================================== | |
11 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
12 | if (!mgr) mgr = new AliAnalysisManager("Analysis train"); | |
b7c0438e | 13 | |
14 | // Set cuts (used for ESDs) | |
15 | //=========================================================================== | |
16 | AliESDtrackCuts* esdTrackCutsITSTPC=0x0; | |
17 | if(!format.CompareTo("esd")){ | |
18 | esdTrackCutsITSTPC = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE); | |
19 | } | |
20 | ||
21 | // Configure tasks | |
631d01ff | 22 | //=========================================================================== |
23 | ||
24 | //first task for min bias events | |
25 | AliAnalysisTaskMinijet *task = new AliAnalysisTaskMinijet("AliAnalysisTaskMinijet Min bias"); | |
26 | task->UseMC(useMC); | |
27 | task->SetRadiusCut(0.7); | |
28 | task->SetTriggerPtCut(0.7); | |
29 | task->SetAssociatePtCut(0.4); | |
30 | task->SetEventAxis(1); //1=random track | |
31 | task->SetDebugLevel(0); | |
32 | task->SetMaxVertexZ(10.); | |
b7c0438e | 33 | if(!format.CompareTo("esd")){ |
34 | task->SetCuts(esdTrackCutsITSTPC); | |
35 | task->SetMode(0);//0=reading ESDs | |
36 | task->SelectCollisionCandidates(AliVEvent::kMB);//MB | |
37 | } | |
631d01ff | 38 | |
39 | //second task for high multipliciy events | |
40 | AliAnalysisTaskMinijet *taskHM =0x0; | |
b7c0438e | 41 | if(IsHighMult && !format.CompareTo("esd")){ |
631d01ff | 42 | taskHM = new AliAnalysisTaskMinijet("AliAnalysisTaskMinijet HighMult"); |
43 | taskHM->UseMC(useMC); | |
44 | taskHM->SetRadiusCut(0.7); | |
45 | taskHM->SetTriggerPtCut(0.7); | |
46 | taskHM->SetAssociatePtCut(0.4); | |
47 | taskHM->SetEventAxis(1); //1=random track | |
48 | taskHM->SetDebugLevel(0); | |
49 | taskHM->SetMaxVertexZ(10.); | |
b7c0438e | 50 | taskHM->SetCuts(esdTrackCutsITSTPC); |
51 | taskHM->SetMode(0);//0=reading ESDs | |
52 | taskHM->SelectCollisionCandidates(AliVEvent::kHighMult);//high mult triggered event | |
631d01ff | 53 | } |
54 | ||
b7c0438e | 55 | if (!format.CompareTo("aod")){ |
631d01ff | 56 | task->SetMode(1);// 1 = reading AODs |
631d01ff | 57 | } |
58 | ||
c2e7f32d | 59 | //create output containers |
631d01ff | 60 | //=========================================================================== |
c2e7f32d | 61 | AliAnalysisDataContainer *output1 = 0x0; |
62 | AliAnalysisDataContainer *outputHM = 0x0; | |
63 | ||
64 | if(runNumber>0){ | |
65 | output1 = mgr->CreateContainer("MiniJets",TList::Class(), | |
66 | AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber)); | |
8b096658 | 67 | if(!format.CompareTo("esd") && IsHighMult){ |
68 | outputHM = mgr->CreateContainer("MiniJets_HighMult",TList::Class(), | |
69 | AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber)); | |
70 | } | |
c2e7f32d | 71 | } |
72 | ||
73 | else{ | |
74 | output1 = mgr->CreateContainer("MiniJets",TList::Class(), | |
75 | AliAnalysisManager::kOutputContainer, | |
76 | Form("%s:PWG4_MiniJets",AliAnalysisManager::GetCommonFileName())); | |
8b096658 | 77 | if(!format.CompareTo("esd") && IsHighMult){ |
78 | outputHM = mgr->CreateContainer("MiniJets_HighMult",TList::Class(), | |
79 | AliAnalysisManager::kOutputContainer, | |
80 | Form("%s:PWG4_MiniJets",AliAnalysisManager::GetCommonFileName())); | |
81 | } | |
c2e7f32d | 82 | |
83 | } | |
84 | ||
85 | //=========================================================================== | |
86 | // add first task to the manager | |
87 | ||
631d01ff | 88 | mgr->AddTask(task); |
89 | ||
90 | //connect input and output | |
91 | mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer()); | |
92 | mgr->ConnectOutput(task, 1, output1); | |
c2e7f32d | 93 | |
94 | ||
631d01ff | 95 | //=========================================================================== |
96 | //do same for high mult task if necassary | |
97 | if(!format.CompareTo("esd") && IsHighMult){ | |
c2e7f32d | 98 | |
631d01ff | 99 | // add task to the manager |
100 | mgr->AddTask(taskHM); | |
101 | ||
102 | //connect input and output | |
103 | mgr->ConnectInput (taskHM, 0, mgr->GetCommonInputContainer()); | |
104 | mgr->ConnectOutput(taskHM, 1, outputHM); | |
105 | } | |
106 | ||
107 | return task; | |
108 | ||
109 | } | |
110 |