const char* runNumbers = "167903 167915", // considered run numbers (used on grid)
UInt_t numLocalFiles = 50, // number of files analyzed locally
const char* runPeriod = "LHC11h", // 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* 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,
+ 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 subtraction is switched on (doBkg)
+ // rhoName is only set if the background calculation is switched on (doBkg)
TString tracksName = "PicoTracks";
- TString clustersName = "CaloClusters";
+ 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(runPeriod, tracksName, "MCParticlesSelected", clustersName, clustersCorrName);
+ 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");
if (doBkg) {
rhoName = "Rho";
- AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(tracksName, clustersCorrName, kKT, 0.2, kCHARGEDJETS, 0.150, 0.300);
+ AliEmcalJetTask* jetFinderTaskKT = AddTaskEmcalJet(tracksName, clustersCorrName, kKT, 0.2, kCHARGEDJETS, 0.150, 0.300);
- TString kTpcKtJetsName(Form("Jet_KTChargedR020_%s_pT0150_%s_ET0300_pt_scheme",tracksName.Data(),clustersCorrName.Data()));
+ 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);
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("");