ROOT logo
void AddTaskPIDflowQA( Float_t centrMin=0.,
                       Float_t centrMax=100.,
                       TString fileNameBase="outputPIDQA"  )
{   
  AliFlowEventCuts* cutsEvent = new AliFlowEventCuts("event cuts");
  cutsEvent->SetCentralityPercentileRange(centrMin,centrMax);
  cutsEvent->SetCentralityPercentileMethod(AliFlowEventCuts::kV0);
  //cutsEvent->SetRefMultMethod(AliFlowEventCuts::kTPConly);
  //cutsEvent->SetCentralityPercentileMethod(AliFlowEventCuts::kSPD1tracklets);
  cutsEvent->SetNContributorsRange(2);
  cutsEvent->SetPrimaryVertexZrange(-10.,10.);
  cutsEvent->SetCutSPDvertexerAnomaly(); //"Francesco's cut"
  cutsEvent->SetCutZDCtiming();
  
	AliESDtrackCuts*  cutsTrack = new AliESDtrackCuts("cutsTrack","cutsTrack");
	cutsTrack->SetPtRange(0.2,5.);
 	cutsTrack->SetEtaRange(-0.8,0.8);
 	cutsTrack->SetMinNClustersTPC(70);
 	cutsTrack->SetMaxChi2PerClusterTPC(4.0);
 	cutsTrack->SetMaxDCAToVertexXY(0.3);
 	cutsTrack->SetMaxDCAToVertexZ(0.3);
 	cutsTrack->SetDCAToVertex2D(kTRUE);
 	cutsTrack->SetAcceptKinkDaughters(kFALSE);
	cutsTrack->SetRequireTPCRefit(kTRUE);
	cutsTrack->SetRequireITSRefit(kTRUE);
	cutsTrack->SetMinNClustersITS(2);
	
	//task1->SetNsigmaDCAcut(5.0,5.0);
	//task1->SetMCOn();	

  TString centralityName("");
  centralityName+=Form("%.0f",centrMin);
  centralityName+="-";
  centralityName+=Form("%.0f",centrMax);

  TString fileName(fileNameBase);
  fileName.Append(Form("%.0f%.0f",centrMin,centrMax));
  fileName.Append(".root");

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTaskFlowEvent", "No analysis manager to connect to.");
    return;
  }
  
  if (!mgr->GetInputEventHandler()) {
    ::Error("AddTaskFlowEvent", "This task requires an input event handler");
    return;
  }  

  AliAnalysisTaskPIDflowQA* task = new AliAnalysisTaskPIDflowQA(Form("taskPIDQA%.0f%.0f",centrMin,centrMax));
	task->SetAliESDtrackCuts(cutsTrack);
  task->SetEventCuts(cutsEvent);
  task->SelectCollisionCandidates(AliVEvent::kMB);
  //old
  task->GetESDpid()->GetTPCResponse().SetBetheBlochParameters(0.0283086,
                                                    2.63394e+01,
                                                    5.04114e-11,
                                                    2.12543e+00,
                                                    4.88663e+00 );
  //new
  //task->GetESDpid()->GetTPCResponse().SetBetheBlochParameters(1.28949/50.,
  //                                                  2.74095e+01,
  //                                                  TMath::Exp(-3.21763e+01),
  //                                                  2.44026,
  //                                                  6.58800);


  mgr->AddTask(task);

  AliAnalysisDataContainer* coutputQAtask = mgr->CreateContainer(Form("output%s",centralityName.Data()),
                                                 TList::Class(),
                                                 AliAnalysisManager::kOutputContainer,
                                                 fileName.Data());
  mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
  mgr->ConnectOutput(task,1,coutputQAtask);
}
 AddTaskPIDflowQA.C:1
 AddTaskPIDflowQA.C:2
 AddTaskPIDflowQA.C:3
 AddTaskPIDflowQA.C:4
 AddTaskPIDflowQA.C:5
 AddTaskPIDflowQA.C:6
 AddTaskPIDflowQA.C:7
 AddTaskPIDflowQA.C:8
 AddTaskPIDflowQA.C:9
 AddTaskPIDflowQA.C:10
 AddTaskPIDflowQA.C:11
 AddTaskPIDflowQA.C:12
 AddTaskPIDflowQA.C:13
 AddTaskPIDflowQA.C:14
 AddTaskPIDflowQA.C:15
 AddTaskPIDflowQA.C:16
 AddTaskPIDflowQA.C:17
 AddTaskPIDflowQA.C:18
 AddTaskPIDflowQA.C:19
 AddTaskPIDflowQA.C:20
 AddTaskPIDflowQA.C:21
 AddTaskPIDflowQA.C:22
 AddTaskPIDflowQA.C:23
 AddTaskPIDflowQA.C:24
 AddTaskPIDflowQA.C:25
 AddTaskPIDflowQA.C:26
 AddTaskPIDflowQA.C:27
 AddTaskPIDflowQA.C:28
 AddTaskPIDflowQA.C:29
 AddTaskPIDflowQA.C:30
 AddTaskPIDflowQA.C:31
 AddTaskPIDflowQA.C:32
 AddTaskPIDflowQA.C:33
 AddTaskPIDflowQA.C:34
 AddTaskPIDflowQA.C:35
 AddTaskPIDflowQA.C:36
 AddTaskPIDflowQA.C:37
 AddTaskPIDflowQA.C:38
 AddTaskPIDflowQA.C:39
 AddTaskPIDflowQA.C:40
 AddTaskPIDflowQA.C:41
 AddTaskPIDflowQA.C:42
 AddTaskPIDflowQA.C:43
 AddTaskPIDflowQA.C:44
 AddTaskPIDflowQA.C:45
 AddTaskPIDflowQA.C:46
 AddTaskPIDflowQA.C:47
 AddTaskPIDflowQA.C:48
 AddTaskPIDflowQA.C:49
 AddTaskPIDflowQA.C:50
 AddTaskPIDflowQA.C:51
 AddTaskPIDflowQA.C:52
 AddTaskPIDflowQA.C:53
 AddTaskPIDflowQA.C:54
 AddTaskPIDflowQA.C:55
 AddTaskPIDflowQA.C:56
 AddTaskPIDflowQA.C:57
 AddTaskPIDflowQA.C:58
 AddTaskPIDflowQA.C:59
 AddTaskPIDflowQA.C:60
 AddTaskPIDflowQA.C:61
 AddTaskPIDflowQA.C:62
 AddTaskPIDflowQA.C:63
 AddTaskPIDflowQA.C:64
 AddTaskPIDflowQA.C:65
 AddTaskPIDflowQA.C:66
 AddTaskPIDflowQA.C:67
 AddTaskPIDflowQA.C:68
 AddTaskPIDflowQA.C:69
 AddTaskPIDflowQA.C:70
 AddTaskPIDflowQA.C:71
 AddTaskPIDflowQA.C:72
 AddTaskPIDflowQA.C:73
 AddTaskPIDflowQA.C:74
 AddTaskPIDflowQA.C:75
 AddTaskPIDflowQA.C:76
 AddTaskPIDflowQA.C:77
 AddTaskPIDflowQA.C:78