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