]>
Commit | Line | Data |
---|---|---|
8855d81c | 1 | AliAnalysisTaskMinijet* AddTaskMinijet(Int_t runNumber = -1, |
ef7478e8 | 2 | TString format = "aod", |
8855d81c | 3 | Bool_t useMC = false, |
4 | Bool_t mcOnly = false, | |
ef7478e8 | 5 | Bool_t useHighMult = false, |
6 | Float_t ptTrigMin = 0.7, | |
7 | Float_t ptAssocMin = 0.4, | |
8 | Float_t maxVtxZ = 10., | |
9 | Int_t filterBit = 128, | |
10 | Int_t debugLevel = 0, | |
11 | Float_t maxEta = 0.9, | |
12 | Float_t ptMin = 0.2, | |
13 | Float_t ptMax = 50.0) | |
631d01ff | 14 | { |
ef7478e8 | 15 | |
631d01ff | 16 | // Get the pointer to the existing analysis manager via the static access method. |
631d01ff | 17 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); |
18 | if (!mgr) mgr = new AliAnalysisManager("Analysis train"); | |
b7c0438e | 19 | |
8855d81c | 20 | // Set TPC track cuts (used for ESDs) |
21 | AliESDtrackCuts* esdTrackCutsTPC=0x0; | |
b7c0438e | 22 | if(!format.CompareTo("esd")){ |
8855d81c | 23 | esdTrackCutsTPC = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); |
24 | esdTrackCutsTPC->SetMinNClustersTPC(80); | |
b7c0438e | 25 | } |
26 | ||
8855d81c | 27 | // First task for min bias events |
28 | AliAnalysisTaskMinijet *taskMB = | |
29 | new AliAnalysisTaskMinijet("AliAnalysisTaskMinijet Min bias"); | |
30 | taskMB->SetUseMC(useMC,mcOnly); | |
31 | taskMB->SetTriggerPtCut(ptTrigMin); | |
32 | taskMB->SetAssociatePtCut(ptAssocMin); | |
ef7478e8 | 33 | taskMB->SetMaxEta(maxEta); |
34 | taskMB->SetPtRange(ptMin, ptMax); | |
8855d81c | 35 | taskMB->SetMaxVertexZ(maxVtxZ); |
36 | taskMB->SetTriggerMask(AliVEvent::kMB); | |
37 | // taskMB->SelectCollisionCandidates(AliVEvent::kMB);//MB //now inside task | |
38 | taskMB->SetFilterBit(filterBit); // used only in AOD case | |
39 | taskMB->SetDebugLevel(debugLevel); | |
40 | ||
b7c0438e | 41 | if(!format.CompareTo("esd")){ |
8855d81c | 42 | taskMB->SetCuts(esdTrackCutsTPC); |
43 | taskMB->SetModeEsdAod(0); // 0 = reading ESDs | |
44 | } | |
45 | else if (!format.CompareTo("aod")){ | |
46 | // Cuts already applied through esd filter | |
47 | taskMB->SetModeEsdAod(1); // 1 = reading AODs | |
b7c0438e | 48 | } |
631d01ff | 49 | |
8855d81c | 50 | // Second task for high multipliciy events |
631d01ff | 51 | AliAnalysisTaskMinijet *taskHM =0x0; |
8855d81c | 52 | if(useHighMult){ |
631d01ff | 53 | taskHM = new AliAnalysisTaskMinijet("AliAnalysisTaskMinijet HighMult"); |
8855d81c | 54 | taskHM->SetUseMC(useMC, mcOnly); |
55 | taskHM->SetTriggerPtCut(ptTrigMin); | |
56 | taskHM->SetAssociatePtCut(ptAssocMin); | |
ef7478e8 | 57 | taskMB->SetMaxEta(maxEta); |
58 | taskMB->SetPtRange(ptMin, ptMax); | |
8855d81c | 59 | taskHM->SetMaxVertexZ(maxVtxZ); |
60 | taskHM->SetTriggerMask(AliVEvent::kHighMult); | |
61 | //taskHM->SelectCollisionCandidates(AliVEvent::kHighMult); // now inside task | |
62 | taskMB->SetFilterBit(filterBit); // used only in AOD case | |
63 | taskHM->SetDebugLevel(debugLevel); | |
631d01ff | 64 | |
8855d81c | 65 | if(!format.CompareTo("esd")){ |
66 | taskHM->SetCuts(esdTrackCutsTPC); | |
67 | taskHM->SetModeEsdAod(0); // 0 = reading ESDs | |
68 | } | |
69 | else if (!format.CompareTo("aod")){ | |
70 | //cuts already applied through esd filter during writing of AODs | |
71 | taskHM->SetModeEsdAod(1); // 1 = reading AODs | |
72 | } | |
73 | ||
631d01ff | 74 | } |
75 | ||
c2e7f32d | 76 | //create output containers |
8855d81c | 77 | AliAnalysisDataContainer *outputMB = 0x0; |
c2e7f32d | 78 | AliAnalysisDataContainer *outputHM = 0x0; |
79 | ||
80 | if(runNumber>0){ | |
8855d81c | 81 | outputMB = mgr->CreateContainer("MiniJets",TList::Class(), |
82 | AliAnalysisManager::kOutputContainer, | |
83 | Form("run%d.root",runNumber)); | |
84 | if(useHighMult){ | |
8b096658 | 85 | outputHM = mgr->CreateContainer("MiniJets_HighMult",TList::Class(), |
8b096658 | 86 | AliAnalysisManager::kOutputContainer, |
8855d81c | 87 | Form("run%d.root",runNumber)); |
88 | } | |
89 | } | |
90 | else{ | |
91 | outputMB = mgr->CreateContainer("MiniJets",TList::Class(), | |
92 | AliAnalysisManager::kOutputContainer, | |
93 | Form("%s:PWG4_MiniJets", | |
94 | AliAnalysisManager::GetCommonFileName())); | |
95 | if(useHighMult){ | |
96 | outputHM = mgr->CreateContainer("MiniJets_HighMult",TList::Class(), | |
97 | AliAnalysisManager::kOutputContainer, | |
98 | Form("%s:PWG4_MiniJets", | |
99 | AliAnalysisManager::GetCommonFileName())); | |
100 | } | |
101 | } | |
631d01ff | 102 | |
8855d81c | 103 | |
104 | // Add first task to the manager and connect container | |
105 | mgr->AddTask(taskMB); | |
106 | mgr->ConnectInput(taskMB, 0, mgr->GetCommonInputContainer()); | |
107 | mgr->ConnectOutput(taskMB, 1, outputMB); | |
c2e7f32d | 108 | |
109 | ||
8855d81c | 110 | // Add second task to the manager and connect container |
111 | if(useHighMult){ | |
631d01ff | 112 | mgr->AddTask(taskHM); |
631d01ff | 113 | mgr->ConnectInput (taskHM, 0, mgr->GetCommonInputContainer()); |
114 | mgr->ConnectOutput(taskHM, 1, outputHM); | |
115 | } | |
116 | ||
8855d81c | 117 | return taskMB; |
631d01ff | 118 | |
119 | } | |
120 |