ROOT logo
AliAnalysisTask *AddTask_jbook_v2(TString prod="",
				    Bool_t gridconf=kFALSE,
				    ULong64_t triggers=AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB) {

  //get the current analysis manager
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTask_jbook_v2", "No analysis manager found.");
    return 0;
  }

  //Do we have an MC handler?
  Bool_t hasMC = kFALSE;
  TString list = gSystem->Getenv("LIST");
  if( list.IsNull()) list=prod;
  if( list.Contains("LHC10h")   || list.Contains("LHC11h")   ) hasMC=kFALSE;
  if( list.Contains("LHC11a10") || list.Contains("LHC12a17") ) hasMC=kTRUE;

  //Do we have an AOD handler?
  Bool_t isAOD=(mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class() ? kTRUE : kFALSE);

  // set AOD debug levels
  if(isAOD) {
    mgr->AddClassDebug("AliAODTrack", AliLog::kFatal);
    mgr->AddClassDebug("AliAODpidUtil", AliLog::kInfo);
  }

  //set config file name
  TString configFile("");
  printf("%s \n",gSystem->pwd());
  TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
  if (!trainRoot.IsNull())
    configFile="$TRAIN_ROOT/jbook_jpsi/ConfigJpsi_jb_PbPb.C";   // gsi config
  else if(!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/j/jbook/PWGDQ/dielectron/macrosJPSI/ConfigJpsi_jb_PbPb.C ."))
    configFile=Form("%s/ConfigJpsi_jb_PbPb.C",gSystem->pwd());                        // alien config

  if(!gridconf)
    configFile="$ALICE_ROOT/PWGDQ/dielectron/macrosJPSI/ConfigJpsi_jb_PbPb.C"; // aliroot config

  //create task and add it to the manager
  AliAnalysisTaskMultiDielectron *task;

  // trigger selection
  ULong64_t triggerSets[]={AliVEvent::kCentral , AliVEvent::kSemiCentral , AliVEvent::kMB,
			   AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB};
  const char* triggerNames[]={"Central","SemiCentral","MB","MB+Cent+SemiCent"};

  // find out the configured triggers
  Int_t j=0;
  for(j=0; j<4; j++) {
    if(triggers!=triggerSets[j]) continue;
    else break;
  }

  // print task configuration
  printf("production: %s MC: %d \n",  list.Data(),hasMC);
  printf("triggers:   %s \n",         triggerNames[j]  );
  printf("config:     %s Grid: %d \n",configFile.Data(),gridconf);

  task = new AliAnalysisTaskMultiDielectron((Form("MultiDieJB_%s",triggerNames[j])));
  task->SetTriggerMask(triggers);
  //task->SetTriggerMask(AliVEvent::kMB);

  if (!hasMC) task->UsePhysicsSelection();
  mgr->AddTask(task);

  //load dielectron configuration file
  TString checkconfig="ConfigJpsi_jb_PbPb";
  if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
    gROOT->LoadMacro(configFile.Data());

  //add dielectron analysis with different cuts to the task
  for (Int_t i=12; i<nDie; ++i){ //nDie defined in config file
    AliDielectron *jpsi=ConfigJpsi_jb_PbPb(i,list,triggers);
    if (jpsi ) task->AddDielectron(jpsi);
    if (jpsi ) printf(" %s added\n",jpsi->GetName());
  }

  //create output container
  AliAnalysisDataContainer *cOutputHist1 =
    mgr->CreateContainer(Form("jbook_v2_%s",triggerNames[j]),
			 TList::Class(),
			 AliAnalysisManager::kOutputContainer,
			 Form("jbook_v2_%s.root",triggerNames[j]));

  AliAnalysisDataContainer *cOutputHist2 =
    mgr->CreateContainer(Form("jbook_v2_CF_%s",triggerNames[j]),
			 TList::Class(),
			 AliAnalysisManager::kOutputContainer,
			 Form("jbook_v2_%s.root",triggerNames[j]));

  AliAnalysisDataContainer *cOutputHist3 =
    mgr->CreateContainer(Form("jbook_v2_EventStat_%s",triggerNames[j]),
			 TH1D::Class(),
			 AliAnalysisManager::kOutputContainer,
			 Form("jbook_v2_%s.root",triggerNames[j]));

  mgr->ConnectInput(task,  0, mgr->GetCommonInputContainer());
  //  mgr->ConnectOutput(task, 0, coutput1 );
  mgr->ConnectOutput(task, 1, cOutputHist1);
  mgr->ConnectOutput(task, 2, cOutputHist2);
  mgr->ConnectOutput(task, 3, cOutputHist3);

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