4 const char *datatype = "aod", // aod, esd, sesd
5 const char *runtype = "local", // local or grid (when local gridmode specifies input txt file)
6 const char *gridmode = "aod_files.txt", // grid mode (can be "full", "test", "offline", "submit" or "terminate")
7 const char *taskname = "JetAna") // name of grid generated macros
10 enum eDataType { kAod, kEsd, kSesd };
11 enum eRunType { kLocal, kGrid };
13 eRunType rType = kLocal;
14 if (strcmp(runtype, "grid")==0)
16 eDataType dType = kAod;
17 if (strcmp(datatype, "esd")==0)
19 else if (strcmp(datatype, "sesd")==0)
26 AliAnalysisManager* mgr = new AliAnalysisManager(taskname);
29 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddAODHandler.C");
30 AliAODInputHandler* inH = AddAODHandler();
32 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddESDHandler.C");
33 AliESDInputHandler* inH = AddESDHandler();
37 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddAODOutputHandler.C");
38 AliAODHandler* aodoutHandler = AddAODOutputHandler();
42 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
43 AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE,
44 AliVEvent::kAnyINT /*| AliVEvent::kCentral| AliVEvent::kSemiCentral*/,
48 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalSetup.C");
49 AliEmcalSetupTask *setupTask = AddTaskEmcalSetup();
51 // Compatibility task (for skimmed ESD)
53 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalCompat.C");
54 AliEmcalCompatTask *comptask = AddTaskEmcalCompat();
59 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
60 AliCentralitySelectionTask *centralityTask = AddTaskCentrality();
63 TString inputTracks("tracks");
65 inputTracks = "HybridTracks";
67 // Hybrid tracks maker for ESD
68 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalEsdTpcTrack.C");
69 AliEmcalEsdTpcTrackTask *hybTask = AddTaskEmcalEsdTpcTrack(inputTracks);
72 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalTrackPropagator.C");
73 AliEmcalTrackPropagatorTask *propTask = AddTaskEmcalTrackPropagator(inputTracks);
75 else if (dType == kSesd) {
76 inputTracks = "Tracks";
80 TString tracksName("PicoTracks");
81 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C");
82 AliEmcalPicoTrackMaker *pTrackTask = AddTaskEmcalPicoTrackMaker(tracksName, inputTracks, "LHC11h");
84 TString clusName("CaloClusters");
86 clusName = "caloClusters";
88 // EmcalParticle maker
89 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalParticleMaker.C");
90 AliEmcalParticleMaker *emcalParts =
91 AddTaskEmcalParticleMaker(tracksName,clusName,"EmcalTracks","EmcalClusters");
93 // Cluster-track matcher
94 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalClusTrackMatcher.C");
95 AliEmcalClusTrackMatcherTask *matcherTask = AddTaskEmcalClusTrackMatcher("EmcalTracks","EmcalClusters");
97 // Hadronic correction task
98 TString clusNameCorr(Form("%sCorr",clusName.Data()));
99 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskHadCorr.C");
100 AliHadCorrTask *hcorr = AddTaskHadCorr("EmcalTracks","EmcalClusters",clusNameCorr);
104 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskJetEmbedding.C");
105 AliJetEmbeddingTask* jemb = AddTaskJetEmbedding(tracksName, clusNameCorr, "JetEmbeddingTask", 10, 10, -0.9, 0.9);
108 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
109 AliEmcalJetTask *jetTask = AddTaskEmcalJet(tracksName, clusNameCorr);
112 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskScale.C");
113 AliAnalysisTaskScale *scaleTask = AddTaskScale(tracksName, clusNameCorr);
116 UInt_t val = AliVEvent::kAny;
117 //val = AliVEvent::kAnyINT | AliVEvent::kCentral| AliVEvent::kSemiCentral;
118 //val = AliVEvent::kEMCEGA;
119 //val = AliVEvent::kEMCEJE;
120 val = AliEmcalPhysicsSelection::kEmcalHT;
122 TObjArray *toptasks = mgr->GetTasks();
123 for (Int_t i=0; i<toptasks->GetEntries(); ++i) {
124 AliAnalysisTaskSE *task = dynamic_cast<AliAnalysisTaskSE*>(toptasks->At(i));
127 TString name(task->ClassName());
128 if (name.Contains("PhysicsSelection"))
130 ::Info("setPSel", "Set physics selection for %s (%s)", task->GetName(), task->ClassName());
131 task->SelectCollisionCandidates(val);
135 mgr->SetDebugLevel(0);
136 mgr->SetUseProgressBar(1, 25);
138 if (!mgr->InitAnalysis())
142 if (rType == kGrid) {
143 mgr->StartAnalysis(gridmode);
145 const char *txtfile = gridmode;
147 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/CreateAODChain.C");
148 chain = CreateAODChain(txtfile, 5);
150 gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/CreateESDChain.C");
151 TChain* chain = CreateESDChain(txtfile, 5);
153 mgr->StartAnalysis("local", chain);
161 // load root libraries
162 gSystem->Load("libTree");
163 gSystem->Load("libVMC");
164 gSystem->Load("libGui");
165 gSystem->Load("libXMLParser");
166 gSystem->Load("libMinuit");
167 gSystem->Load("libMinuit2");
168 gSystem->Load("libProof");
169 gSystem->Load("libGeom");
170 gSystem->Load("libPhysics");
172 // load aliroot libraries
173 gSystem->Load("libSTEERBase");
174 gSystem->Load("libESD");
175 gSystem->Load("libAOD");
176 gSystem->Load("libOADB");
177 gSystem->Load("libANALYSIS");
178 gSystem->Load("libANALYSISalice");
179 gSystem->Load("libCDB");
180 gSystem->Load("libRAWDatabase");
181 gSystem->Load("libSTEER");
182 gSystem->Load("libCORRFW");
183 gSystem->Load("libEMCALUtils");
184 gSystem->Load("libPHOSUtils");
185 gSystem->Load("libPWGCaloTrackCorrBase");
186 gSystem->Load("libPWGGACaloTrackCorrelations");
187 gSystem->Load("libPWGGACaloTasks");
188 gSystem->Load("libEMCALraw");
189 gSystem->Load("libEMCALbase");
190 gSystem->Load("libEMCALrec");
191 gSystem->Load("libTRDbase");
192 gSystem->Load("libVZERObase");
193 gSystem->Load("libVZEROrec");
194 gSystem->Load("libTENDER");
195 gSystem->Load("libTENDERSupplies");
197 // load fastjet libraries
198 gSystem->Load("libJETAN");
199 gSystem->Load("/usr/lib64/libCGAL.so");
200 gSystem->Load("$FASTJET/lib/libfastjet");
201 gSystem->Load("$FASTJET/lib/libsiscone");
202 gSystem->Load("$FASTJET/lib/libSISConePlugin");
203 gSystem->Load("libFASTJETAN");
204 gSystem->Load("libPWGEMCAL");
205 gSystem->Load("libPWGGAEMCALTasks");
206 gSystem->Load("libPWGJEEMCALJetTasks");
209 AliAnalysisGrid* CreateAlienHandler(const char *taskname,
210 const char *gridmode,
211 const char *proofcluster,
212 const char *proofdataset)