]>
Commit | Line | Data |
---|---|---|
8628b70c | 1 | AliAnalysisTaskChargedJetsPA* 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 | } |