]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/AddTask_jacek_dNdPtTrackDumpTaskPbPb_TPCITS.C
macro to make high-pT track and V0s trees
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / ChargedHadrons / dNdPt / macros / AddTask_jacek_dNdPtTrackDumpTaskPbPb_TPCITS.C
1 void AddTask_jacek_dNdPtTrackDumpTaskPbPb_TPCITS()
2 {
3
4   gSystem->Load("libANALYSIS");
5   gSystem->Load("libANALYSISalice");
6   gSystem->Load("libTENDER");
7   gSystem->Load("libCORRFW");
8   gSystem->Load("libPWGUDbase");
9   gSystem->Load("libTPCcalib");
10   gSystem->Load("libPWGPP");
11   gSystem->Load("libPWGLFspectra");
12
13   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
14
15   if (!mgr) {
16     Error("AddTask_dNdPtTrackDumpTaskPbPb_TPCITS", "No analysis manager found.");
17     return 0;
18   }
19
20   // Switch off all AliInfo (too much output!!!)
21   AliLog::SetGlobalLogLevel(AliLog::kError);
22   mgr->SetDebugLevel(0);
23
24   //
25   // Create physics trigger selection class
26   //
27   AliPhysicsSelection *physTrigSel =  new AliPhysicsSelection();
28
29   //
30   // Create event cuts
31   //
32   Float_t zvWindow = 30. ;
33
34   AlidNdPtEventCuts *evtCuts = new AlidNdPtEventCuts("AlidNdPtEventCuts","Event cuts");
35   evtCuts->SetZvRange(-zvWindow,zvWindow);
36   evtCuts->SetMeanXYZv(0.0,0.0,0.0);
37   evtCuts->SetSigmaMeanXYZv(1.0,1.0,10.0);
38   evtCuts->SetTriggerRequired(kFALSE);
39   //evtCuts->SetTriggerRequired(kTRUE);
40
41   //
42   // Create geom. acceptance cuts
43   //
44   Float_t etaWindow = 1.0 ;
45   Float_t ptMin = 0.15 ;
46
47   AlidNdPtAcceptanceCuts *accCuts = new AlidNdPtAcceptanceCuts("AlidNdPtAcceptanceCuts","Geom. acceptance cuts");
48   accCuts->SetEtaRange(-etaWindow,etaWindow);
49   accCuts->SetPtRange(ptMin,1.e10);
50   accCuts->SetMaxDCAr(3.0);
51   accCuts->SetMaxDCAz(30.0);
52
53   //
54   // Create standard esd track cuts
55   //
56   Int_t cutMode = 154;
57   //Int_t cutMode = 200;
58
59   gROOT->LoadMacro("$ALICE_ROOT/PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/CreatedNdPtTrackCuts.C");
60   AliESDtrackCuts* esdTrackCuts = CreatedNdPtTrackCuts(cutMode);
61   if (!esdTrackCuts) {
62     printf("ERROR: esdTrackCuts could not be created\n");
63     return;
64   } else {
65     esdTrackCuts->SetHistogramsOn(kTRUE);
66     //esdTrackCuts->SetMaxChi2PerClusterITS(36.);
67   }
68
69
70   Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
71
72   //
73   // Create task
74   //
75   AlidNdPtTrackDumpTask *task = new AlidNdPtTrackDumpTask("AlidNdPtTrackDumpTask");
76   task->SetUseMCInfo(hasMC);
77   //task->SetLowPtTrackDownscaligF(1.e6);
78   //task->SetLowPtV0DownscaligF(1.e4);
79   task->SetLowPtTrackDownscaligF(1.e2);
80   task->SetLowPtV0DownscaligF(1.e1);
81
82   // trigger
83   //task->SelectCollisionCandidates(AliVEvent::kMB); 
84
85   //
86   // set analysis options from the Helper here !!!
87   //
88   // AlidNdPtHelper::OutputObject outputObject = AlidNdPtHelper::kCutAnalysisPbPb;
89   // AlidNdPtHelper::ParticleMode particleMode = AlidNdPtHelper::kAllPart ;
90   
91   AlidNdPtHelper::AnalysisMode analysisMode = AlidNdPtHelper::kTPCITS;
92
93   task->SetUseMCInfo(hasMC);
94   task->SetEventCuts(evtCuts);
95   task->SetAcceptanceCuts(accCuts);
96   task->SetTrackCuts(esdTrackCuts);
97   task->SetAnalysisMode(analysisMode); 
98   task->SetCentralityEstimator("V0M");
99     
100   // Add task
101   mgr->AddTask(task);
102
103   // Create containers for input
104   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
105   mgr->ConnectInput(task, 0, cinput);
106
107   AliAnalysisDataContainer *coutput = mgr->CreateContainer("jotwinow_dNdPtTrackDumpPbPb_TPCITS", TTree::Class(), AliAnalysisManager::kOutputContainer, "jotwinow_dNdPtTrackDumpTaskPbPb_TPCITS.root");
108   mgr->ConnectOutput(task, 0, coutput);
109
110   //AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("jotwinow_dNdPtTrackInfoPbPb_TPCITS", TList::Class(), AliAnalysisManager::kOutputContainer, "jotwinow_dNdPtTrackInfoPbPb_TPCITS.root");
111   //mgr->ConnectOutput(task, 1, coutput1);
112 }
113