ROOT logo
/**
 * @file   MakeQATrain.C
 * @author Christian Holm Christensen <cholm@master.hehi.nbi.dk>
 * @date   Fri Jun  1 13:55:02 2012
 * 
 * @brief  
 * 
 * 
 * @ingroup pwglf_forward_trains_specific
 */
#include "TrainSetup.C"

//====================================================================
/**
 * Analysis train to do Quality assurance
 * 
 * @ingroup pwglf_forward_trains_specific
 * @ingroup pwglf_forward_qa
 */
class MakeQATrain : public TrainSetup
{
public:
  /** 
   * Constructor.  Date and time must be specified when running this
   * in Termiante mode on Grid
   * 
   * @param name     Name of train 
   */
  MakeQATrain(const char* name  = "Forward QA") 
    : TrainSetup(name)
  {
    fOptions.Add("cent", "Use centrality");
    fOptions.Set("type", "ESD");
    fOptions.Add("corr", "DIR", "Corrections dir", "");
  }
protected:
  //__________________________________________________________________
  /** 
   * Create the tasks 
   * 
   * @param mgr  Analysis manager 
   */
  void CreateTasks(AliAnalysisManager* mgr)
  {
    // --- Output file name ------------------------------------------
    AliAnalysisManager::SetCommonFileName("forward_qa.root");

    // --- Load libraries/pars ---------------------------------------
    fRailway->LoadLibrary("PWGLFforward2");
    
    // --- Set load path ---------------------------------------------
    gROOT->SetMacroPath(Form("%s:$(ALICE_ROOT)/PWGLF/FORWARD/analysis2",
			     gROOT->GetMacroPath()));

    // --- Check if this is MC ---------------------------------------
    Bool_t mc = mgr->GetMCtruthEventHandler() != 0;

    // --- Add the task ----------------------------------------------
    if (!CoupleCar("AddTaskForwardQA.C", 
		   Form("%d,%d", mc, fOptions.Has("cent"))))
      Fatal("CreateTasks", "Failed to add ForwardQA task");

    TString  cor = "";
    if (fOptions.Has("corr")) cor = fOptions.Get("corr"); 
    if (!cor.IsNull()) {
      fRailway->LoadAux(Form("%s/fmd_corrections.root",cor.Data()), true);
    }
  }
  /** 
   * Create entrality selection if enabled 
   * 
   * @param mc   Whether this is MC or not
   * @param mgr  Analysis manager 
   */
  virtual void CreateCentralitySelection(Bool_t mc)
  {
    if (!fOptions.Has("cent")) return;
    TrainSetup::CreateCentralitySelection(mc);    
  }
  /** 
   * Crete output handler - we don't want one here. 
   * 
   * @return 0
   */
  AliVEventHandler* CreateOutputHandler(UShort_t) { return 0; }
  //__________________________________________________________________
  const char* ClassName() const { return "MakeQATrain"; }
};

//
// EOF
//
 MakeQATrain.C:1
 MakeQATrain.C:2
 MakeQATrain.C:3
 MakeQATrain.C:4
 MakeQATrain.C:5
 MakeQATrain.C:6
 MakeQATrain.C:7
 MakeQATrain.C:8
 MakeQATrain.C:9
 MakeQATrain.C:10
 MakeQATrain.C:11
 MakeQATrain.C:12
 MakeQATrain.C:13
 MakeQATrain.C:14
 MakeQATrain.C:15
 MakeQATrain.C:16
 MakeQATrain.C:17
 MakeQATrain.C:18
 MakeQATrain.C:19
 MakeQATrain.C:20
 MakeQATrain.C:21
 MakeQATrain.C:22
 MakeQATrain.C:23
 MakeQATrain.C:24
 MakeQATrain.C:25
 MakeQATrain.C:26
 MakeQATrain.C:27
 MakeQATrain.C:28
 MakeQATrain.C:29
 MakeQATrain.C:30
 MakeQATrain.C:31
 MakeQATrain.C:32
 MakeQATrain.C:33
 MakeQATrain.C:34
 MakeQATrain.C:35
 MakeQATrain.C:36
 MakeQATrain.C:37
 MakeQATrain.C:38
 MakeQATrain.C:39
 MakeQATrain.C:40
 MakeQATrain.C:41
 MakeQATrain.C:42
 MakeQATrain.C:43
 MakeQATrain.C:44
 MakeQATrain.C:45
 MakeQATrain.C:46
 MakeQATrain.C:47
 MakeQATrain.C:48
 MakeQATrain.C:49
 MakeQATrain.C:50
 MakeQATrain.C:51
 MakeQATrain.C:52
 MakeQATrain.C:53
 MakeQATrain.C:54
 MakeQATrain.C:55
 MakeQATrain.C:56
 MakeQATrain.C:57
 MakeQATrain.C:58
 MakeQATrain.C:59
 MakeQATrain.C:60
 MakeQATrain.C:61
 MakeQATrain.C:62
 MakeQATrain.C:63
 MakeQATrain.C:64
 MakeQATrain.C:65
 MakeQATrain.C:66
 MakeQATrain.C:67
 MakeQATrain.C:68
 MakeQATrain.C:69
 MakeQATrain.C:70
 MakeQATrain.C:71
 MakeQATrain.C:72
 MakeQATrain.C:73
 MakeQATrain.C:74
 MakeQATrain.C:75
 MakeQATrain.C:76
 MakeQATrain.C:77
 MakeQATrain.C:78
 MakeQATrain.C:79
 MakeQATrain.C:80
 MakeQATrain.C:81
 MakeQATrain.C:82
 MakeQATrain.C:83
 MakeQATrain.C:84
 MakeQATrain.C:85
 MakeQATrain.C:86
 MakeQATrain.C:87
 MakeQATrain.C:88
 MakeQATrain.C:89
 MakeQATrain.C:90
 MakeQATrain.C:91
 MakeQATrain.C:92
 MakeQATrain.C:93