1 AliAnalysisTaskSELc2V0bachelor *AddTaskLc2V0bachelor(TString finname="Lc2V0bachelorCuts.root",
3 Bool_t onTheFly=kFALSE,
4 Bool_t writeVariableTree=kTRUE,
6 Bool_t additionalChecks=kFALSE)
10 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12 ::Error("AddTaskLc2V0bachelor", "No analysis manager to connect to.");
16 // cuts are stored in a TFile generated by makeTFile4CutsLc2V0bachelor.C in ./macros/
17 // set there the cuts!!!!!
19 Bool_t stdcuts=kFALSE;
21 if( finname.EqualTo("") ) {
24 filecuts=TFile::Open(finname.Data());
25 if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
26 AliFatal("Input file not found : check your cut object");
30 cout << " Is it std on not std cut? " << stdcuts << endl;
31 AliRDHFCutsLctoV0* RDHFCutsLctoV0anal = new AliRDHFCutsLctoV0();
32 if (stdcuts) RDHFCutsLctoV0anal->SetStandardCutsPP2010();
33 else RDHFCutsLctoV0anal = (AliRDHFCutsLctoV0*)filecuts->Get("LctoV0AnalysisCuts");
34 RDHFCutsLctoV0anal->SetName("LctoV0AnalysisCuts");
35 RDHFCutsLctoV0anal->SetMinPtCandidate(-1.);
36 RDHFCutsLctoV0anal->SetMaxPtCandidate(10000.);
39 // mm let's see if everything is ok
40 if (!RDHFCutsLctoV0anal) {
41 cout << "Specific AliRDHFCutsLctoV0 not found\n";
48 printf("CREATE TASK\n");
49 AliAnalysisTaskSELc2V0bachelor *task = new AliAnalysisTaskSELc2V0bachelor("AliAnalysisTaskSELc2V0bachelor",RDHFCutsLctoV0anal,onTheFly,writeVariableTree);
50 task->SetAdditionalChecks(additionalChecks);
52 task->SetK0SAnalysis(kTRUE);
53 task->SetDebugLevel(0);
56 // Create and connect containers for input/output
57 TString outputfile = AliAnalysisManager::GetCommonFileName();
58 outputfile += ":PWG3_D2H_Lc2pK0S_";
61 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
63 // ----- output data -----
64 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("chist%1d",nTour),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); // general histos
65 mgr->ConnectOutput(task,1,coutput1);
66 AliAnalysisDataContainer *coutputLc2 = mgr->CreateContainer(Form("Lc2pK0Scounter%1d",nTour),AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //counter
67 mgr->ConnectOutput(task,2,coutputLc2);
68 AliAnalysisDataContainer *coutputLc3 = mgr->CreateContainer(Form("Lc2pK0SCuts%1d",nTour),AliRDHFCutsLctoV0::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); // cuts
69 mgr->ConnectOutput(task,3,coutputLc3);
70 if (!writeVariableTree) {
71 AliAnalysisDataContainer *coutputLc4 = mgr->CreateContainer(Form("Lc2pK0SAll%1d",nTour),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); // production histos
72 mgr->ConnectOutput(task,4,coutputLc4);
73 AliAnalysisDataContainer *coutputLc5 = mgr->CreateContainer(Form("Lc2pK0SPIDBach%1d",nTour),TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); // analysis histos
74 mgr->ConnectOutput(task,5,coutputLc5);
76 AliAnalysisDataContainer *coutputLc4 = mgr->CreateContainer(Form("Lc2pK0Svariables%1d",nTour),TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); // variables tree
77 mgr->ConnectOutput(task,4,coutputLc4);