]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskChargedJetsPA.C
bug fixes to establish consistent
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskChargedJetsPA.C
CommitLineData
8628b70c 1AliAnalysisTaskChargedJetsPA* AddTaskChargedJetsPA(
2 Double_t jetRadius = 0.4,
3 Int_t trigger = AliVEvent::kINT7,
4 Bool_t isMC = kFALSE,
b95d0245 5 Int_t ptHardBin = -1,
8628b70c 6 Double_t randomConeR = 0.4,
7 Double_t trackBgrdConeR = 0.6,
8 const char* usedTracks = "PicoTracks",
12eb4ac1 9 const char* centralityType = "V0A",
8628b70c 10 Double_t trackEtaWindow = 0.9,
8628b70c 11 Double_t minJetPt = 5.0, // signal jet min pt
0cb49d99 12 Double_t minBackgroundJetPt = -1.0, // background jet min pt
8628b70c 13 Double_t dijetLeadingMinPt = 10.0,
14 Double_t dijetMaxAngleDev = 10.0,
12eb4ac1 15 Int_t numberOfPtHardBins = 0,
b95d0245 16 const char* externalMacro = NULL,
06b41974 17 Bool_t useVertexCut = kTRUE,
0cb49d99 18 Bool_t usePileUpCut = kTRUE,
06b41974 19 Bool_t isEMCalTrain = kFALSE,
0cb49d99 20 Bool_t calculateExternalRho = kFALSE,
bf8f2a1c 21 Bool_t analyzeDeprecatedBackgrounds = kTRUE
8628b70c 22)
23{
24 // #### Detect the demanded trigger with its readable name
25 TString triggerName(Form("Trigger_%i", trigger));
26 if (trigger == AliVEvent::kAnyINT)
27 triggerName = "kAnyINT";
28 else if (trigger == AliVEvent::kAny)
29 triggerName = "kAny";
30 else if(trigger == AliVEvent::kINT7)
31 triggerName = "kINT7";
efb9b161 32 else if(trigger == AliVEvent::kMB)
33 triggerName = "kMB";
8628b70c 34 else if(trigger == AliVEvent::kEMC7)
35 triggerName = "kEMC7";
36 else if(trigger == AliVEvent::kEMCEJE)
37 triggerName = "kEMCEJE";
38 else if(trigger == AliVEvent::kEMCEGA)
39 triggerName = "kEMCEGA";
40
41 // #### Define manager and data container names
8628b70c 42 AliAnalysisManager *manager = AliAnalysisManager::GetAnalysisManager();
43 if (!manager) {
44 ::Error("AddTaskChargedJetsPA", "No analysis manager to connect to.");
45 return NULL;
46 }
b95d0245 47
48 TString stringPtHard("");
49 if (ptHardBin!=-1)
50 stringPtHard = Form("_PtHard_%d",ptHardBin);
8628b70c 51 TString myContName("");
52 if(isMC)
b95d0245 53 myContName = Form("AnalysisR0%2.0f_%s_MC%s",jetRadius*100,triggerName.Data(), stringPtHard.Data());
8628b70c 54 else
b95d0245 55 myContName = Form("AnalysisR0%2.0f_%s%s",jetRadius*100,triggerName.Data(), stringPtHard.Data());
8628b70c 56
57 // #### Add necessary jet finder tasks
58 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
0983dd5b 59 AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(usedTracks,"",1,jetRadius,1,0.150,0.300); // anti-kt
8628b70c 60 AliEmcalJetTask* jetFinderTaskKT = AddTaskEmcalJet(usedTracks,"",0,jetRadius,1,0.150,0.300); // kt
61
bf8f2a1c 62 if(minBackgroundJetPt<0)
0cb49d99 63 {
64 if(analyzeDeprecatedBackgrounds)
65 minBackgroundJetPt = 0.0;
66 else
67 minBackgroundJetPt = 0.15;
68 }
69
70
b95d0245 71 jetFinderTaskKT->SetMinJetPt(minBackgroundJetPt);
06b41974 72
73 // #### Define extern rho task
74 if(calculateExternalRho)
75 {
76 TString myRhoName("");
77 if(isMC)
78 myRhoName = Form("RhoR0%2.0f_%s_MC%s",jetRadius*100,triggerName.Data(), stringPtHard.Data());
79 else
80 myRhoName = Form("RhoR0%2.0f_%s%s",jetRadius*100,triggerName.Data(), stringPtHard.Data());
81
82 contRhoHistos = manager->CreateContainer(myRhoName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:ChargedJetsPA", AliAnalysisManager::GetCommonFileName()));
83 AliAnalysisTaskRhoSparse *rhotask = new AliAnalysisTaskRhoSparse(myRhoName.Data(), kTRUE);
84 rhotask->SetAnaType(AliAnalysisTaskEmcal::kTPC);
85 rhotask->SetJetsName(jetFinderTaskKT->GetName());
86 rhotask->SetSigJetsName(jetFinderTask->GetName());
87 rhotask->SetTracksName(usedTracks);
88 rhotask->SetRhoName(myRhoName.Data());
89 rhotask->SetJetAreaCut(0);
90 rhotask->SetJetPtCut(0.150);
91 rhotask->SetJetRadius(jetRadius);
92 rhotask->SetRhoCMS(kTRUE);
93 rhotask->SelectCollisionCandidates(trigger);
94 manager->AddTask(rhotask);
95 manager->ConnectInput(rhotask, 0, manager->GetCommonInputContainer());
96 manager->ConnectOutput(rhotask, 1, contRhoHistos);
97
98 }
99
8628b70c 100 // #### Define analysis task
101 AliAnalysisTaskChargedJetsPA *task = NULL;
7cfa86a3 102 contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:ChargedJetsPA", AliAnalysisManager::GetCommonFileName()));
12eb4ac1 103 task = new AliAnalysisTaskChargedJetsPA(Form("AnalysisPA_%s_%s", jetFinderTask->GetName(), triggerName.Data()), usedTracks, jetFinderTask->GetName(),jetFinderTaskKT->GetName());
8628b70c 104
105 // #### Task preferences
06b41974 106 task->SetAcceptanceWindows(trackEtaWindow, jetRadius, jetRadius);
b95d0245 107 task->SetAnalyzeQA(kTRUE);
108 task->SetAnalyzeBackground(kTRUE);
0cb49d99 109 task->SetAnalyzeDeprecatedBackgrounds(analyzeDeprecatedBackgrounds);
06b41974 110 task->SetUsePileUpCut(usePileUpCut);
111 task->SetUseVertexCut(useVertexCut);
8628b70c 112 task->SetSignalJetMinPt(minJetPt);
113 task->SetSignalJetMinArea(0.6*jetRadius*jetRadius*TMath::Pi());
114 task->SetDijetLeadingMinPt(dijetLeadingMinPt);
115 task->SetDijetMaxAngleDeviation(dijetMaxAngleDev);
116 task->SetRandConeRadius(randomConeR);
b95d0245 117 task->SetBackgroundJetMinPt(minBackgroundJetPt);
12eb4ac1 118 task->SetTRBackgroundConeRadius(trackBgrdConeR);
8628b70c 119 task->SelectCollisionCandidates(trigger);
12eb4ac1 120 task->SetCentralityType(centralityType);
b95d0245 121 task->SetUsePtHardBin(ptHardBin);
06b41974 122 if(calculateExternalRho)
123 task->SetExternalRhoTaskName(myRhoName.Data());
b95d0245 124
8628b70c 125 if(numberOfPtHardBins)
126 task->SetNumberOfPtHardBins(numberOfPtHardBins);
127
128 // #### Add analysis task
129 manager->AddTask(task);
130 manager->ConnectInput(task, 0, manager->GetCommonInputContainer());
131 manager->ConnectOutput(task, 1, contHistos);
12eb4ac1 132
b95d0245 133 if(isEMCalTrain)
134 RequestMemory(task,200*1024);
135
12eb4ac1 136 // #### Do some nasty piggybacking on demand
137 if (externalMacro)
6bb6522e 138 gROOT->Macro(externalMacro);
12eb4ac1 139
8628b70c 140 return task;
141}