]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSpectraMECpA.C
from chris
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalJetSpectraMECpA.C
CommitLineData
d7afd9ac 1// $Id$
2
3AliAnalysisTaskEmcalJetSpectraMECpA* AddTaskEmcalJetSpectraMECpA(
4 const char *outfilename = "AnalysisOutput.root",
d7afd9ac 5 UInt_t type = AliAnalysisTaskEmcal::kTPC,
e77cf839 6 const char *nRhosCh = "rhoCh",
7 const char *nRhosChEm = "rhoChEm",
719a6f97 8 const char *nRhosEm = "rhoEm",
9e64e697 9 TF1 *sfunc = 0,
f4cde8da 10 const Double_t radius = 0.2,
d7afd9ac 11 const Double_t minPhi = 1.8,
12 const Double_t maxPhi = 2.74,
13 const Double_t minEta = -0.3,
14 const Double_t maxEta = 0.3,
f4cde8da 15 const char* usedTracks = "PicoTracks",
16 const char* outClusName = "CaloClustersCorr",
17 const Double_t minTrackPt = 0.15,
e8df4140 18 const Double_t minClusterPt = 0.30,
19 const char *CentEst = "V0A"
f4cde8da 20 )
d7afd9ac 21{
22 // Get the pointer to the existing analysis manager via the static access method.
23 //==============================================================================
24 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
25 if (!mgr)
26 {
27 ::Error("AddTasEmcalJetSpectraMECpA", "No analysis manager to connect to.");
28 return NULL;
29 }
30
31 // Check the analysis type using the event handlers connected to the analysis manager.
32 //==============================================================================
33 if (!mgr->GetInputEventHandler())
34 {
35 ::Error("AddTaskEmcalJetSpectraMECpA", "This task requires an input event handler");
36 return NULL;
37 }
38
f4cde8da 39 //Run the jet finder and rho tasks first
40
41 // Some constants for the jet finders
42 const Int_t cKT = 0;
43 const Int_t cANTIKT = 1;
44 const Int_t cFULLJETS = 0;
45 const Int_t cCHARGEDJETS = 1;
46 const Int_t cNEUTRALJETS = 2;
f4cde8da 47
719a6f97 48 float AreaCut = 0.6*radius*radius*TMath::Pi();
f4cde8da 49
e77cf839 50 sfunc=new TF1("sfunc","[0]*x*x+[1]*x+[2]",-1,100);
51 sfunc->SetParameter(0,0.0);
52 sfunc->SetParameter(1,0.0);
53 sfunc->SetParameter(2,1.5);
f4cde8da 54
f4cde8da 55
e77cf839 56 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
0c5f6f08 57 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskRhoSparse.C");
719a6f97 58
59 //const char *nJets;
60 TString nJets("");
76884488 61 TString nJetsCh("");
719a6f97 62
63 TString scaledname(Form("%s_Scaled", nRhosCh));
0c5f6f08 64 TString newrhoname(Form("%s_All", nRhosCh));
719a6f97 65
e77cf839 66
719a6f97 67 if(!(usedTracks=="")){
68 cout << "USEDTRACKS EXISTS" << usedTracks <<endl;
69 AliEmcalJetTask* jetFinderTaskChBack = AddTaskEmcalJet(usedTracks,"",cKT,radius,cCHARGEDJETS,minTrackPt, minClusterPt);
f4cde8da 70
0c5f6f08 71 AliEmcalJetTask* jetFinderTaskChBackall = AddTaskEmcalJet(usedTracks,"",cKT,radius,cCHARGEDJETS,minTrackPt, minClusterPt,0.01,"Jets_allpt");
72 jetFinderTaskChBackall->SetMinJetPt(0);
73
74 AliEmcalJetTask* jetFinderTaskChSig = AddTaskEmcalJet(usedTracks,"",cANTIKT,radius,cCHARGEDJETS,minTrackPt, minClusterPt);
75
719a6f97 76 AliEmcalJetTask* jetFinderTaskChEmBack = AddTaskEmcalJet(usedTracks,outClusName,cKT,radius,cFULLJETS,minTrackPt, minClusterPt);
0c5f6f08 77 jetFinderTaskChEmBack->SetMinJetPt(0);
f4cde8da 78
719a6f97 79 AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,radius, cFULLJETS,minTrackPt,minClusterPt);
f4cde8da 80
76884488 81 AliAnalysisTaskRhoSparse *rhochtask = AddTaskRhoSparse(jetFinderTaskChBack->GetName(),jetFinderTaskChSig->GetName(),usedTracks,outClusName,nRhosCh,radius,0,0.01,0,0,sfunc,0,kTRUE,nRhosCh);
e77cf839 82 rhochtask->SetCentralityEstimator(CentEst);
f4cde8da 83
76884488 84 AliAnalysisTaskRhoSparse *rhochalltask = AddTaskRhoSparse(jetFinderTaskChBackall->GetName(),jetFinderTaskChSig->GetName(),usedTracks,outClusName,newrhoname,radius,0,0.0,0,0,sfunc,0,kTRUE,newrhoname);
0c5f6f08 85 rhochtask->SetCentralityEstimator(CentEst);
86
87
76884488 88 AliAnalysisTaskRhoSparse *rhochemtask = AddTaskRhoSparse(jetFinderTaskChEmBack->GetName(),jetFinderTask->GetName(),usedTracks,outClusName,nRhosChEm,radius,0,0.01,0,0,0,0,kTRUE,nRhosChEm);
e77cf839 89 rhochemtask->SetCentralityEstimator(CentEst);
f4cde8da 90
719a6f97 91 //nJets=jetFinderTask->GetName();
92 nJets+=jetFinderTask->GetName();
76884488 93 nJetsCh+=jetFinderTaskChSig->GetName();
e8df4140 94
95 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskDeltaPt.C");
96
719a6f97 97 TString deltaname(Form("DeltaPt_%s_Scaled", nRhosCh));
98 AliAnalysisTaskDeltaPt* deltapt = AddTaskDeltaPt(usedTracks,outClusName,nJets,"","","","","",scaledname,radius,1,AreaCut,minTrackPt,minClusterPt,AliAnalysisTaskEmcal::kEMCAL,deltaname);
99 deltapt->SetCentralityEstimator(CentEst);
100
76884488 101 TString chdeltaname(Form("DeltaPt_%s", nRhosCh));
102 AliAnalysisTaskDeltaPt* deltaptch = AddTaskDeltaPt(usedTracks,"",nJetsCh,"","","","","",nRhosCh,radius,1,AreaCut,minTrackPt,minClusterPt,AliAnalysisTaskEmcal::kTPC,chdeltaname);
103 deltaptch->SetCentralityEstimator(CentEst);
104
719a6f97 105 TString emcdeltaname(Form("DeltaPt_%s", nRhosChEm));
5b9b303d 106 AliAnalysisTaskDeltaPt* deltaptEMC = AddTaskDeltaPt(usedTracks,outClusName,nJets,"","","","","",nRhosChEm,radius,1,AreaCut,minTrackPt,minClusterPt,AliAnalysisTaskEmcal::kEMCAL,emcdeltaname);
76884488 107 deltaptEMC->SetCentralityEstimator(CentEst);
e8df4140 108
719a6f97 109 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskScale.C");
110
5b9b303d 111
112 Int_t radlabel=(Int_t)floor(radius*100+0.5);
113 Int_t mincluslabel=(Int_t)floor(minClusterPt*1000+0.5);
114 Int_t mintracklabel=(Int_t)floor(minTrackPt*1000+0.5);
115 TString scalename(Form("Scale_R0%d", radlabel));
116
117 AliAnalysisTaskScale* scaletask = AddTaskScale(usedTracks,outClusName,minTrackPt,minClusterPt,scalename);
719a6f97 118 scaletask->SetCentralityEstimator(CentEst);
119 scaletask->SetScaleFunction(sfunc);
719a6f97 120
5b9b303d 121
719a6f97 122 }
5b9b303d 123
719a6f97 124 cout << "Running non charged jet finders..." <<endl;
125 AliEmcalJetTask* jetFinderTaskEm = AddTaskEmcalJet("",outClusName,cANTIKT,radius,cNEUTRALJETS,minTrackPt,minClusterPt);
126
127 AliEmcalJetTask* jetFinderTaskEmBack = AddTaskEmcalJet("",outClusName,cKT,radius,cNEUTRALJETS,minTrackPt, minClusterPt);
128
129 cout << "Running non charged rho task..." <<endl;
130
0c5f6f08 131 AliAnalysisTaskRhoSparse *rhoemtask = AddTaskRhoSparse(jetFinderTaskEmBack->GetName(),jetFinderTaskEm->GetName(),usedTracks,outClusName,nRhosEm,radius,0,0.01,0,0,0,1,kTRUE,nRhosEm);
719a6f97 132 rhoemtask->SetCentralityEstimator(CentEst);
133
719a6f97 134 if(usedTracks=="") nJets +=jetFinderTaskEm->GetName();
135
f4cde8da 136
76884488 137
138
139
d7afd9ac 140 //-------------------------------------------------------
141 // Init the task and do settings
142 //-------------------------------------------------------
143
f4cde8da 144
719a6f97 145 cout << "Ready to run my task..." << nJets <<endl;
f4cde8da 146
719a6f97 147 TString name(Form("SpectraMECpA_%s", nJets.Data()));
d7afd9ac 148 AliAnalysisTaskEmcalJetSpectraMECpA *spectratask = new AliAnalysisTaskEmcalJetSpectraMECpA(name);
719a6f97 149 spectratask->SetJetsName(nJets.Data());
e8df4140 150 spectratask->SetCentralityEstimator(CentEst);
d7afd9ac 151 spectratask->SetAnaType(type);
76884488 152 if(!(usedTracks=="")) spectratask->SetRhoName(scaledname);
719a6f97 153 else spectratask->SetRhoName(nRhosEm);
d7afd9ac 154 spectratask->SetJetPhiLimits(minPhi,maxPhi);
155 spectratask->SetJetEtaLimits(minEta,maxEta);
f4cde8da 156 spectratask->SetJetAreaCut(AreaCut);
157 spectratask->SetTracksName(usedTracks);
d7afd9ac 158
159 //-------------------------------------------------------
160 // Final settings, pass to manager and set the containers
161 //-------------------------------------------------------
162
163 mgr->AddTask(spectratask);
164
165 // Create containers for input/output
166 mgr->ConnectInput (spectratask, 0, mgr->GetCommonInputContainer() );
167 AliAnalysisDataContainer *cospectra = mgr->CreateContainer(name,
168 TList::Class(),
169 AliAnalysisManager::kOutputContainer,
170 outfilename);
171 mgr->ConnectOutput(spectratask,1,cospectra);
172
76884488 173 cout << "Ready to run my task..." << nJetsCh <<endl;
174
175 ///
176 if(!(usedTracks=="")){
177
178 TString namech(Form("SpectraMECpA_%s", nJetsCh.Data()));
179 AliAnalysisTaskEmcalJetSpectraMECpA *spectrataskch = new AliAnalysisTaskEmcalJetSpectraMECpA(namech);
180 spectrataskch->SetJetsName(nJetsCh.Data());
181 spectrataskch->SetCentralityEstimator(CentEst);
182 spectrataskch->SetAnaType(type);
183 spectrataskch->SetRhoName(nRhosCh);
184 spectrataskch->SetJetPhiLimits(minPhi,maxPhi);
185 spectrataskch->SetJetEtaLimits(minEta,maxEta);
186 spectrataskch->SetJetAreaCut(AreaCut);
187 spectrataskch->SetTracksName(usedTracks);
188
189 //-------------------------------------------------------
190 // Final settings, pass to manager and set the containers
191 //-------------------------------------------------------
192
193 mgr->AddTask(spectrataskch);
194
195 // Create containers for input/output
196 mgr->ConnectInput (spectrataskch, 0, mgr->GetCommonInputContainer() );
197 AliAnalysisDataContainer *cospectrach = mgr->CreateContainer(namech,
198 TList::Class(),
199 AliAnalysisManager::kOutputContainer,
200 outfilename);
201 mgr->ConnectOutput(spectrataskch,1,cospectrach);
202
203 if(type<1) return spectrataskch;
204
205 }
206
d7afd9ac 207 return spectratask;
208}