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