ROOT logo
/**
 * @file   AddTaskCentraldNdeta.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 central @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 useCent   Whether to use the centrality or not
 * @param scheme    Normalisation scheme
 * @param cutEdges  Whether to cut edges when rebinning 
 * @param mcanalysisfilename Take final MC corrections from this - if present
 * @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*
AddTaskCentraldNdeta(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      satVtx    = false)
{
  // --- Load libraries ----------------------------------------------
  gROOT->LoadClass("AliAODForwardMult", "libPWGLFforward2");

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

  // --- Check that we have an AOD input handler ---------------------
  UShort_t aodInput = 0;
  if (!(aodInput = AliForwardUtil::CheckForAOD())) 
    Fatal("","Cannot proceed without and AOD handler");
  if (aodInput == 2 &&
      !AliForwardUtil::CheckForTask("AliCentralMultiplicityTask")) 
    Fatal("","The relevant task wasn't added to the train");

  // --- Make our object ---------------------------------------------
  AliCentraldNdetaTask* task = new AliCentraldNdetaTask("Central");
  
  // Set the vertex range to use 
  task->SetIpZRange(vzMin, vzMax);
  // Set the trigger mask to use (INEL,INEL>0,NSD)
  task->SetTriggerMask(trig);
  task->SetTriggerEff(trigEff); // 0.997535);
  task->SetTriggerEff0(trigEff0); 

  // Bit mask of 
  // 
  //    kNone               Normalise to accepted events 
  //    kEventLevel         Normalise to all events in selected range 
  //    kBackground         Also correct for background triggers 
  //    kTriggerEfficiency  Correct for trigger efficiency 
  // 
  // kNone and kEventLevel are mutually exclusive.  If kEventLevel is
  // not specified, then kNone is assumed.  kBackground only makes
  // sense with kEventLevel. Furthermore, there
  // are some constants that encode the common cases
  //     
  //    kFull    = kEventLevel |  kBackground | kTriggerEfficiency
  // 
  // 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) {
    if (task->SetCentralityMethod(cent)) {
      Short_t bins[] = { 0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 100 };
      task->SetCentralityAxis(10, bins);
    }
  }

  // Set-up task using a script 
  task->Configure(config);

  // Connect to manager 
  task->Connect(0,0);

  return task;
}

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