1 AliAnalysisTaskV0ForRAA *AddTaskV0ForRAA(Bool_t anaPP=kFALSE, Bool_t wSDD=kFALSE,Int_t cent=0,Int_t centDet=1,Int_t centRange=0, Bool_t mcMode=kFALSE, Bool_t mcTruthMode=kFALSE,Bool_t usePID=kFALSE,Double_t radCut=0.0,const Char_t * addname=""){
5 //--- get the current analysis manager ---//
6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 Error("AddTask_V0ForRAA", "No analysis manager found.");
13 // -- check for ESD and MC ---//
14 Bool_t hasESD=kFALSE,hasMC=kFALSE;
15 AliESDInputHandler *esdH =
16 static_cast<AliESDInputHandler*>(mgr->GetInputEventHandler());
17 if (esdH) hasESD=kTRUE;
18 cout<<"ESD: "<<hasESD<<endl;
19 if(!hasESD) return NULL;
21 if(mcMode || mcTruthMode){
22 AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>
23 (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
25 cout<<"MC: "<<hasMC<<endl;
26 if(!hasMC) return NULL;
30 //========= Add task to the ANALYSIS manager =====
31 TString cutsname = "AliESDtrackCutsV0ForRAA";
32 TString taskname = "V0ForRAA";
33 TString outname = "V0ForRAA";
41 cutsname +="_MCTruth";
42 taskname +="_MCTruth";
66 AliAnalysisTaskV0ForRAA *task = new AliAnalysisTaskV0ForRAA(taskname);
69 task->SetESDTrackCuts(70,4,kTRUE);
70 task->SetESDTrackCutsCharged(70,4,kTRUE);
71 task->SetESDTrackCutsLowPt(70,4,kTRUE);
77 //--- analysis modes ---//
78 task->SetAnapp(anaPP);
79 task->SetMCMode(mcMode);
80 task->SetMCTruthMode(mcTruthMode);
81 task->SelectWithSDD(wSDD);
82 //---------- cuts -------------//
84 // task->SetUseOnthefly(kTRUE);
85 task->SetUsePID(usePID,3.0,100.0);
86 task->SetPrimVertexZCut(10.0,kTRUE);
89 task->SetRapidityCutMother(kTRUE,0.5);
90 task->SetDoEtaOfMCDaughtersCut(kFALSE,0.8);
93 // task->SetCutMoreNclsThanRows(kTRUE);
94 // task->SetCutMoreNclsThanFindable(kTRUE);
95 task->SetLowPtTPCCutAliESDTrackCut(-1.0);
96 // task->SetRatioFoundOverFindable(0.5);
99 //task->SetCosOfPointingAngleK(0.99,1000.0);
100 //task->SetCosOfPointingAngleL(0.998,1000.0);
103 //task->SetArmenterosCutQt(-1.0,6.0,kTRUE,kFALSE);
105 //task->SetDCAV0ToVertexK0(0.4);
106 //task->SetDCAV0ToVertexL(1.2);
108 //task->SetDCADaughtersK0(0.23);
109 //task->SetDCADaughtersL(0.35);
110 //task->SetDCADaughtersAL(0.35);
112 task->SetDecayRadiusXYMinMax(radCut,1000.0);
115 //--- centrality ---//
116 task->SetUseCentrality(centDet); // 0=off, 1=VZERO, 2=SPD
117 task->SetUseCentralityBin(cent); // bin to be used 0,5,10,20,30,40,50,60,70,80,90,(100=SPDonly)
118 task->SetUseCentralityRange(centRange); // Add centrality bin for increasing original bin range.
119 // For cent 60-80%: cent = 60 and centRange = 10
121 task->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral );
126 //================================================
128 //================================================
129 // find input container
131 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
133 AliAnalysisDataContainer *coutput1 =
134 mgr->CreateContainer(outname, TList::Class(),
135 AliAnalysisManager::kOutputContainer,Form("%s:simones", AliAnalysisManager::GetCommonFileName()));
137 //--- connect containers ---//
138 mgr->ConnectInput (task, 0, cinput );
139 mgr->ConnectOutput (task, 1, coutput1);
141 AliLog::SetClassDebugLevel("AliAnalysisTaskV0ForRAA",2);