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/PWGGA/EMCALTasks/macros/AddTaskEmcalPhysicsSelection.C");
43 AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE,
44 AliVEvent::kAnyINT /*| AliVEvent::kCentral| AliVEvent::kSemiCentral*/,
48 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/AddTaskEmcalSetup.C");
49 AliEmcalSetupTask *setupTask = AddTaskEmcalSetup();
51 // Compatibility task (for skimmed ESD)
53 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/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/PWGGA/EMCALTasks/macros/AddTaskEmcalEsdTpcTrack.C");
69 AliEmcalEsdTpcTrackTask *hybTask = AddTaskEmcalEsdTpcTrack(inputTracks);
72 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/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/PWGGA/EMCALTasks/macros/AddTaskEmcalPicoTrackMaker.C");
82 AliEmcalPicoTrackMaker *pTrackTask = AddTaskEmcalPicoTrackMaker(tracksName, inputTracks, "LHC11h");
84 // Cluster-track matcher
85 TString clusName("CaloClusters");
87 clusName = "caloClusters";
88 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/AddTaskEmcalClusTrackMatcher.C");
89 AliEmcalClusTrackMatcherTask *matcherTask = AddTaskEmcalClusTrackMatcher(tracksName, clusName);
91 // Hadronic correction task
92 TString clusNameCorr(Form("%sCorr",clusName.Data()));
93 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALJetTasks/macros/AddTaskHadCorr.C");
94 AliHadCorrTask *hcorr = AddTaskHadCorr(tracksName, clusName, clusNameCorr);
97 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALJetTasks/macros/AddTaskJetEmbedding.C");
98 AliJetEmbeddingTask* jemb = AddTaskJetEmbedding(tracksName, clusNameCorr, "JetEmbeddingTask", 10, 10, -0.9, 0.9);
101 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALJetTasks/macros/AddTaskEmcalJet.C");
102 AliEmcalJetTask *jetTask = AddTaskEmcalJet(tracksName, clusNameCorr);
105 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALJetTasks/macros/AddTaskScale.C");
106 AliAnalysisTaskScale *scaleTask = AddTaskScale(tracksName, clusNameCorr);
109 UInt_t val = AliVEvent::kAny;
110 //val = AliVEvent::kAnyINT | AliVEvent::kCentral| AliVEvent::kSemiCentral;
111 //val = AliVEvent::kEMCEGA;
112 //val = AliVEvent::kEMCEJE;
113 val = AliEmcalPhysicsSelection::kEmcalHT;
115 TObjArray *toptasks = mgr->GetTasks();
116 for (Int_t i=0; i<toptasks->GetEntries(); ++i) {
117 AliAnalysisTaskSE *task = dynamic_cast<AliAnalysisTaskSE*>(toptasks->At(i));
120 TString name(task->ClassName());
121 if (name.Contains("PhysicsSelection"))
123 ::Info("setPSel", "Set physics selection for %s (%s)", task->GetName(), task->ClassName());
124 task->SelectCollisionCandidates(val);
128 mgr->SetDebugLevel(0);
129 mgr->SetUseProgressBar(1, 25);
131 if (!mgr->InitAnalysis())
135 if (rType == kGrid) {
136 mgr->StartAnalysis(gridmode);
138 const char *txtfile = gridmode;
140 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/CreateAODChain.C");
141 chain = CreateAODChain(txtfile, 5);
143 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/CreateESDChain.C");
144 TChain* chain = CreateESDChain(txtfile, 5);
146 mgr->StartAnalysis("local", chain);
154 // load root libraries
155 gSystem->Load("libTree");
156 gSystem->Load("libVMC");
157 gSystem->Load("libGui");
158 gSystem->Load("libXMLParser");
159 gSystem->Load("libMinuit");
160 gSystem->Load("libMinuit2");
161 gSystem->Load("libProof");
162 gSystem->Load("libGeom");
163 gSystem->Load("libPhysics");
165 // load aliroot libraries
166 gSystem->Load("libSTEERBase");
167 gSystem->Load("libESD");
168 gSystem->Load("libAOD");
169 gSystem->Load("libOADB");
170 gSystem->Load("libANALYSIS");
171 gSystem->Load("libANALYSISalice");
172 gSystem->Load("libCDB");
173 gSystem->Load("libRAWDatabase");
174 gSystem->Load("libSTEER");
175 gSystem->Load("libCORRFW");
176 gSystem->Load("libEMCALUtils");
177 gSystem->Load("libPHOSUtils");
178 gSystem->Load("libPWGCaloTrackCorrBase");
179 gSystem->Load("libPWGGACaloTrackCorrelations");
180 gSystem->Load("libPWGGACaloTasks");
181 gSystem->Load("libPWGGAEMCALTasks");
182 gSystem->Load("libEMCALraw");
183 gSystem->Load("libEMCALbase");
184 gSystem->Load("libEMCALrec");
185 gSystem->Load("libTRDbase");
186 gSystem->Load("libVZERObase");
187 gSystem->Load("libVZEROrec");
188 gSystem->Load("libTENDER");
189 gSystem->Load("libTENDERSupplies");
191 // load fastjet libraries
192 gSystem->Load("libJETAN");
193 gSystem->Load("/usr/lib64/libCGAL.so");
194 gSystem->Load("$FASTJET/lib/libfastjet");
195 gSystem->Load("$FASTJET/lib/libsiscone");
196 gSystem->Load("$FASTJET/lib/libSISConePlugin");
197 gSystem->Load("libFASTJETAN");
198 gSystem->Load("libPWGGAEMCALJetTasks");
201 AliAnalysisGrid* CreateAlienHandler(const char *taskname,
202 const char *gridmode,
203 const char *proofcluster,
204 const char *proofdataset)