ROOT logo
AliAnalysisTaskSEDmesonsFilterCJ *AddTaskSEDmesonsFilterCJ(
  AliAnalysisTaskSEDmesonsFilterCJ::ECandidateType cand = AliAnalysisTaskSEDmesonsFilterCJ::kDstartoKpipi,
  TString filename = "DStartoKpipiCuts.root",
  Bool_t theMCon = kFALSE,
  Bool_t reco = kTRUE /*must be true if theMCon is false*/,
  TString suffix = "")
{
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskSEDmesonsFilterCJ", "No analysis manager to connect to.");
    return NULL;
  } 

  Bool_t useStdC = kFALSE;
  TFile* filecuts=TFile::Open(filename);
  if(!filecuts || (filecuts && !filecuts->IsOpen())) {
    cout<<"Input file not found: use std cuts"<<endl;
    useStdC = kTRUE;
  }

  AliRDHFCuts *analysiscuts=0x0;
  switch (cand) {
  case 0 :
    if(useStdC) {
      analysiscuts = new AliRDHFCutsD0toKpi();
      analysiscuts->SetStandardCutsPP2010();
    } else
      analysiscuts = (AliRDHFCutsD0toKpi*)filecuts->Get("D0toKpiCuts");
    break;
  case 1 :
    if(useStdC) {
      analysiscuts = new AliRDHFCutsDStartoKpipi();
      analysiscuts->SetStandardCutsPP2010();
    } else
      analysiscuts = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts");
    analysiscuts->SetName("DStartoKpipiCuts");
    break;
  }
  
  if (!analysiscuts) { // mm let's see if everything is ok
    AliFatal("Specific AliRDHFCuts not found");
    return;
  } 

  printf("CREATE TASK\n"); //CREATE THE TASK

  // create the task
  AliAnalysisTaskSEDmesonsFilterCJ *task = new AliAnalysisTaskSEDmesonsFilterCJ("AnaTaskSEDmesonsFilterCJ",analysiscuts,cand);
  if(!theMCon) reco=kTRUE;
  task->SetMC(theMCon); //D meson settings
  task->SetUseReco(reco);
  mgr->AddTask(task);
  if(theMCon) {
     suffix+="MC";
     if(reco) suffix+="rec";  
  }
  
  TString candname="DStar"; 
  if(cand==0)  candname="D0";
  
  // Create and connect containers for input/output
  TString outputfile = AliAnalysisManager::GetCommonFileName();
  outputfile += ":PWG3_D2H_DmesonsForJetCorrelations";
  outputfile += suffix;

  TString nameContainer0="histograms";
  TString nameContainer1="cuts";
  //TString nameContainer2="DcandidatesSel";

  nameContainer0 += candname;
  nameContainer1 += candname;
  
  nameContainer0 += suffix;
  nameContainer1 += suffix;
//nameContainer2 += suffix;

  // ------ input data ------
  AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();
  
  // ----- output data -----
  
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(nameContainer0, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(nameContainer1, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
//AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(nameContainer2, TList::Class(),AliAnalysisManager::kExchangeContainer, outputfile.Data());
  
  mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
  mgr->ConnectOutput(task,1,coutput1);
  mgr->ConnectOutput(task,2,coutput2);
//mgr->ConnectOutput(task,3,coutput3);

  Printf("Input and Output connected to the manager");
  return task ;
}

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