]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FLOW/macros/AddTaskFlowEPCascade.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FLOW / macros / AddTaskFlowEPCascade.C
1 AliAnalysisTask *AddTaskFlowEPCascade(Float_t centrMin=0, Float_t centrMax=100,
2                                       TString fileName, TString suffixName="",
3                                       Double_t vtxCut = 10., 
4                                       Double_t etaCut = 0.9, 
5                                       Int_t nTPCcls = 70,
6                                       Double_t mSigma = 0.0024)
7 {
8   /*
9   //-E-V-E-N-T- -c-u-t-s-----------------------------------------------------
10   AliFlowEventCuts* cutsEvent 
11     = new AliFlowEventCuts(Form("event_cuts_%s", suffixName.Data()));
12   cutsEvent->SetCentralityPercentileRange(centrMin,centrMax);
13   cutsEvent->SetCentralityPercentileMethod(AliFlowEventCuts::kV0);
14   cutsEvent->SetRefMultMethod(AliFlowEventCuts::kV0);
15   cutsEvent->SetNContributorsRange(2);
16   cutsEvent->SetPrimaryVertexZrange( -10., 10. );
17   cutsEvent->SetCutSPDvertexerAnomaly();
18   cutsEvent->SetCutZDCtiming();
19   cutsEvent->SetCutTPCmultiplicityOutliers();
20
21   AliFlowTrackCuts* cutsRP 
22     = (AliFlowTrackCuts*) AliFlowTrackCuts::GetStandardGlobalTrackCuts2010();
23   cutsRP->SetPtRange(0.15, 10.);  //added to extend pt range
24   */
25
26   AliFlowTrackCuts * cutsDaughter 
27     = new AliFlowTrackCuts(Form("daughter_cuts_%s",suffixName.Data()));
28   cutsDaughter->SetPtRange(0.15,10.0);
29   cutsDaughter->SetEtaRange(-etaCut,etaCut);
30   cutsDaughter->SetMinNClustersTPC(nTPCcls);
31   cutsDaughter->SetMaxChi2PerClusterTPC(4.0);
32   cutsDaughter->SetAODfilterBit(1); //TPC track only
33   cutsDaughter->SetRequireITSRefit(kFALSE);
34   cutsDaughter->SetRequireTPCRefit(kTRUE);
35   cutsDaughter->SetMinNClustersITS(0);
36   cutsDaughter->SetAcceptKinkDaughters(kFALSE);
37
38   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
39   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
40
41   //____________________________________________//                           
42   double pdg = 1.32171; double hwid = mSigma;
43   double sep = 6*hwid; double XiStart = pdg-sep; 
44   double XiBands[3][2];
45   XiBands[0][0]=(XiStart+6*hwid*0)-2*hwid; 
46   XiBands[0][1]=(XiStart+6*hwid*0)+2*hwid;
47   XiBands[1][0]=(XiStart+6*hwid*1)-2*hwid;   
48   XiBands[1][1]=(XiStart+6*hwid*1)+2*hwid;
49   XiBands[2][0]=(XiStart+6*hwid*2)-2*hwid; 
50   XiBands[2][1]=(XiStart+6*hwid*2)+2*hwid;
51
52   double OmegaPDG = 1.67245;   
53   double Omegasg = mSigma; // 1 sigma?
54   double OmegaStart = OmegaPDG-6*Omegasg; 
55   double OmegaBands[3][2];
56   OmegaBands[0][0]=(OmegaStart+6*Omegasg*0)-2*Omegasg;   
57   OmegaBands[0][1]=(OmegaStart+6*Omegasg*0)+2*Omegasg;
58   OmegaBands[1][0]=(OmegaStart+6*Omegasg*1)-2*Omegasg;     
59   OmegaBands[1][1]=(OmegaStart+6*Omegasg*1)+2*Omegasg;
60   OmegaBands[2][0]=(OmegaStart+6*Omegasg*2)-2*Omegasg;   
61   OmegaBands[2][1]=(OmegaStart+6*Omegasg*2)+2*Omegasg;
62
63   AliAnalysisTaskFlowEPCascade * task
64     = new AliAnalysisTaskFlowEPCascade(Form("v2EP_%s", 
65                                             suffixName.Data()), 
66                                        centrMin, centrMax,
67                                        XiBands, OmegaBands);
68   // task->SetFlowEventCuts(cutsEvent);
69   //task->SetFlowTrackCuts(cutsRP);
70   task->SetVertexCut(vtxCut);
71   task->SetFlowDauTrackCuts(cutsDaughter);
72   task->SelectCollisionCandidates(AliVEvent::kMB);
73   mgr->AddTask(task);
74
75   AliAnalysisDataContainer *coutput1 =
76     mgr->CreateContainer(Form("hist_%s", suffixName.Data()), 
77                          TList::Class(),
78                          AliAnalysisManager::kOutputContainer,
79                          Form("%s.root",fileName.Data()));
80   // Connect input/output                                                      
81   mgr->ConnectInput(task, 0, cinput);
82   //mgr->ConnectInput(task, 1, cinput1);
83   mgr->ConnectOutput(task, 1, coutput1);
84   
85   return task;
86 }
87