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