1 AliAnalysisTaskMinijet* AddTaskMinijet(Int_t runNumber, TString format="esd",Bool_t useMC = kFALSE, TString kGridDataSet="LHC10e")
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,...)
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");
14 // Set cuts (used for ESDs)
15 //===========================================================================
16 AliESDtrackCuts* esdTrackCutsITSTPC=0x0;
17 if(!format.CompareTo("esd")){
18 esdTrackCutsITSTPC = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
22 //===========================================================================
24 //first task for min bias events
25 AliAnalysisTaskMinijet *task = new AliAnalysisTaskMinijet("AliAnalysisTaskMinijet Min bias");
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.);
33 if(!format.CompareTo("esd")){
34 task->SetCuts(esdTrackCutsITSTPC);
35 task->SetMode(0);//0=reading ESDs
36 task->SelectCollisionCandidates(AliVEvent::kMB);//MB
39 //second task for high multipliciy events
40 AliAnalysisTaskMinijet *taskHM =0x0;
41 if(IsHighMult && !format.CompareTo("esd")){
42 taskHM = new AliAnalysisTaskMinijet("AliAnalysisTaskMinijet HighMult");
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.);
50 taskHM->SetCuts(esdTrackCutsITSTPC);
51 taskHM->SetMode(0);//0=reading ESDs
52 taskHM->SelectCollisionCandidates(AliVEvent::kHighMult);//high mult triggered event
55 if (!format.CompareTo("aod")){
56 task->SetMode(1);// 1 = reading AODs
59 //create output containers
60 //===========================================================================
61 AliAnalysisDataContainer *output1 = 0x0;
62 AliAnalysisDataContainer *outputHM = 0x0;
65 output1 = mgr->CreateContainer("MiniJets",TList::Class(),
66 AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
67 outputHM = mgr->CreateContainer("MiniJets_HighMult",TList::Class(),
68 AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
72 output1 = mgr->CreateContainer("MiniJets",TList::Class(),
73 AliAnalysisManager::kOutputContainer,
74 Form("%s:PWG4_MiniJets",AliAnalysisManager::GetCommonFileName()));
75 outputHM = mgr->CreateContainer("MiniJets_HighMult",TList::Class(),
76 AliAnalysisManager::kOutputContainer,
77 Form("%s:PWG4_MiniJets",AliAnalysisManager::GetCommonFileName()));
81 //===========================================================================
82 // add first task to the manager
86 //connect input and output
87 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
88 mgr->ConnectOutput(task, 1, output1);
91 //===========================================================================
92 //do same for high mult task if necassary
93 if(!format.CompareTo("esd") && IsHighMult){
95 // add task to the manager
98 //connect input and output
99 mgr->ConnectInput (taskHM, 0, mgr->GetCommonInputContainer());
100 mgr->ConnectOutput(taskHM, 1, outputHM);