1 AliAnalysisTaskMinijet* AddTaskMinijet(Int_t runNumber = -1,
2 TString format = "aod",
5 Bool_t useHighMult = false,
6 Float_t ptTrigMin = 0.7,
7 Float_t ptAssocMin = 0.4,
14 Bool_t checkSDD = false,
15 Int_t checkOption = 1,
16 Bool_t onlyPrim = true,
17 Bool_t corrStrange = true,
18 Bool_t threePart = false,
19 Bool_t rejectChunk = false,
21 const char *foldername = "MiniJets")
24 // Get the pointer to the existing analysis manager via the static access method
25 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
26 if (!mgr) mgr = new AliAnalysisManager("Analysis train");
28 // Set TPC track cuts (used for ESDs)
29 AliESDtrackCuts* esdTrackCutsTPC=0x0;
30 if(!format.CompareTo("esd")){
31 esdTrackCutsTPC = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
32 esdTrackCutsTPC->SetMinNClustersTPC(80);
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);
41 taskMB->SetMaxEta(maxEta);
42 taskMB->SetPtRange(ptMin, ptMax);
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
47 taskMB->SetCheckSDD(checkSDD, checkOption);
48 taskMB->SetCorrStrangeness(corrStrange);
49 taskMB->SetThreeParticleCorrelation(threePart);
50 taskMB->SetRejectCorrupted(rejectChunk, nTPC);
51 taskMB->SetDebugLevel(debugLevel);
53 //use this only for correction map plots -> Split contmaintion and rec efficiency
54 taskMB->SetAnalyseOnlyPrimaries(onlyPrim);
56 if(!format.CompareTo("esd")){
57 taskMB->SetCuts(esdTrackCutsTPC);
58 taskMB->SetModeEsdAod(0); // 0 = reading ESDs
60 else if (!format.CompareTo("aod")){
61 // Cuts already applied through esd filter
62 taskMB->SetModeEsdAod(1); // 1 = reading AODs
65 // Second task for high multipliciy events
66 AliAnalysisTaskMinijet *taskHM =0x0;
68 taskHM = new AliAnalysisTaskMinijet("AliAnalysisTaskMinijet HighMult");
69 taskHM->SetUseMC(useMC, mcOnly);
70 taskHM->SetTriggerPtCut(ptTrigMin);
71 taskHM->SetAssociatePtCut(ptAssocMin);
72 taskHM->SetMaxEta(maxEta);
73 taskHM->SetPtRange(ptMin, ptMax);
74 taskHM->SetMaxVertexZ(maxVtxZ);
75 taskHM->SetTriggerMask(AliVEvent::kHighMult);
76 //taskHM->SelectCollisionCandidates(AliVEvent::kHighMult); // now inside task
77 taskHM->SetFilterBit(filterBit); // used only in AOD case
78 taskHM->SetCheckSDD(checkSDD, checkOption);
79 taskHM->SetCorrStrangeness(corrStrange);
80 taskHM->SetThreeParticleCorrelation(threePart);
81 taskHM->SetRejectCorrupted(rejectChunk, nTPC);
82 taskHM->SetDebugLevel(debugLevel);
84 if(!format.CompareTo("esd")){
85 taskHM->SetCuts(esdTrackCutsTPC);
86 taskHM->SetModeEsdAod(0); // 0 = reading ESDs
88 else if (!format.CompareTo("aod")){
89 //cuts already applied through esd filter during writing of AODs
90 taskHM->SetModeEsdAod(1); // 1 = reading AODs
95 //create output containers
96 AliAnalysisDataContainer *outputMB = 0x0;
97 AliAnalysisDataContainer *outputHM = 0x0;
100 outputMB = mgr->CreateContainer(foldername,TList::Class(),
101 AliAnalysisManager::kOutputContainer,
102 Form("run%d.root",runNumber));
104 outputHM = mgr->CreateContainer("MiniJets_HighMult",TList::Class(),
105 AliAnalysisManager::kOutputContainer,
106 Form("run%d.root",runNumber));
110 outputMB = mgr->CreateContainer(foldername,TList::Class(),
111 AliAnalysisManager::kOutputContainer,
112 Form("%s:PWG4_MiniJets",
113 AliAnalysisManager::GetCommonFileName()));
115 outputHM = mgr->CreateContainer("MiniJets_HighMult",TList::Class(),
116 AliAnalysisManager::kOutputContainer,
117 Form("%s:PWG4_MiniJets",
118 AliAnalysisManager::GetCommonFileName()));
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);
129 // Add second task to the manager and connect container
131 mgr->AddTask(taskHM);
132 mgr->ConnectInput (taskHM, 0, mgr->GetCommonInputContainer());
133 mgr->ConnectOutput(taskHM, 1, outputHM);