]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskFullpAJets.C
40c8b351b8751c610051a48753ea0febe501b20f
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskFullpAJets.C
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")
2 {
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 scaleFactor=1.45; // Obtained from previous runs...
13     
14     // Some constants for the jet finders
15     const Int_t cKT=0;
16     const Int_t cANTIKT=1;
17     const Int_t cFULLJETS=0;
18     const Int_t cCHARGEDJETS=1;
19     const Int_t cNEUTRALJETS=2;
20
21     AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
22     if (!mgr)
23     {
24         Error("AddTaskJetCommon","No analysis manager found.");
25         return 0;
26     }
27
28     // Determine the int of the jet radius for naming purposes
29     Int_t drjet=Int_t(100*jetRadius);
30     if (drjet%10 == 0)
31     {
32         drjet/=10;
33     }
34     
35     TString taskName = Form("AnalysisFullpAJetsR%d",drjet);
36     TString listName = Form("List%sR%d",projName,drjet);
37     TString fileName = Form("%s:FullpAJets", AliAnalysisManager::GetCommonFileName());
38     
39     // Jet finders (RECONSTRUCTED DATA)
40     TString tmpTaskName("");
41     AliEmcalJetTask* jetFinderTask = NULL;
42
43     gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
44     
45     // Add User Task
46     AliAnalysisTaskFullpAJets *task = new AliAnalysisTaskFullpAJets(taskName);
47
48     if (IsMC == kTRUE)
49     {
50         task->SetTrackName(usedMCParticles);
51         task->SetClusterName("");
52         task->SetTrackPtCut(minMCPartPt);
53         task->SetClusterPtCut(minMCPartPt);
54         
55         // ########## CHARGED JETS ##########
56         jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt);
57         task->SetkTChargedJetName(jetFinderTask->GetName());
58         
59         jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cANTIKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt);
60         task->SetAkTChargedJetName(jetFinderTask->GetName());
61         
62         // ########## FULL JETS ##########
63         // No Full jets or clusters are used if run over MCParticles!
64         task->SetkTFullJetName("");
65         task->SetAkTFullJetName("");
66     }
67     else
68     {
69         task->SetTrackName(usedTracks);
70         task->SetClusterName(outClusName);
71         task->SetTrackPtCut(minTrackPt);
72         task->SetClusterPtCut(minClusterPt);
73
74         // ########## CHARGED JETS ##########
75         jetFinderTask = AddTaskEmcalJet(usedTracks,"",cKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
76         task->SetkTChargedJetName(jetFinderTask->GetName());
77         
78         jetFinderTask = AddTaskEmcalJet(usedTracks,"",cANTIKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
79         task->SetAkTChargedJetName(jetFinderTask->GetName());
80         
81         // ########## FULL JETS ##########
82         jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
83         task->SetkTFullJetName(jetFinderTask->GetName());
84
85         jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
86         task->SetAkTFullJetName(jetFinderTask->GetName());
87     }
88
89     task->SetRjet(drjet);
90     task->SetCentralityTag(centEst);
91     task->SetScaleFactor(scaleFactor);
92     task->SelectCollisionCandidates(AliVEvent::kINT7);
93     
94     mgr->AddTask(task);
95
96     AliAnalysisDataContainer *coutput = mgr->CreateContainer(listName,TList::Class(),AliAnalysisManager::kOutputContainer,fileName);
97     mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
98     mgr->ConnectOutput(task,1,coutput);
99
100     return task;
101
102 }