ROOT logo
/**
 * @file   MakeRespMatrTrain.C
 * @author Valentina Zaccolo
 * @date   Fri Jan  11 14:47:26 2013
 * 
 * @brief  
 * 
 * @ingroup pwglf_forward_trains_specific
 * 
 * @ingroup pwglf_forward_multdist
 */
#include "TrainSetup.C"

//====================================================================
/**
 * Analysis train to make @f$ Response Matrices@f$
 * 
 *
 * @ingroup pwglf_forward_multdist
 * @ingroup pwglf_forward_trains_specific
 */
class MakeRespMatrTrain : public TrainSetup
{
public:
  /** 
   * Constructor.  
   * 
   * @param name     Name of train (free form)
   */
  MakeRespMatrTrain(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);
  }
protected:
  /** 
   * Make the tasks 
   * 
   */
  void CreateTasks(AliAnalysisManager*)
  {
    // --- Output file name ------------------------------------------
    AliAnalysisManager::SetCommonFileName("forward_response.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);

    // --- Form arguments --------------------------------------------
    TString args;
    args.Form("\"%s\",%f,%f", trig.Data(), vzMin, vzMax);
    // --- Add the task ----------------------------------------------
    CoupleCar("AddTaskCreateRespMatr.C", 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; }
  /** 
   * Never ever make an MC input handler! (we're working on AODs,
   * right?)
   */
  AliVEventHandler* CreateMCHandler(UShort_t type, bool mc) { return 0; }
  //__________________________________________________________________
  const char* ClassName() const { return "MakeRespMatrTrain"; }
  //__________________________________________________________________
  
};
//
// EOF
//
 MakeRespMatrTrain.C:1
 MakeRespMatrTrain.C:2
 MakeRespMatrTrain.C:3
 MakeRespMatrTrain.C:4
 MakeRespMatrTrain.C:5
 MakeRespMatrTrain.C:6
 MakeRespMatrTrain.C:7
 MakeRespMatrTrain.C:8
 MakeRespMatrTrain.C:9
 MakeRespMatrTrain.C:10
 MakeRespMatrTrain.C:11
 MakeRespMatrTrain.C:12
 MakeRespMatrTrain.C:13
 MakeRespMatrTrain.C:14
 MakeRespMatrTrain.C:15
 MakeRespMatrTrain.C:16
 MakeRespMatrTrain.C:17
 MakeRespMatrTrain.C:18
 MakeRespMatrTrain.C:19
 MakeRespMatrTrain.C:20
 MakeRespMatrTrain.C:21
 MakeRespMatrTrain.C:22
 MakeRespMatrTrain.C:23
 MakeRespMatrTrain.C:24
 MakeRespMatrTrain.C:25
 MakeRespMatrTrain.C:26
 MakeRespMatrTrain.C:27
 MakeRespMatrTrain.C:28
 MakeRespMatrTrain.C:29
 MakeRespMatrTrain.C:30
 MakeRespMatrTrain.C:31
 MakeRespMatrTrain.C:32
 MakeRespMatrTrain.C:33
 MakeRespMatrTrain.C:34
 MakeRespMatrTrain.C:35
 MakeRespMatrTrain.C:36
 MakeRespMatrTrain.C:37
 MakeRespMatrTrain.C:38
 MakeRespMatrTrain.C:39
 MakeRespMatrTrain.C:40
 MakeRespMatrTrain.C:41
 MakeRespMatrTrain.C:42
 MakeRespMatrTrain.C:43
 MakeRespMatrTrain.C:44
 MakeRespMatrTrain.C:45
 MakeRespMatrTrain.C:46
 MakeRespMatrTrain.C:47
 MakeRespMatrTrain.C:48
 MakeRespMatrTrain.C:49
 MakeRespMatrTrain.C:50
 MakeRespMatrTrain.C:51
 MakeRespMatrTrain.C:52
 MakeRespMatrTrain.C:53
 MakeRespMatrTrain.C:54
 MakeRespMatrTrain.C:55
 MakeRespMatrTrain.C:56
 MakeRespMatrTrain.C:57
 MakeRespMatrTrain.C:58
 MakeRespMatrTrain.C:59
 MakeRespMatrTrain.C:60
 MakeRespMatrTrain.C:61
 MakeRespMatrTrain.C:62
 MakeRespMatrTrain.C:63
 MakeRespMatrTrain.C:64
 MakeRespMatrTrain.C:65
 MakeRespMatrTrain.C:66
 MakeRespMatrTrain.C:67
 MakeRespMatrTrain.C:68
 MakeRespMatrTrain.C:69
 MakeRespMatrTrain.C:70
 MakeRespMatrTrain.C:71
 MakeRespMatrTrain.C:72
 MakeRespMatrTrain.C:73
 MakeRespMatrTrain.C:74
 MakeRespMatrTrain.C:75
 MakeRespMatrTrain.C:76
 MakeRespMatrTrain.C:77
 MakeRespMatrTrain.C:78
 MakeRespMatrTrain.C:79
 MakeRespMatrTrain.C:80
 MakeRespMatrTrain.C:81
 MakeRespMatrTrain.C:82
 MakeRespMatrTrain.C:83
 MakeRespMatrTrain.C:84
 MakeRespMatrTrain.C:85
 MakeRespMatrTrain.C:86
 MakeRespMatrTrain.C:87
 MakeRespMatrTrain.C:88
 MakeRespMatrTrain.C:89
 MakeRespMatrTrain.C:90