]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/macros/AddTaskMinijet.C
coding violations
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskMinijet.C
CommitLineData
8855d81c 1AliAnalysisTaskMinijet* 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