]>
Commit | Line | Data |
---|---|---|
992ba7d8 | 1 | AliAnalysisTaskSELc2V0bachelor *AddTaskLc2V0bachelor(TString finname="Lc2V0bachelorCuts.root", |
0dbd1d4f | 2 | Bool_t theMCon=kFALSE, |
a578b2da | 3 | Bool_t onTheFly=kFALSE, |
43c7bace | 4 | Bool_t writeVariableTree=kTRUE, |
5 | Int_t nTour=0, | |
516f546e | 6 | Bool_t additionalChecks=kFALSE, |
7 | Bool_t trackRotation=kFALSE) | |
992ba7d8 | 8 | |
9 | { | |
10 | ||
11 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
12 | if (!mgr) { | |
13 | ::Error("AddTaskLc2V0bachelor", "No analysis manager to connect to."); | |
14 | return NULL; | |
15 | } | |
16 | ||
17 | // cuts are stored in a TFile generated by makeTFile4CutsLc2V0bachelor.C in ./macros/ | |
18 | // set there the cuts!!!!! | |
19 | ||
20 | Bool_t stdcuts=kFALSE; | |
21 | TFile* filecuts; | |
22 | if( finname.EqualTo("") ) { | |
23 | stdcuts=kTRUE; | |
24 | } else { | |
25 | filecuts=TFile::Open(finname.Data()); | |
26 | if(!filecuts ||(filecuts&& !filecuts->IsOpen())){ | |
27 | AliFatal("Input file not found : check your cut object"); | |
28 | } | |
29 | } | |
30 | ||
43c7bace | 31 | cout << " Is it std on not std cut? " << stdcuts << endl; |
992ba7d8 | 32 | AliRDHFCutsLctoV0* RDHFCutsLctoV0anal = new AliRDHFCutsLctoV0(); |
33 | if (stdcuts) RDHFCutsLctoV0anal->SetStandardCutsPP2010(); | |
34 | else RDHFCutsLctoV0anal = (AliRDHFCutsLctoV0*)filecuts->Get("LctoV0AnalysisCuts"); | |
35 | RDHFCutsLctoV0anal->SetName("LctoV0AnalysisCuts"); | |
36 | RDHFCutsLctoV0anal->SetMinPtCandidate(-1.); | |
37 | RDHFCutsLctoV0anal->SetMaxPtCandidate(10000.); | |
38 | ||
39 | ||
40 | // mm let's see if everything is ok | |
43c7bace | 41 | if (!RDHFCutsLctoV0anal) { |
992ba7d8 | 42 | cout << "Specific AliRDHFCutsLctoV0 not found\n"; |
43 | return; | |
44 | } | |
45 | ||
46 | ||
47 | //CREATE THE TASK | |
48 | ||
49 | printf("CREATE TASK\n"); | |
516f546e | 50 | AliAnalysisTaskSELc2V0bachelor *task = new AliAnalysisTaskSELc2V0bachelor("AliAnalysisTaskSELc2V0bachelor",RDHFCutsLctoV0anal,onTheFly,writeVariableTree,additionalChecks,trackRotation); |
43c7bace | 51 | task->SetAdditionalChecks(additionalChecks); |
992ba7d8 | 52 | task->SetMC(theMCon); |
43c7bace | 53 | task->SetK0SAnalysis(kTRUE); |
992ba7d8 | 54 | task->SetDebugLevel(0); |
55 | mgr->AddTask(task); | |
56 | ||
57 | // Create and connect containers for input/output | |
58 | TString outputfile = AliAnalysisManager::GetCommonFileName(); | |
43c7bace | 59 | outputfile += ":PWG3_D2H_Lc2pK0S_"; |
60 | outputfile += nTour; | |
992ba7d8 | 61 | |
62 | mgr->ConnectInput(task,0,mgr->GetCommonInputContainer()); | |
63 | ||
64 | // ----- output data ----- | |
43c7bace | 65 | AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("chist%1d",nTour),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); // general histos |
992ba7d8 | 66 | mgr->ConnectOutput(task,1,coutput1); |
43c7bace | 67 | AliAnalysisDataContainer *coutputLc2 = mgr->CreateContainer(Form("Lc2pK0Scounter%1d",nTour),AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //counter |
68 | mgr->ConnectOutput(task,2,coutputLc2); | |
69 | AliAnalysisDataContainer *coutputLc3 = mgr->CreateContainer(Form("Lc2pK0SCuts%1d",nTour),AliRDHFCutsLctoV0::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); // cuts | |
70 | mgr->ConnectOutput(task,3,coutputLc3); | |
71 | if (!writeVariableTree) { | |
72 | AliAnalysisDataContainer *coutputLc4 = mgr->CreateContainer(Form("Lc2pK0SAll%1d",nTour),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); // production histos | |
73 | mgr->ConnectOutput(task,4,coutputLc4); | |
74 | AliAnalysisDataContainer *coutputLc5 = mgr->CreateContainer(Form("Lc2pK0SPIDBach%1d",nTour),TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); // analysis histos | |
75 | mgr->ConnectOutput(task,5,coutputLc5); | |
516f546e | 76 | |
77 | if (trackRotation) { | |
78 | AliAnalysisDataContainer *coutputLc6 = mgr->CreateContainer(Form("Lc2pK0SPIDBachTR%1d",nTour),TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); // analysis histos | |
79 | mgr->ConnectOutput(task,6,coutputLc6); | |
80 | } | |
81 | ||
43c7bace | 82 | } else { |
83 | AliAnalysisDataContainer *coutputLc4 = mgr->CreateContainer(Form("Lc2pK0Svariables%1d",nTour),TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); // variables tree | |
84 | mgr->ConnectOutput(task,4,coutputLc4); | |
a578b2da | 85 | } |
992ba7d8 | 86 | |
87 | return task; | |
88 | ||
89 | } |