ROOT logo
AliAnalysisTaskSE *AddTaskLambdacUp(TString finname,Bool_t storeNtuple,Bool_t readMC,Bool_t MCPid,Bool_t realPid,Bool_t resPid,Bool_t useKF,
				  Bool_t fillVarHists=kFALSE,TString postname="")
{
  //==============================================================================                                                      
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskLambdac", "No analysis manager to connect to.");
    return NULL;
  }


  TString taskName=("AliAnalysisTaskSELambdacUp.cxx+");
  gROOT->LoadMacro(taskName.Data());
  Bool_t stdcuts=kFALSE;
  TFile* filecuts;
  if( finname.EqualTo("") ) {
    stdcuts=kTRUE; 
  } else {
      filecuts=TFile::Open(finname.Data());
      if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
	AliFatal("Input file not found : check your cut object");
      }
  }
  AliRDHFCutsLctopKpi* prodcuts=new AliRDHFCutsLctopKpi();
  prodcuts = (AliRDHFCutsLctopKpi*)filecuts->Get("LctopKpiProdCuts");
  prodcuts->SetName("LctopKpiProdCuts");
  prodcuts->SetMinPtCandidate(-1.);
  prodcuts->SetMaxPtCandidate(10000.);

  AliRDHFCutsLctopKpi *analysiscuts = new AliRDHFCutsLctopKpi();
  analysiscuts = (AliRDHFCutsLctopKpi*)filecuts->Get("LctopKpiAnalysisCuts");
  analysiscuts->SetName("LctopKpiAnalysisCuts");
  analysiscuts->SetMinPtCandidate(-1.);
  analysiscuts->SetMaxPtCandidate(10000.);

  // Aanalysis task                                                                                                                     
  AliAnalysisTaskSELambdacUp *lambdacTask = new AliAnalysisTaskSELambdacUp("LambdacAnalysis",storeNtuple,analysiscuts,prodcuts);
  lambdacTask->SetReadMC(readMC);
  if(MCPid) lambdacTask->SetMCPid();
  if(resPid) lambdacTask->SetResonantPid();
  if(realPid) lambdacTask->SetRealPid();
  lambdacTask->SetFillVarHists(fillVarHists);
  
  lambdacTask->SetAnalysis(kTRUE);

  lambdacTask->SetDebugLevel(0);
  if(useKF) {
    lambdacTask->SetUseKF();
    Float_t cuts[10]={0.1,0.1,1.5,0.5,0.1,1.5,0.5,0.1,1.5,0.5};
    lambdacTask->SetCutsKF(cuts);
  }
  mgr->AddTask(lambdacTask);

  //
  // Create containers for input/output
  TString outputfile = AliAnalysisManager::GetCommonFileName();
  outputfile += ":PWG3_D2H_InvMassLambdac";

  TString finDirname="pp";
  TString inname = "cinputLc";
  TString outname = "coutputLc";
  TString cutsname = "coutputLcCuts";
  TString normname = "coutputLcNorm";
  TString ntuplename = "coutputLc2";
  TString nev2 = "coutputNev";
  TString outname2 = "coutputLambdacMC";
  
  inname += finDirname.Data();
  outname += finDirname.Data();
  cutsname += finDirname.Data();
  normname += finDirname.Data();
  ntuplename += finDirname.Data();
  nev2 += finDirname.Data();
  outname2 += finDirname.Data();
  
  inname +=  postname.Data();
  outname +=  postname.Data();
  cutsname +=  postname.Data();
  normname += postname.Data();
  ntuplename +=  postname.Data();
  nev2 +=  postname.Data();
  outname2 +=  postname.Data();
  

  AliAnalysisDataContainer *cinputLambdac = mgr->CreateContainer(inname,TChain::Class(),
								 AliAnalysisManager::kInputContainer);
  mgr->ConnectInput(lambdacTask,0,mgr->GetCommonInputContainer());

  AliAnalysisDataContainer *coutputLambdacCuts = mgr->CreateContainer(cutsname,TList::Class(),
								      AliAnalysisManager::kOutputContainer,outputfile.Data());
  mgr->ConnectOutput(lambdacTask,2,coutputLambdacCuts);

  AliAnalysisDataContainer *coutputLambdac = mgr->CreateContainer(outname,TList::Class(),
								  AliAnalysisManager::kOutputContainer,outputfile.Data());
  mgr->ConnectOutput(lambdacTask,1,coutputLambdac);

  AliAnalysisDataContainer *coutputLambdacMC = mgr->CreateContainer(outname2,TList::Class(),
								    AliAnalysisManager::kOutputContainer,outputfile.Data());
  mgr->ConnectOutput(lambdacTask,3,coutputLambdacMC);

  AliAnalysisDataContainer *coutputLambdacNev = mgr->CreateContainer(nev2,TH1F::Class(),
								     AliAnalysisManager::kOutputContainer,outputfile.Data());
  mgr->ConnectOutput(lambdacTask,4,coutputLambdacNev);

 

  AliAnalysisDataContainer *coutputLambdacNorm = mgr->CreateContainer(normname,AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());

 mgr->ConnectOutput(lambdacTask,5,coutputLambdacNorm);

  if (storeNtuple) {
    AliAnalysisDataContainer *coutputLambdac2 = mgr->CreateContainer(ntuplename,TNtuple::Class(),
								     AliAnalysisManager::kOutputContainer,"InvMassLambdac_nt1.root");
    coutputLambdac2->SetSpecialOutput();
    mgr->ConnectOutput(lambdacTask,6,coutputLambdac2);
  }


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