]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FLOW/macros/AddTaskJetFlowMC.C
57610e7b2d2cd3708e5b43748df5642f906719df
[u/mrichter/AliRoot.git] / PWGCF / FLOW / macros / AddTaskJetFlowMC.C
1 ///////////////////////////////////////////////////////////////////////////////
2 //                         AddTaskJetFlowToyMC                               //
3 //   Author: Redmer A. Bertens, Utrecht University, 2013, rbertens@cern.ch   //
4 ///////////////////////////////////////////////////////////////////////////////
5
6 /* AddTask macro for jet flow toy mc task
7  * task uses an afterburner to tune vn in the pico track 
8  * selection which can be used by a jet finder 
9  * note that this task does not generate MC particles, it changes
10  * the azimuthal distribution of already available tracks
11 */
12
13 class AliAnalysisDataContainer;
14 class AliAnalysisTaskJetFlowMC;
15
16 AliAnalysisTaskJetFlowMC* AddTaskJetFlowMC(
17   const char *outputTracks      = "JetFlowToyMC",
18   const char *inputTracks       = "PicoTracks",
19   const char *name              ="AliAnalysisTaskJetFlowMC",
20   Bool_t doQA                   = kFALSE
21   )
22 {  
23   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
24   if (!mgr)                             return 0x0;
25   if (!mgr->GetInputEventHandler())     return 0x0;
26   TString fileName = AliAnalysisManager::GetCommonFileName();
27   fileName += ":";
28   fileName += name;
29         // create the task
30   AliAnalysisTaskJetFlowMC *eTask = new AliAnalysisTaskJetFlowMC(name, doQA);
31   eTask->SetTracksOutName(outputTracks);
32   eTask->SetTracksInName(inputTracks);
33         // connect input and output
34   mgr->AddTask(eTask);
35   mgr->ConnectInput  (eTask, 0, mgr->GetCommonInputContainer());
36   if(doQA) {
37       // this task only produces output when the qa flag is set to true
38       mgr->ConnectOutput (eTask, 1, mgr->CreateContainer(Form("%s_container", fileName.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, fileName.Data()));
39   }
40   return eTask;
41 }
42
43 namespace TaskJetFlowMC {
44     TF1* GetSpectrum() {
45         TF1* spectrum = new TF1("fspectrum", "[0]*(TMath::Power([1], 2)*x*TMath::Exp(-[1]*x))+(x>1)*[2]*(1.17676e-01*TMath::Sqrt(0.1396*0.1396+x*x)*TMath::Power(1.+1./[3]/8.21795e-01*TMath::Sqrt(0.1396*0.1396+x*x),-1.*[3]))*(1/(1 + TMath::Exp(-(x - [4])/[5])))", .2, 200.);
46         fspectrum->SetParameters(2434401791.20528 ,2.98507 ,10069622.25117 ,5.50000 ,2.80000 ,0.20000 );
47         return fspectrum;   
48     }
49 }