]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/macros/AddTaskLambdac.C
possibility to cut on the pt of candidate (Rossella)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / macros / AddTaskLambdac.C
1 AliAnalysisTaskSELambdac *AddTaskLambdac(TString *finname,Bool_t storeNtuple,Bool_t readMC,Bool_t MCPid,Bool_t realPid,Bool_t resPid,Bool_t useKF)
2 {
3   //==============================================================================                                                      
4   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5   if (!mgr) {
6     ::Error("AddTaskLambdac", "No analysis manager to connect to.");
7     return NULL;
8   }
9
10
11   Bool_t stdcuts=kFALSE;
12   TFile* filecuts=new TFile(finname.Data());
13   if(!filecuts->IsOpen()){
14    cout<<"Input file not found: using std cut object"<<endl;
15    stdcuts=kTRUE;
16   }
17   AliRDHFCutsLctopKpi* prodcuts=new AliRDHFCutsLctopKpi();
18   if(stdcuts) prodcuts->SetStandardCutsPP2010();
19   else   prodcuts = (AliRDHFCutsLctopKpi*)filecuts->Get("LctopKpiProdCuts");
20   prodcuts->SetName("LctopKpiProdCuts");
21   prodcuts->SetMinPtCandidate(-1.);
22   prodcuts->SetMaxPtCandidate(10000.);
23
24   AliRDHFCutsLctopKpi *analysiscuts = new AliRDHFCutsLctopKpi();
25   if(stdcuts) analysiscuts->SetStandardCutsPP2010();
26   else analysiscuts = (AliRDHFCutsLctopKpi*)filecuts->Get("LctopKpiAnalysisCuts");
27   analysiscuts->SetName("LctopKpiAnalysisCuts");
28   analysiscuts->SetMinPtCandidate(-1.);
29   analysiscuts->SetMaxPtCandidate(10000.);
30
31   // Aanalysis task                                                                                                                     
32   AliAnalysisTaskSELambdac *lambdacTask = new AliAnalysisTaskSELambdac("LambdacAnalysis",storeNtuple,analysiscuts,prodcuts);
33   lambdacTask->SetReadMC(readMC);
34   if(MCPid) lambdacTask->SetMCPid();
35   if(resPid) lambdacTask->SetResonantPid();
36   if(realPid) lambdacTask->SetRealPid();
37   lambdacTask->SetDebugLevel(0);
38   if(useKF) {
39     lambdacTask->SetUseKF();
40      Float_t cuts[10]={0.1,0.1,1.5,0.5,0.1,1.5,0.5,0.1,1.5,0.5};
41       lambdacTask->SetCutsKF(cuts);
42        }
43   mgr->AddTask(lambdacTask);
44
45   //                                                                                                                                    
46   // Create containers for input/output                                                                                                 
47   TString outputfile = AliAnalysisManager::GetCommonFileName();
48   outputfile += ":PWG3_D2H_InvMassLambdac";
49   AliAnalysisDataContainer *cinputLambdac = mgr->CreateContainer("cinputLambdac",TChain::Class(),
50                                                           AliAnalysisManager::kInputContainer);
51   AliAnalysisDataContainer *coutputLambdacCuts = mgr->CreateContainer("coutputLambdacCuts",TList::Class(),
52                                                            AliAnalysisManager::kOutputContainer,
53                                                                 outputfile.Data());
54   AliAnalysisDataContainer *coutputLambdac = mgr->CreateContainer("coutputLambdac",TList::Class(),
55                                                            AliAnalysisManager::kOutputContainer,
56                                                                 outputfile.Data());
57   if(storeNtuple){
58     AliAnalysisDataContainer *coutputLambdac2 = mgr->CreateContainer("coutputLambdac2",TNtuple::Class(),
59                                                            AliAnalysisManager::kOutputContainer,
60                                                                  "InvMassLambdac_nt1.root");
61
62     coutputLambdac2->SetSpecialOutput();
63   }
64
65   mgr->ConnectInput(lambdacTask,0,mgr->GetCommonInputContainer());
66
67   mgr->ConnectOutput(lambdacTask,1,coutputLambdac);
68   mgr->ConnectOutput(lambdacTask,2,coutputLambdacCuts);
69   
70   if(storeNtuple){
71     mgr->ConnectOutput(lambdacTask,3,coutputLambdac2);
72   }
73   return lambdacTask;
74 }