ROOT logo
//
// Configuration script for monitor task with 2010 runs
//
// It contains a class definition where the cuts for each object
// are defined separately, functions are initialized and so on.
// This is used in the main function (named after the file name),
// which is called by the 'AddTask' function.
//

Bool_t RsnConfigEvent
(
   AliRsnAnalysisTask *task,
   Bool_t              isMC,
   Bool_t              useCentrality,
   AliRsnCutSet       *eventCuts
)
{
   if (!task) myError("NULL task");
   
   // ----------------------------------------------------------------------------------------------
   // -- LOOP DEFINITION ---------------------------------------------------------------------------
   // ----------------------------------------------------------------------------------------------
   
   // loop on events
   AliRsnLoopEvent *loop = new AliRsnLoopEvent("evtLoop");
   
   // add cuts to loop
   loop->SetEventCuts(eventCuts);
   
   // add loop to task
   task->Add(loop);
   
   // ----------------------------------------------------------------------------------------------
   // -- OUTPUTS DEFINITION ------------------------------------------------------------------------
   // ----------------------------------------------------------------------------------------------
   
   Double_t mult[] = { 0.,  1.,  2.,  3.,  4.,  5.,   6.,   7.,   8.,   9.,  10., 11., 12., 13., 
                      14., 15., 16., 17., 18., 19.,  20.,  21.,  22.,  23.,  24.,  25., 30., 35., 
                      40., 50., 60., 70., 80., 90., 100., 120., 140., 160., 180., 200., 500.};
   Int_t    nmult  = sizeof(mult) / sizeof(mult[0]);

   // axes
   AliRsnValueStd *axisMultESD  = new AliRsnValueStd("MESD", AliRsnValueStd::kEventMultESDCuts , nmult, mult);
   AliRsnValueStd *axisMultSPD  = new AliRsnValueStd("MSPD", AliRsnValueStd::kEventMultSPD     , nmult, mult);
   AliRsnValueStd *axisMultMC   = new AliRsnValueStd("MMC" , AliRsnValueStd::kEventMultMC      , nmult, mult);
   AliRsnValueStd *axisMultTRK  = new AliRsnValueStd("MTRK", AliRsnValueStd::kEventMult        , nmult, mult);
   AliRsnValueStd *axisCentV0   = new AliRsnValueStd("CNT" , AliRsnValueStd::kEventCentralityV0, 0.0  , 100.0, 1.0);
   AliRsnValueStd *axisMultTest = new AliRsnValueStd("TEST", AliRsnValueStd::kEventMult        , 1, 1.0 , 1E10);
   
   // create output
   AliRsnListOutput *out = new AliRsnListOutput("evtOut", AliRsnListOutput::kHistoDefault);
   
   // always add test axis, used to know how many events had at least one track
   out->AddValue(axisMultTest);
   
   // add values to output:
   // centrality only if this is requested, otherwise multiplicity
   if (useCentrality) {
      ::Info("RsnConfigEvent", "Adding centrality");
      out->AddValue(axisCentV0);
   } else {
      ::Info("RsnConfigEvent", "Adding multiplicity");
      //out->AddValue(axisMultESD);
      //out->AddValue(axisMultSPD);
      out->AddValue(axisMultTRK);
      if (isMC) {
         out->AddValue(axisMultMC);
      }
   }
   
   // add output to loop
   loop->AddOutput(out);
   
   return kTRUE;
}
 RsnConfigEvent.C:1
 RsnConfigEvent.C:2
 RsnConfigEvent.C:3
 RsnConfigEvent.C:4
 RsnConfigEvent.C:5
 RsnConfigEvent.C:6
 RsnConfigEvent.C:7
 RsnConfigEvent.C:8
 RsnConfigEvent.C:9
 RsnConfigEvent.C:10
 RsnConfigEvent.C:11
 RsnConfigEvent.C:12
 RsnConfigEvent.C:13
 RsnConfigEvent.C:14
 RsnConfigEvent.C:15
 RsnConfigEvent.C:16
 RsnConfigEvent.C:17
 RsnConfigEvent.C:18
 RsnConfigEvent.C:19
 RsnConfigEvent.C:20
 RsnConfigEvent.C:21
 RsnConfigEvent.C:22
 RsnConfigEvent.C:23
 RsnConfigEvent.C:24
 RsnConfigEvent.C:25
 RsnConfigEvent.C:26
 RsnConfigEvent.C:27
 RsnConfigEvent.C:28
 RsnConfigEvent.C:29
 RsnConfigEvent.C:30
 RsnConfigEvent.C:31
 RsnConfigEvent.C:32
 RsnConfigEvent.C:33
 RsnConfigEvent.C:34
 RsnConfigEvent.C:35
 RsnConfigEvent.C:36
 RsnConfigEvent.C:37
 RsnConfigEvent.C:38
 RsnConfigEvent.C:39
 RsnConfigEvent.C:40
 RsnConfigEvent.C:41
 RsnConfigEvent.C:42
 RsnConfigEvent.C:43
 RsnConfigEvent.C:44
 RsnConfigEvent.C:45
 RsnConfigEvent.C:46
 RsnConfigEvent.C:47
 RsnConfigEvent.C:48
 RsnConfigEvent.C:49
 RsnConfigEvent.C:50
 RsnConfigEvent.C:51
 RsnConfigEvent.C:52
 RsnConfigEvent.C:53
 RsnConfigEvent.C:54
 RsnConfigEvent.C:55
 RsnConfigEvent.C:56
 RsnConfigEvent.C:57
 RsnConfigEvent.C:58
 RsnConfigEvent.C:59
 RsnConfigEvent.C:60
 RsnConfigEvent.C:61
 RsnConfigEvent.C:62
 RsnConfigEvent.C:63
 RsnConfigEvent.C:64
 RsnConfigEvent.C:65
 RsnConfigEvent.C:66
 RsnConfigEvent.C:67
 RsnConfigEvent.C:68
 RsnConfigEvent.C:69
 RsnConfigEvent.C:70
 RsnConfigEvent.C:71
 RsnConfigEvent.C:72
 RsnConfigEvent.C:73
 RsnConfigEvent.C:74
 RsnConfigEvent.C:75
 RsnConfigEvent.C:76