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