ROOT logo
/**
 * @file   AddTaskForwarddNdeta.C
 * @author Christian Holm Christensen <cholm@nbi.dk>
 * @date   Fri Jan 28 10:22:26 2011
 * 
 * @brief Script to add a multiplicity task for the central
 *        @f$\eta@f$ region
 * 
 * 
 * @ingroup pwglf_forward_scripts_tasks
 */
/** 
 * Create the MCTruth @f$ dN/d\eta@f$ analysis task 
 * 
 * @param trig      Trigger to use 
 * @param vzMin     Smallest @f$ v_z@f$
 * @param vzMax     Biggest @f$ v_z@f$
 * @param cent      Whether to use the centrality or not
 * @param scheme    Normalisation scheme
 * @param cutEdges  Whether to cut edges when rebinning 
 * @param trigEff   Trigger efficiency 
 * @param trigEff0  Trigger efficiency for 0-bin
 * @param corrEmpty Correct for empty bins 
 * 
 * @return Newly created and configured task
 *
 * @ingroup pwglf_forward_dndeta
 */
AliAnalysisTask*
AddTaskMCTruthdNdeta(const char* config    = "dNdetaConfig.C",
		     const char* trig      = "INEL", 
		     Double_t    vzMin     = -10, 
		     Double_t    vzMax     = +10, 
		     const char* cent      = "",
		     const char* scheme    = 0,
		     Double_t    trigEff   = 1, 
		     Double_t    trigEff0  = 1,
		     Bool_t      satOnly   = false)
{
  // --- Load libraries ----------------------------------------------
  gROOT->LoadClass("AliAODForwardMult", "libPWGLFforward2");

  // --- Get analysis manager ----------------------------------------
  AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();

  // --- Make our object ---------------------------------------------
  AliMCTruthdNdetaTask* task = new AliMCTruthdNdetaTask("MCTruth");
  // Set the vertex range to use 
  task->SetIpZRange(vzMin, vzMax);
  // Set the trigger mask to use (INEL,INEL>0,NSD)
  task->SetTriggerMask(trig);
  // Set the trigger efficiency 
  task->SetTriggerEff(trigEff); // 0.997535);
  task->SetTriggerEff0(trigEff0);
  // Bit mask of 
  // 
  //    kNone           Normalise to accepted events 
  //    kEventLevel     Normalise to all events in selected range 
  //    kAltEventLevel  Normalise to all events in selected range 
  //    kBackground     Also correct for background triggers 
  // 
  // kNone, kEventLevel, and kAltEventLevel are mutually exclusive.
  // If neither kEventLevel, nor kAltEventLevel is specified, then
  // kNone is assumed.  kBackground (when implemented) only makes
  // sense with kEventLevel and kAltEventLevel.  Furthermore, there
  // are some constants that encode the common cases
  //     
  //    kFull    = kEventLevel |  kBackground
  //    kAltFull = kAltEventLevel |  kBackground
  // 
  // Default is kFull
  task->SetNormalizationScheme(AliBasedNdetaTask::kFull);
  if (scheme) task->SetNormalizationScheme(scheme);
  // Set the centrality bins to use.  These are mutually exclusive.
  // Note, that a bin specified as a-b, covers the interval from a,
  // inclusive to b exclusive.  An upper bound of 100 is treated
  // especially, and the upper bound is inclusive in that case .
  if (cent) {
    TString cM(cent);
    if (task->SetCentralityMethod(cent)) {
      Short_t bins[] = { 0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
      task->SetCentralityAxis(11, bins);
    }
  }
  // Set satellite vertex flag
  task->SetSatelliteVertices(satOnly);

  // Set-up task using a script 
  task->Configure(config);
  
  // Connect to manager 
  task->Connect(0,0);

  return task;
}

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