]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/macros/AddTaskMinijet.C
adding TPC cosntrained tracks back in for comparison
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskMinijet.C
CommitLineData
c2e7f32d 1AliAnalysisTaskMinijet* 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