//______________________________________________________________________________
void runEMCalJetAnalysis(
- const char* dataType = "ESD", // set the analysis type, AOD, ESD or sESD
- Bool_t useGrid = kFALSE, // local or grid
+ Bool_t useGrid = kTRUE, // local or grid
const char* gridMode = "test", // set the grid run mode (can be "full", "test", "offline", "submit" or "terminate")
- const char* pattern = "*ESDs/pass2/*ESDs.root", // file pattern (here one can specify subdirs like passX etc.) (used on grid)
- const char* gridDir = "/alice/data/2012/LHC12g", // dir on alien, where the files live (used on grid)
- const char* runNumbers = "188359 188362", // considered run numbers (used on grid)
+ const char* dataType = "AOD", // set the analysis type, AOD, ESD or sESD
+ const char* pattern = "*ESDs/pass2/AOD145/*AOD.root", // file pattern (here one can specify subdirs like passX etc.) (used on grid)
+ const char* gridDir = "/alice/data/2011/LHC11h_2", // dir on alien, where the files live (used on grid)
+ const char* runNumbers = "167903 167915", // considered run numbers (used on grid)
UInt_t numLocalFiles = 50, // number of files analyzed locally
- const char* runPeriod = "LHC12g", // set the run period (used on grid)
- const char* uniqueName = "EMCalJF_LEGOTrainTest", // sets base string for the name of the task on the grid
- UInt_t pSel = AliVEvent::kAny, // used event selection for every task except for the analysis tasks
- Bool_t useTender = kFALSE, // trigger, if tender task should be used
+ const char* runPeriod = "LHC11h", // set the run period (used on grid)
+ const char* uniqueName = "EMCalJF_LEGOTrainTest", // sets base string for the name of the train on the grid
+ UInt_t pSel = AliVEvent::kAny, // used event selection for every task
+ Bool_t useTender = kTRUE, // trigger, if tender, track and cluster selection should be used (always)
Bool_t isMC = kFALSE, // trigger, if MC handler should be used
-
+ Bool_t doBkg = kTRUE,
// Here you have to specify additional code files you want to use but that are not in aliroot
const char* addCXXs = "",
const char* addHs = "",
{
cout << "Data type not recognized! You have to specify ESD, AOD, or sESD!\n";
}
-
+
if(!useGrid)
cout << "Using " << localFiles.Data() << " as input file list.\n";
// ################# Now: Add some basic tasks
// Physics selection task
- gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
- AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE, pSel, 5, 5, 10, kTRUE, -1, -1, -1, -1);
-
- if (!physSelTask)
- {
- cout << "no physSelTask";
- return;
+ if(!isMC) {
+ gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPhysicsSelection.C");
+ AliPhysicsSelectionTask *physSelTask = AddTaskEmcalPhysicsSelection(kTRUE, kTRUE, pSel, 5, 5, 10, kTRUE, -1, -1, -1, -1);
+ if (!physSelTask) {
+ cout << "no physSelTask but running on data" << endl;
+ return;
+ }
}
// Centrality task
setupTask->SetGeoPath("$ALICE_ROOT/OADB/EMCAL");
// Tender Supplies
- if (useTender)
- {
- gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEMCALTender.C");
- AliAnalysisTaskSE *tender = AddTaskEMCALTender(runPeriod, kTRUE, kTRUE, kTRUE, kTRUE, kTRUE, kFALSE, kTRUE, kTRUE, kTRUE,
- AliEMCALRecoUtils::kBeamTestCorrected,kTRUE,0.1,0.05,AliEMCALRecParam::kClusterizerv2,
- kFALSE,kFALSE,-1,1e6,1e6);
- if (usedData != "AOD" && !useGrid) {
- AliTender *alitender = dynamic_cast<AliTender*>(tender);
- alitender->SetDefaultCDBStorage("local://$ALICE_ROOT/OCDB");
- }
+ if (useTender) {
+ gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPreparation.C");
+ //adjust pass when running locally. On grid give empty string, will be picked up automatically from path to ESD/AOD file
+ AliAnalysisTaskSE *clusm = AddTaskEmcalPreparation(runPeriod,"pass1");
}
+ // Names of the different objects passed around; these are the default names; added here mostly for documentation purposes
+ // rhoName is only set if the background calculation is switched on (doBkg)
+ TString tracksName = "PicoTracks";
+ TString clustersName = "EmcCaloClusters";
+ TString clustersCorrName = "CaloClustersCorr";
+ TString rhoName = "";
+
// ################# Now: Call jet preparation macro (picotracks, hadronic corrected caloclusters, ...)
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskJetPreparation.C");
- AddTaskJetPreparation(periodName);
+ TString particlesMCName = "";
+ if(isMC) particlesMCName = "MCParticlesSelected";
+ AddTaskJetPreparation(runPeriod, tracksName, particlesMCName.Data(), clustersName, clustersCorrName);
// ################# Now: Add jet finders+analyzers
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
- AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet("PicoTracks", "CaloClustersCorr", kANTIKT, 0.2, kCHARGEDJETS, 0.150, 0.300);
-
+ AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(tracksName, clustersCorrName, kANTIKT, 0.2, kCHARGEDJETS, 0.150, 0.300);
+
+ if (doBkg) {
+ rhoName = "Rho";
+ AliEmcalJetTask* jetFinderTaskKT = AddTaskEmcalJet(tracksName, clustersCorrName, kKT, 0.2, kCHARGEDJETS, 0.150, 0.300);
+
+ TString kTpcKtJetsName = jetFinderTaskKT->GetName();
+ gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskRho.C");
+ rhotask = (AliAnalysisTaskRho*) AddTaskRho(kTpcKtJetsName, tracksName, clustersCorrName, rhoName, 0.2, "TPC", 0.01, 0, 0, 2, kTRUE);
+ //rhotask__->SetScaleFunction(sfunc);
+ //rhotask->SelectCollisionCandidates(kPhysSel);
+ rhotask->SetHistoBins(100,0,250);
+ }
// Here you can put in your AddTaskMacro for your task
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSample.C");
- AliAnalysisTaskEmcalJetSample* anaTask = AddTaskEmcalJetSample("PicoTracks", "CaloClustersCorr", jetFinderTask->GetName(), "",4);
+ AliAnalysisTaskEmcalJetSample* anaTask = 0;
+ AddTaskEmcalJetSample(tracksName, clustersCorrName, jetFinderTask->GetName(), rhoName, 4);
// Set the physics selection for all given tasks
TObjArray *toptasks = mgr->GetTasks();
gSystem->Load("libCORRFW");
gSystem->Load("libTOFbase");
//gSystem->Load("libTOFrec");
- gSystem->Load("libRAWDatabase.so");
- gSystem->Load("libRAWDatarec.so");
- gSystem->Load("libTPCbase.so");
- gSystem->Load("libTPCrec.so");
- gSystem->Load("libITSbase.so");
- gSystem->Load("libITSrec.so");
- gSystem->Load("libTRDbase.so");
- gSystem->Load("libTENDER.so");
- gSystem->Load("libSTAT.so");
- gSystem->Load("libTRDrec.so");
- gSystem->Load("libHMPIDbase.so");
- gSystem->Load("libPWGPP.so");
+ gSystem->Load("libRAWDatabase");
+ gSystem->Load("libRAWDatarec");
+ gSystem->Load("libTPCbase");
+ gSystem->Load("libTPCrec");
+ gSystem->Load("libITSbase");
+ gSystem->Load("libITSrec");
+ gSystem->Load("libTRDbase");
+ gSystem->Load("libTender");
+ gSystem->Load("libSTAT");
+ gSystem->Load("libTRDrec");
+ gSystem->Load("libHMPIDbase");
+ gSystem->Load("libPWGPP");
gSystem->Load("libPWGHFbase");
gSystem->Load("libPWGDQdielectron");
gSystem->Load("libPWGHFhfe");
gSystem->Load("libTRDbase");
gSystem->Load("libVZERObase");
gSystem->Load("libVZEROrec");
- gSystem->Load("libTENDER");
- gSystem->Load("libTENDERSupplies");
+ gSystem->Load("libTender");
+ gSystem->Load("libTenderSupplies");
gSystem->Load("libPWGTools");
gSystem->Load("libPWGEMCAL");
gSystem->Load("libESDfilter");
gSystem->Load("libCGAL");
gSystem->Load("libfastjet");
//For FastJet 3.x use siscon*,fastjetplugins for 2.x use SISConePlugin
- gSystem->Load("libSISConePlugin");
- gSystem->Load("libCDFConesPlugin");
- // gSystem->Load("libsiscone");
- // gSystem->Load("libsiscone_spherical");
- // gSystem->Load("libfastjetplugins");
+ // gSystem->Load("libSISConePlugin");
+ // gSystem->Load("libCDFConesPlugin");
+ gSystem->Load("libsiscone");
+ gSystem->Load("libsiscone_spherical");
+ gSystem->Load("libfastjetplugins");
+ gSystem->Load("libfastjettools");
+ gSystem->Load("libfastjetcontribfragile");
+ //
gSystem->Load("libJETAN");
- gSystem->Load("libFASTJETAN");
+// gSystem->Load("libFASTJETAN");
gSystem->Load("libPWGJEEMCALJetTasks");
}
TString tmpAdditionalLibs("");
- tmpAdditionalLibs = Form("libTree.so libVMC.so libGeom.so libGui.so libXMLParser.so libMinuit.so libMinuit2.so libProof.so libPhysics.so libSTEERBase.so libESD.so libAOD.so libOADB.so libANALYSIS.so libCDB.so libRAWDatabase.so libSTEER.so libANALYSISalice.so libCORRFW.so libTOFbase.so libRAWDatabase.so libRAWDatarec.so libTPCbase.so libTPCrec.so libITSbase.so libITSrec.so libTRDbase.so libTENDER.so libSTAT.so libTRDrec.so libHMPIDbase.so libPWGPP.so libPWGHFbase.so libPWGDQdielectron.so libPWGHFhfe.so libEMCALUtils.so libPHOSUtils.so libPWGCaloTrackCorrBase.so libEMCALraw.so libEMCALbase.so libEMCALrec.so libTRDbase.so libVZERObase.so libVZEROrec.so libTENDER.so libTENDERSupplies.so libESDfilter.so libPWGTools.so libPWGEMCAL.so libPWGGAEMCALTasks.so libPWGCFCorrelationsBase.so libPWGCFCorrelationsDPhi.so libCGAL.so libJETAN.so libfastjet.so libSISConePlugin.so libCDFConesPlugin.so libFASTJETAN.so libPWGJE.so libPWGmuon.so libPWGJEEMCALJetTasks.so %s %s",additionalCode.Data(),additionalHeaders.Data());
+ tmpAdditionalLibs = Form("libTree.so libVMC.so libGeom.so libGui.so libXMLParser.so libMinuit.so libMinuit2.so libProof.so libPhysics.so libSTEERBase.so libESD.so libAOD.so libOADB.so libANALYSIS.so libCDB.so libRAWDatabase.so libSTEER.so libANALYSISalice.so libCORRFW.so libTOFbase.so libRAWDatabase.so libRAWDatarec.so libTPCbase.so libTPCrec.so libITSbase.so libITSrec.so libTRDbase.so libTender.so libSTAT.so libTRDrec.so libHMPIDbase.so libPWGPP.so libPWGHFbase.so libPWGDQdielectron.so libPWGHFhfe.so libEMCALUtils.so libPHOSUtils.so libPWGCaloTrackCorrBase.so libEMCALraw.so libEMCALbase.so libEMCALrec.so libTRDbase.so libVZERObase.so libVZEROrec.so libTender.so libTenderSupplies.so libESDfilter.so libPWGTools.so libPWGEMCAL.so libPWGGAEMCALTasks.so libPWGCFCorrelationsBase.so libPWGCFCorrelationsDPhi.so libCGAL.so libJETAN.so libfastjet.so libsiscone.so libsiscone_spherical.so libfastjetplugins.so libfastjettools.so libfastjetcontribfragile.so libPWGJE.so libPWGmuon.so libPWGJEEMCALJetTasks.so %s %s",additionalCode.Data(),additionalHeaders.Data());
TString macroName("");
// Here you can set the (Ali)ROOT version you want to use
plugin->SetAPIVersion("V1.1x");
- plugin->SetROOTVersion("v5-34-02-1");
- plugin->SetAliROOTVersion("v5-04-21-AN-1");
+ plugin->SetROOTVersion("v5-34-08-6");
+ plugin->SetAliROOTVersion("vAN-20140525");
plugin->SetGridDataDir(gridDir); // e.g. "/alice/sim/LHC10a6"
plugin->SetDataPattern(pattern); //dir structure in run directory