1 AliAnalysisTaskFullpAJets *AddTaskFullpAJets(const char* proj_name, const Double_t jetRadius=0.4, Bool_t IsMC=kFALSE, const char* track_name="PicoTracks", const char* clus_name="caloClusters", const char* corrclus_name="caloClustersCorr", const char* mcpart_name="MCParticles", const char* Centrality_name="V0A", Double_t scaleFactor = 1.28, Double_t nefJetCut = 1.0, Bool_t doNEF=kFALSE, Bool_t signalTrackBias=kFALSE, Bool_t doTrackQA=kFALSE, Bool_t doClusterQA=kFALSE, Int_t calcRhoJet=0, Bool_t doNEFSignalOnly=kTRUE, Bool_t doVertexRCut=kTRUE, Bool_t isMCParticleLevel=kFALSE)
3 char *usedTracks = track_name;
4 char *usedClusters = clus_name;
5 char *outClusName = corrclus_name;
6 char *usedMCParticles = mcpart_name;
7 char *centEst = Centrality_name;
8 char *projName = proj_name;
9 const Double_t minTrackPt=0.15;
10 const Double_t minClusterPt=0.30;
11 const Double_t minMCPartPt=0.00;
12 Double_t scaleFac = scaleFactor; // Obtained from previous runs...
13 Double_t NEFSignalJetCut = nefJetCut; // Require signal jet to not exceed a Neutral Energy Fraction of this setting...
15 // Some constants for the jet finders
17 const Int_t cANTIKT=1;
18 const Int_t cFULLJETS=0;
19 const Int_t cCHARGEDJETS=1;
20 const Int_t cNEUTRALJETS=2;
22 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
25 Error("AddTaskJetCommon","No analysis manager found.");
29 // Determine the int of the jet radius for naming purposes
30 Int_t drjet=Int_t(100*jetRadius);
36 TString taskName = Form("AnalysisFullpAJetsR%d",drjet);
37 TString listName = Form("List%sR%d",projName,drjet);
38 TString fileName = Form("%s:FullpAJets", AliAnalysisManager::GetCommonFileName());
40 // Jet finders (RECONSTRUCTED DATA)
41 TString tmpTaskName("");
42 AliEmcalJetTask* jetFinderTask = NULL;
44 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
47 AliAnalysisTaskFullpAJets *task = new AliAnalysisTaskFullpAJets(taskName);
49 // Used for physics selection
50 task->SetUseAliAnaUtils(kTRUE);
51 task->DoVertexRCut(doVertexRCut);
55 task->SetTrackName(usedMCParticles);
56 task->SetClusterName("");
57 task->SetTrackPtCut(minMCPartPt);
58 task->SetClusterPtCut(minMCPartPt);
59 task->SetMCParticleLevel(isMCParticleLevel);
61 // ########## CHARGED JETS ##########
62 jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt,0.01,1,"Jet");
63 task->SetkTChargedJetName(jetFinderTask->GetName());
65 jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cANTIKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt,0.01,1,"Jet");
66 task->SetAkTChargedJetName(jetFinderTask->GetName());
68 // ########## FULL JETS ##########
69 // No Full jets or clusters are used if run over MCParticles!
70 task->SetkTFullJetName("");
71 task->SetAkTFullJetName("");
75 task->SetTrackName(usedTracks);
76 task->SetClusterName(outClusName);
77 task->SetTrackPtCut(minTrackPt);
78 task->SetClusterPtCut(minClusterPt);
80 // ########## CHARGED JETS ##########
81 jetFinderTask = AddTaskEmcalJet(usedTracks,"",cKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt,0.01,1,"Jet");
82 task->SetkTChargedJetName(jetFinderTask->GetName());
84 jetFinderTask = AddTaskEmcalJet(usedTracks,"",cANTIKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt,0.01,1,"Jet");
85 task->SetAkTChargedJetName(jetFinderTask->GetName());
87 // ########## FULL JETS ##########
88 jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt,0.01,1,"Jet");
89 task->SetkTFullJetName(jetFinderTask->GetName());
91 jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt,0.01,1,"Jet");
92 task->SetAkTFullJetName(jetFinderTask->GetName());
96 task->SetCentralityTag(centEst);
97 task->SetScaleFactor(scaleFac);
98 task->SelectCollisionCandidates(AliVEvent::kINT7);
100 task->SetNEFSignalJetCut(NEFSignalJetCut);
101 task->DoNEFCalibration(doNEF);
102 task->DoNEFSignalOnly(doNEFSignalOnly);
103 task->SetJetChargeBias(signalTrackBias);
104 task->DoTrackQA(doTrackQA);
105 task->DoClusterQA(doClusterQA);
106 task->CalculateRhoJet(calcRhoJet);
110 AliAnalysisDataContainer *coutput = mgr->CreateContainer(listName,TList::Class(),AliAnalysisManager::kOutputContainer,fileName);
111 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
112 mgr->ConnectOutput(task,1,coutput);