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