ROOT logo
/**
 * @file   MakeMultTrain.C
 * @author Valentina Zaccolo
 * @date   Wed Nov  21 12:47:26 2012
 * 
 * @brief  
 * 
 * @ingroup pwglf_forward_trains_specific
 * @ingroup pwglf_forward_multdist
 * 
 */
#include "TrainSetup.C"

//====================================================================
/**
 * Analysis train to make @f$ Multiplicity Distributions@f$
 * 
 *
 * @ingroup pwglf_forward_multdist
 * @ingroup pwglf_forward_trains_specific
 */
class MakeMultTrain : public TrainSetup
{
public:
  /** 
   * Constructor.  
   * 
   * @param name     Name of train (free form)
   */
 MakeMultTrain(const char* name)
  : TrainSetup(name)
  {
    fOptions.Add("trig",    "TYPE",       "Trigger type",     "V0AND");
    fOptions.Add("vzMin",   "CENTIMETER", "Min Ip Z",         -4);
    fOptions.Add("vzMax",   "CENTIMETER", "Max Ip Z",         +4);
    fOptions.Add("lowCent", "%",          "Min Centrality",   0); 
    fOptions.Add("highCent","%",          "Max Centrality",   0);
    fOptions.Add("nBins",   "N",          "Max Multiplicity", 500);
  }
protected:
  /** 
   * Create the tasks 
   */
  void CreateTasks(AliAnalysisManager*)
  {
    // --- Output file name ------------------------------------------
    AliAnalysisManager::SetCommonFileName("forward_multiplicity.root");

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

    // --- Get parameters --------------------------------------------
    TString  trig     = fOptions.Get("trig");
    Double_t vzMin    = fOptions.AsDouble("vzmin", -4);
    Double_t vzMax    = fOptions.AsDouble("vzmax", +4);
    Int_t    lowCent  = fOptions.AsInt("lowCent",  0);
    Int_t    highCent = fOptions.AsInt("highCent", 0);
    Int_t    nBins    = fOptions.AsInt("nBins",    500);

    // --- Form arguments --------------------------------------------
    TString args;
    args.Form("\"%s\",%f,%f,%d,%d,%d",
	      trig.Data(), vzMin, vzMax, lowCent, highCent, nBins);
    // --- Add the task ----------------------------------------------
    CoupleCar("AddTaskMultDists.C(%s)", args);
  }
  //__________________________________________________________________
  /** 
   * Do not the centrality selection
   */
  void CreateCentralitySelection(Bool_t) {}
  //__________________________________________________________________
  /** 
   * Crete output handler - we don't want one here. 
   * 
   * @return 0
   */
  AliVEventHandler* CreateOutputHandler(UShort_t) { return 0; }
  //__________________________________________________________________
  const char* ClassName() const { return "MakeMultTrain"; }
};
//
// EOF
//
 MakeMultTrain.C:1
 MakeMultTrain.C:2
 MakeMultTrain.C:3
 MakeMultTrain.C:4
 MakeMultTrain.C:5
 MakeMultTrain.C:6
 MakeMultTrain.C:7
 MakeMultTrain.C:8
 MakeMultTrain.C:9
 MakeMultTrain.C:10
 MakeMultTrain.C:11
 MakeMultTrain.C:12
 MakeMultTrain.C:13
 MakeMultTrain.C:14
 MakeMultTrain.C:15
 MakeMultTrain.C:16
 MakeMultTrain.C:17
 MakeMultTrain.C:18
 MakeMultTrain.C:19
 MakeMultTrain.C:20
 MakeMultTrain.C:21
 MakeMultTrain.C:22
 MakeMultTrain.C:23
 MakeMultTrain.C:24
 MakeMultTrain.C:25
 MakeMultTrain.C:26
 MakeMultTrain.C:27
 MakeMultTrain.C:28
 MakeMultTrain.C:29
 MakeMultTrain.C:30
 MakeMultTrain.C:31
 MakeMultTrain.C:32
 MakeMultTrain.C:33
 MakeMultTrain.C:34
 MakeMultTrain.C:35
 MakeMultTrain.C:36
 MakeMultTrain.C:37
 MakeMultTrain.C:38
 MakeMultTrain.C:39
 MakeMultTrain.C:40
 MakeMultTrain.C:41
 MakeMultTrain.C:42
 MakeMultTrain.C:43
 MakeMultTrain.C:44
 MakeMultTrain.C:45
 MakeMultTrain.C:46
 MakeMultTrain.C:47
 MakeMultTrain.C:48
 MakeMultTrain.C:49
 MakeMultTrain.C:50
 MakeMultTrain.C:51
 MakeMultTrain.C:52
 MakeMultTrain.C:53
 MakeMultTrain.C:54
 MakeMultTrain.C:55
 MakeMultTrain.C:56
 MakeMultTrain.C:57
 MakeMultTrain.C:58
 MakeMultTrain.C:59
 MakeMultTrain.C:60
 MakeMultTrain.C:61
 MakeMultTrain.C:62
 MakeMultTrain.C:63
 MakeMultTrain.C:64
 MakeMultTrain.C:65
 MakeMultTrain.C:66
 MakeMultTrain.C:67
 MakeMultTrain.C:68
 MakeMultTrain.C:69
 MakeMultTrain.C:70
 MakeMultTrain.C:71
 MakeMultTrain.C:72
 MakeMultTrain.C:73
 MakeMultTrain.C:74
 MakeMultTrain.C:75
 MakeMultTrain.C:76
 MakeMultTrain.C:77
 MakeMultTrain.C:78
 MakeMultTrain.C:79
 MakeMultTrain.C:80
 MakeMultTrain.C:81
 MakeMultTrain.C:82
 MakeMultTrain.C:83
 MakeMultTrain.C:84
 MakeMultTrain.C:85
 MakeMultTrain.C:86
 MakeMultTrain.C:87
 MakeMultTrain.C:88
 MakeMultTrain.C:89