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