*/
/** Path to CDB */
const char *cdbPath = "raw://";
-
+Bool_t cholm = false;
/**
* Interface (pure virtual) that all configuration classes must
* implement.
/** @return Forward mult task (PWGLF) */
virtual Bool_t UsePWGLFForward() const = 0;
/* @} */
+ /**
+ * Print one flag
+ *
+ * @param title Title
+ * @param use Use or not
+ */
+ virtual void PrintOne(const char* title, Bool_t use) const
+ {
+ Printf("%-30s : %3s", title, use ? "yes" : "no");
+ }
+ /**
+ * Print settings
+ *
+ */
+ virtual void Print() const {
+ PrintOne("Connect to CDB", UseCDBconnect());
+ PrintOne("Use physics selection", UsePhysicsSelection());
+ PrintOne("Use tender wagon", UseTender());
+ PrintOne("Use centrality", UseCentrality());
+ PrintOne("Use V0 correction in tender", UseV0tender());
+ PrintOne("Activate debugging", UseDBG());
+ PrintOne("Use MC info", UseMC());
+ PrintOne("Use Kinematics filter", UseKFILTER());
+ PrintOne("Use track references", UseTR());
+ PrintOne("Use correction framework", UseCORRFW());
+ PrintOne("Use AOD tags", UseAODTAGS());
+ PrintOne("Use sys info", UseSysInfo());
+ PrintOne("Produces an AOD or dAOD's", UseAODhandler());
+ PrintOne("ESD to AOD filter", UseESDfilter());
+ PrintOne("Use Muon train ", UsePWGMuonTrain());
+ PrintOne("Copy muon events", UseMUONcopyAOD());
+ PrintOne("Jet analysis (PWG4)", UseJETAN());
+ PrintOne("Jet delta AODs", UseJETANdelta());
+ PrintOne("Vertexing HF task (PWG3)", UsePWGHFvertexing());
+ PrintOne("JPSI filtering (PWG3)", UsePWGDQJPSIfilter());
+ PrintOne("D0->2 hadrons (PWG3)", UsePWGHFd2h());
+ PrintOne("PID response", UsePIDResponse());
+ PrintOne("Forward mult task (PWGLF)", UsePWGLFForward());
+ }
};
VirtualAODCfg* aodCfg = 0;
// CDBconnect
if ((aodCfg->UseCDBconnect() && !aodCfg->UseTender())
&& !LoadLibrary("PWGPP")) return false;
- if ((aodCfg->UseESDfilter() || aodCfg->UsePWGMuonTrain())
- && !LoadLibrary("PWGmuon")) return kFALSE;
+ if ((aodCfg->UseESDfilter() ||
+ (aodCfg->UsePWGMuonTrain() && detCfg->UseMUON())))
+ if (!LoadLibrary("PWGmuon")) return kFALSE;
// JETAN
- if ((aodCfg->UseJETAN() || aodCfg->UseJETANdelta())
- && !LoadLibrary("JETAN")) return kFALSE;
+ if ((aodCfg->UseJETAN() || aodCfg->UseJETANdelta()))
+ if (!LoadLibrary("JETAN")) return kFALSE;
if (aodCfg->UseJETANdelta()) { // CINT doesn't like long '||' chains
if (!LoadLibrary("CGAL")) return false;
if (!LoadLibrary("fastjet")) return false;
}
// PWG3 Vertexing HF
- if ((aodCfg->UsePWGHFvertexing() || aodCfg->UsePWGHFd2h())) {
+ if (aodCfg->UsePWGHFvertexing() || aodCfg->UsePWGHFd2h())) {
// CINT doesn't like long '||' chains
if (!LoadLibrary("PWGflowBase")) return false;
if (!LoadLibrary("PWGflowTasks")) return false;
- // if (!LoadLibrary("PWGTRD")) return false;
+ if (cholm) if (!LoadLibrary("PWGTRD")) return false;
if (!LoadLibrary("PWGHFvertexingHF")) return false;
}
}
// --- PWGLF - Forward (cholm@nbi.dk) -----------------------------
- if (aodCfg->UsePWGLFForward() && aodCfg->UsePhysicsSelection()) {
+ if (aodCfg->UsePWGLFForward() &&
+ aodCfg->UsePhysicsSelection() &&
+ detCfg->UseFMD()) {
gROOT->LoadMacro(pwglf+"/FORWARD/analysis2/AddTaskForwardMult.C");
// Arguments are
// mc Assume MC input
// config Configuration script
// corrdir Possible directory containing custom OADB corrections
// HACK load custom corrections
- Info("", "Adding forward AOD task with mc=%d",aodCfg->UseMC() && aodCfg->UseTR());
+ Info("", "Adding forward AOD task with mc=%d",
+ aodCfg->UseMC() && aodCfg->UseTR());
AddTaskForwardMult(aodCfg->UseMC() && aodCfg->UseTR(),0,0,0,0,
"ForwardAODConfig.C",".");
gROOT->LoadMacro(pwglf+"/FORWARD/analysis2/AddTaskCentralMult.C");
if (aodCfg->UseESDfilter()) {
// ESD filter task configuration.
gROOT->LoadMacro(ana+"/ESDfilter/macros/AddTaskESDFilter.C");
- if (aodCfg->UseMUONcopyAOD()) {
+ if (aodCfg->UseMUONcopyAOD() && detCfg->UseMUON()) {
printf("Registering delta AOD file\n");
mgr->RegisterExtraFile("AliAOD.Muons.root");
mgr->RegisterExtraFile("AliAOD.Dimuons.root");
}
// --- PWG3 D2h ----------------------------------------------------
- if (aodCfg->UsePWGHFd2h()) {
+ if (aodCfg->UsePWGHFd2h() && aodCfg->UsePWGHFvertexing()) {
gROOT->LoadMacro(pwghf+"/vertexingHF/AddD2HTrain.C");
TFile::Cp(gSystem->ExpandPathName(configPWGHFd2h.Data()),
"file:ConfigVertexingHF.C");
outputFiles.Add(new TObjString("AliAOD.root,"));
if (aodCfg->UsePWGHFvertexing())
outputFiles.Add(new TObjString("AliAOD.VertexingHF.root,"));
- if (aodCfg->UseESDfilter() && aodCfg->UseMUONcopyAOD())
+ if (aodCfg->UseESDfilter() &&
+ aodCfg->UseMUONcopyAOD() &&
+ detCfg->UseMUON())
outputFiles.Add(new TObjString("AliAOD.Muons.root,"));
if (aodCfg->UseJETAN())
outputFiles.Add(new TObjString("AliAOD.Jets.root,"));
outputFiles.Add(new TObjString("AliAOD.Dielectron.root,"));
outputFiles.Add(new TObjString("pyxsec_hists.root"));
TString mergeExcludes = "";
- TIter iter(outputFiles);
+ TIter iter(&outputFiles);
TObjString* str = 0;
Bool_t merged = kTRUE;
while ((str = static_cast<TObjString*>(iter()))) {
*/
void AOD(UInt_t run, const char* xmlfile=0, Int_t stage=0)
{
+ TString host(gSystem->HostName());
+ cholm = host.BeginsWith("hehi");
+ if (cholm) TGrid::Connect("alien:");
+
// -----------------------------------------------------------------
//
// Get GRP parameters. Defines global "grp" as a pointer to GRPData
//
gROOT->Macro(Form("GRP.C(%d)", run));
gROOT->Macro("AODConfig.C");
+ gROOT->Macro("DetConfig.C");
// --- Some settings -----------------------------------------------
// Set temporary merging directory to current one
printf("=========== RUNNING FILTERING TRAIN ==========\n");
printf("===================================================\n");
printf("= Configuring analysis train for:\n");
- if (aodCfg->UsePhysicsSelection()) printf("= Physics selection");
- if (aodCfg->UseTender()) printf("= TENDER");
- if (aodCfg->UseESDfilter()) printf("= ESD filter");
- if (aodCfg->UseMUONcopyAOD()) printf("= MUON copy AOD");
- if (aodCfg->UseJETAN()) printf("= Jet analysis");
- if (aodCfg->UseJETANdelta()) printf("= Jet delta AODs");
- if (aodCfg->UsePWGHFvertexing()) printf("= PWGHF vertexing");
- if (aodCfg->UsePWGDQJPSIfilter()) printf("= PWGDQ j/psi filter");
- if (aodCfg->UsePWGHFd2h()) printf("= PWGHF D0->2 hadrons QA");
+ aodCfg->Print();
// Load common libraries and set include path
if (!LoadCommonLibraries()) {