]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskFullpAJets.C
070114 cyaldo changes to AliAnalysisTaskFullpAJets
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskFullpAJets.C
CommitLineData
7b17307f 1AliAnalysisTaskFullpAJets *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", TString 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, Double_t jetRAccept = 0.4, Bool_t doTHnSparse = kFALSE)
155dada9 2{
d812e269 3 char *usedTracks = track_name;
4 char *usedClusters = clus_name;
5 char *outClusName = corrclus_name;
6 char *usedMCParticles = mcpart_name;
3aae667c 7 char *projName = proj_name;
155dada9 8 const Double_t minTrackPt=0.15;
9 const Double_t minClusterPt=0.30;
d812e269 10 const Double_t minMCPartPt=0.00;
d6cc4b0c 11
12 TString centEst = Centrality_name;
13
2bfc734f 14 Double_t scaleFac = scaleFactor; // Obtained from previous runs...
91d0893e 15 Double_t NEFSignalJetCut = nefJetCut; // Require signal jet to not exceed a Neutral Energy Fraction of this setting...
155dada9 16
17 // Some constants for the jet finders
c6202663 18 const Int_t cKT=0;
19 const Int_t cANTIKT=1;
20 const Int_t cFULLJETS=0;
21 const Int_t cCHARGEDJETS=1;
22 const Int_t cNEUTRALJETS=2;
23
155dada9 24 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
25 if (!mgr)
26 {
27 Error("AddTaskJetCommon","No analysis manager found.");
28 return 0;
29 }
30
c54b626a 31 // Determine the int of the jet radius for naming purposes
32 Int_t drjet=Int_t(100*jetRadius);
33 if (drjet%10 == 0)
34 {
35 drjet/=10;
36 }
37
38 TString taskName = Form("AnalysisFullpAJetsR%d",drjet);
3aae667c 39 TString listName = Form("List%sR%d",projName,drjet);
78246241 40 TString fileName = Form("%s:FullpAJets", AliAnalysisManager::GetCommonFileName());
c54b626a 41
155dada9 42 // Jet finders (RECONSTRUCTED DATA)
43 TString tmpTaskName("");
44 AliEmcalJetTask* jetFinderTask = NULL;
c54b626a 45
155dada9 46 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
c54b626a 47
d812e269 48 // Add User Task
49 AliAnalysisTaskFullpAJets *task = new AliAnalysisTaskFullpAJets(taskName);
78246241 50
6bda5230
CY
51 // Used for physics selection
52 task->SetUseAliAnaUtils(kTRUE);
53 task->DoVertexRCut(doVertexRCut);
54
d812e269 55 if (IsMC == kTRUE)
56 {
57 task->SetTrackName(usedMCParticles);
58 task->SetClusterName("");
59 task->SetTrackPtCut(minMCPartPt);
60 task->SetClusterPtCut(minMCPartPt);
6bda5230 61 task->SetMCParticleLevel(isMCParticleLevel);
d812e269 62
63 // ########## CHARGED JETS ##########
e0efb3f6 64 jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt,0.005,1,"Jet");
d812e269 65 task->SetkTChargedJetName(jetFinderTask->GetName());
66
e0efb3f6 67 jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cANTIKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt,0.005,1,"Jet");
d812e269 68 task->SetAkTChargedJetName(jetFinderTask->GetName());
69
70 // ########## FULL JETS ##########
71 // No Full jets or clusters are used if run over MCParticles!
72 task->SetkTFullJetName("");
73 task->SetAkTFullJetName("");
74 }
75 else
76 {
77 task->SetTrackName(usedTracks);
78 task->SetClusterName(outClusName);
79 task->SetTrackPtCut(minTrackPt);
80 task->SetClusterPtCut(minClusterPt);
155dada9 81
d812e269 82 // ########## CHARGED JETS ##########
e0efb3f6 83 jetFinderTask = AddTaskEmcalJet(usedTracks,"",cKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt,0.005,1,"Jet");
d812e269 84 task->SetkTChargedJetName(jetFinderTask->GetName());
85
e0efb3f6 86 jetFinderTask = AddTaskEmcalJet(usedTracks,"",cANTIKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt,0.005,1,"Jet");
d812e269 87 task->SetAkTChargedJetName(jetFinderTask->GetName());
88
89 // ########## FULL JETS ##########
e0efb3f6 90 jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt,0.005,1,"Jet");
d812e269 91 task->SetkTFullJetName(jetFinderTask->GetName());
155dada9 92
e0efb3f6 93 jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt,0.005,1,"Jet");
d812e269 94 task->SetAkTFullJetName(jetFinderTask->GetName());
95 }
155dada9 96
c54b626a 97 task->SetRjet(drjet);
e0efb3f6 98 task->SetJetRAcceptance(jetRAccept);
d6cc4b0c 99 task->SetCentralityTag(centEst.Data());
2bfc734f 100 task->SetScaleFactor(scaleFac);
c6202663 101 task->SelectCollisionCandidates(AliVEvent::kINT7);
7acc3e04 102 task->SetNColl(7);
91d0893e 103 task->SetNEFSignalJetCut(NEFSignalJetCut);
87a5edfe 104 task->DoNEFCalibration(doNEF);
d2af75be 105 task->DoNEFSignalOnly(doNEFSignalOnly);
3e43a01f 106 task->SetJetChargeBias(signalTrackBias);
62620fff 107 task->DoTrackQA(doTrackQA);
108 task->DoClusterQA(doClusterQA);
109 task->CalculateRhoJet(calcRhoJet);
7b17307f 110 task->DoTHnSparse(doTHnSparse);
c6202663 111
112 mgr->AddTask(task);
113
c54b626a 114 AliAnalysisDataContainer *coutput = mgr->CreateContainer(listName,TList::Class(),AliAnalysisManager::kOutputContainer,fileName);
115 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
116 mgr->ConnectOutput(task,1,coutput);
155dada9 117
c54b626a 118 return task;
155dada9 119}