Int_t ptHardBin = -1,
Double_t randomConeR = 0.4,
Double_t trackBgrdConeR = 0.6,
+ const char* containerSuffix = "",
const char* usedTracks = "PicoTracks",
const char* centralityType = "V0A",
Double_t trackEtaWindow = 0.9,
- Double_t vertexWindow = 10.0,
- Double_t vertexMaxR = 1.0,
- Double_t minJetPt = 5.0, // signal jet min pt
+ Double_t minJetPt = 0.15, // signal jet min pt
Double_t minBackgroundJetPt = 0.0, // background jet min pt
Double_t dijetLeadingMinPt = 10.0,
Double_t dijetMaxAngleDev = 10.0,
Int_t numberOfPtHardBins = 0,
- const char* fileEtaCorrectionFactors= "alien:///alice/cern.ch/user/r/rhaake/pA/EtaCorrectionFactors.root",
const char* externalMacro = NULL,
- Bool_t isEMCalTrain = kTRUE
+ Bool_t useVertexCut = kTRUE,
+ Bool_t usePileUpCut = kTRUE,
+ Bool_t isEMCalTrain = kFALSE,
+ Bool_t calculateExternalRho = kFALSE,
+ Bool_t analyzeDeprecatedBackgrounds = kTRUE,
+ Int_t numberOfCentralityBins = 20
)
{
// #### Detect the demanded trigger with its readable name
}
TString stringPtHard("");
+ TString containerNameSuffix("");
+
if (ptHardBin!=-1)
stringPtHard = Form("_PtHard_%d",ptHardBin);
+ if (strcmp(containerSuffix,""))
+ containerNameSuffix = Form("_%s", containerSuffix);
+
TString myContName("");
if(isMC)
- myContName = Form("AnalysisR0%2.0f_%s_MC%s",jetRadius*100,triggerName.Data(), stringPtHard.Data());
+ myContName = Form("AnalysisR0%2.0f_%s_MC%s%s", jetRadius*100, triggerName.Data(), stringPtHard.Data(), containerNameSuffix.Data());
else
- myContName = Form("AnalysisR0%2.0f_%s%s",jetRadius*100,triggerName.Data(), stringPtHard.Data());
+ myContName = Form("AnalysisR0%2.0f_%s%s%s", jetRadius*100, triggerName.Data(), stringPtHard.Data(), containerNameSuffix.Data());
// #### Add necessary jet finder tasks
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(usedTracks,"",1,jetRadius,1,0.150,0.300); // anti-kt
AliEmcalJetTask* jetFinderTaskKT = AddTaskEmcalJet(usedTracks,"",0,jetRadius,1,0.150,0.300); // kt
+// jetFinderTask->SetRecombSheme(0);
+// jetFinderTaskKT->SetRecombSheme(0);
+
+ if(jetRadius < 0.1)
+ {
+ jetFinderTask->SetMinJetArea(0.0);
+ jetFinderTaskKT->SetMinJetArea(0.0);
+ jetFinderTask->SetMinJetPt(0.15);
+ jetFinderTaskKT->SetMinJetPt(0.15);
+ jetFinderTask->SetGhostArea(0.001);
+ jetFinderTaskKT->SetGhostArea(0.001);
+ }
+
+ if(minBackgroundJetPt == -1.0)
+ {
+ if(analyzeDeprecatedBackgrounds)
+ minBackgroundJetPt = 0.0;
+ else
+ minBackgroundJetPt = 0.15;
+ }
+
+
jetFinderTaskKT->SetMinJetPt(minBackgroundJetPt);
+
+ // #### Define extern rho task
+ if(calculateExternalRho)
+ {
+ TString myRhoName("");
+ if(isMC)
+ myRhoName = Form("RhoR0%2.0f_%s_MC%s",jetRadius*100,triggerName.Data(), stringPtHard.Data());
+ else
+ myRhoName = Form("RhoR0%2.0f_%s%s",jetRadius*100,triggerName.Data(), stringPtHard.Data());
+
+ contRhoHistos = manager->CreateContainer(myRhoName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:ChargedJetsPA", AliAnalysisManager::GetCommonFileName()));
+ AliAnalysisTaskRhoSparse *rhotask = new AliAnalysisTaskRhoSparse(myRhoName.Data(), kTRUE);
+ rhotask->SetAnaType(AliAnalysisTaskEmcal::kTPC);
+ rhotask->SetJetsName(jetFinderTaskKT->GetName());
+ rhotask->SetSigJetsName(jetFinderTask->GetName());
+ rhotask->SetTracksName(usedTracks);
+ rhotask->SetRhoName(myRhoName.Data());
+ rhotask->SetJetAreaCut(0);
+ rhotask->SetJetPtCut(0.150);
+ rhotask->SetJetRadius(jetRadius);
+ rhotask->SetRhoCMS(kTRUE);
+ rhotask->SelectCollisionCandidates(trigger);
+ manager->AddTask(rhotask);
+ manager->ConnectInput(rhotask, 0, manager->GetCommonInputContainer());
+ manager->ConnectOutput(rhotask, 1, contRhoHistos);
+
+ }
+
// #### Define analysis task
AliAnalysisTaskChargedJetsPA *task = NULL;
contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:ChargedJetsPA", AliAnalysisManager::GetCommonFileName()));
task = new AliAnalysisTaskChargedJetsPA(Form("AnalysisPA_%s_%s", jetFinderTask->GetName(), triggerName.Data()), usedTracks, jetFinderTask->GetName(),jetFinderTaskKT->GetName());
// #### Task preferences
- task->SetAcceptanceWindows(trackEtaWindow, vertexWindow, vertexMaxR, jetRadius, jetRadius);
+ task->SetAcceptanceWindows(trackEtaWindow, jetRadius, jetRadius);
task->SetAnalyzeQA(kTRUE);
task->SetAnalyzeBackground(kTRUE);
- task->SetAnalyzeDeprecatedBackgrounds(kTRUE);
-
+ task->SetAnalyzeDeprecatedBackgrounds(analyzeDeprecatedBackgrounds);
+ task->SetUsePileUpCut(usePileUpCut);
+ task->SetUseDefaultVertexCut(useVertexCut);
task->SetSignalJetMinPt(minJetPt);
task->SetSignalJetMinArea(0.6*jetRadius*jetRadius*TMath::Pi());
task->SetDijetLeadingMinPt(dijetLeadingMinPt);
task->SetTRBackgroundConeRadius(trackBgrdConeR);
task->SelectCollisionCandidates(trigger);
task->SetCentralityType(centralityType);
+ task->SetNumberOfCentralityBins(numberOfCentralityBins);
task->SetUsePtHardBin(ptHardBin);
+ if(calculateExternalRho)
+ task->SetExternalRhoTaskName(myRhoName.Data());
if(numberOfPtHardBins)
task->SetNumberOfPtHardBins(numberOfPtHardBins);