ROOT logo
AliAnalysisTaskHFECal* ConfigHFECalSys(Bool_t useMC, int TPCclust, int TPCclustPID, int Nits, int ITSstat, int QAhist){
  //
  // HFE standard task configuration
  //

  Bool_t kAnalyseTaggedTracks = kTRUE;
  
  AliHFEcuts *hfecuts = new AliHFEcuts("hfeCutsEMCAL","HFE Standard Cuts");
  hfecuts->CreateStandardCuts();
  hfecuts->SetMinNClustersTPC(TPCclust);
  hfecuts->SetMinNClustersTPCPID(TPCclustPID);
  hfecuts->SetMinRatioTPCclusters(0.6);
  hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
  hfecuts->SetMinNClustersITS(Nits);
  if(ITSstat==0)hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny);
  if(ITSstat==1)hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
  hfecuts->SetCheckITSLayerStatus(kFALSE);
  hfecuts->SetVertexRange(10.);
  hfecuts->SetTOFPIDStep(kFALSE);
  hfecuts->SetPtRange(2, 50);
  hfecuts->SetMaxImpactParam(3.,3.);
  
  AliAnalysisTaskHFECal *task = new AliAnalysisTaskHFECal("HFEanalysisEMCal");
  printf("task ------------------------ %p\n ", task);
  task->SetHFECuts(hfecuts);
  task->SetInvariantMassCut(0.05);
  printf("<<<<<< ------------------ QA status %d",QAhist);
  task->SetQAHist(QAhist);

  // Define PID
  AliHFEpid *pid = task->GetPID();
  if(useMC) pid->SetHasMCData(kTRUE);
  pid->AddDetector("TPC", 0);
  pid->AddDetector("EMCAL", 1);

  Double_t params[4];
  char *cutmodel;
  if(useMC){
	  // Monte-Carlo needs modelling of the falling mean with momentum at low momentum
	  // for high momentum it is consistent with a flat -0.94
	  //cutmodel = "[0]*TMath::Exp([1]*x) + [2] + [3]*x";
	  //Double_t paramsMC[4] = {0.7174, -1.588, -0.9395, 0.0246};
	  //for(int ipar = 0; ipar < 4; ipar++) params[ipar] = paramsMC[ipar];
	  cutmodel = "pol0";
	  params[0] = -1.0; //sigma min
  } else {
	  // Data is consistent with a flat 0.12
	  cutmodel = "pol0";
	  //params[0] = -0.0015;
	  //params[0] = -3.0;
	  //params[0] = -0.05; //sigma min
	  params[0] = -1.0; //sigma min
  }
  //pid->ConfigureTPCdefaultCut(cutmodel, params,3.0); 
  for(Int_t a=0;a<11;a++)pid->ConfigureTPCcentralityCut(a,cutmodel,params,3.0);
  

  // change E/p cuts
  AliHFEpidEMCAL *emcpid = pid->AliHFEpid::GetDetPID(AliHFEpid::kEMCALpid);
  emcpid->SetEoPMax(1.3);
  emcpid->SetEoPMim(0.9);

  printf("*************************************\n");
  printf("Configuring standard Task:\n");
//  task->PrintStatus();
  pid->PrintStatus();
  printf("*************************************\n"); 
  return task;
}
 ConfigHFECalSys.C:1
 ConfigHFECalSys.C:2
 ConfigHFECalSys.C:3
 ConfigHFECalSys.C:4
 ConfigHFECalSys.C:5
 ConfigHFECalSys.C:6
 ConfigHFECalSys.C:7
 ConfigHFECalSys.C:8
 ConfigHFECalSys.C:9
 ConfigHFECalSys.C:10
 ConfigHFECalSys.C:11
 ConfigHFECalSys.C:12
 ConfigHFECalSys.C:13
 ConfigHFECalSys.C:14
 ConfigHFECalSys.C:15
 ConfigHFECalSys.C:16
 ConfigHFECalSys.C:17
 ConfigHFECalSys.C:18
 ConfigHFECalSys.C:19
 ConfigHFECalSys.C:20
 ConfigHFECalSys.C:21
 ConfigHFECalSys.C:22
 ConfigHFECalSys.C:23
 ConfigHFECalSys.C:24
 ConfigHFECalSys.C:25
 ConfigHFECalSys.C:26
 ConfigHFECalSys.C:27
 ConfigHFECalSys.C:28
 ConfigHFECalSys.C:29
 ConfigHFECalSys.C:30
 ConfigHFECalSys.C:31
 ConfigHFECalSys.C:32
 ConfigHFECalSys.C:33
 ConfigHFECalSys.C:34
 ConfigHFECalSys.C:35
 ConfigHFECalSys.C:36
 ConfigHFECalSys.C:37
 ConfigHFECalSys.C:38
 ConfigHFECalSys.C:39
 ConfigHFECalSys.C:40
 ConfigHFECalSys.C:41
 ConfigHFECalSys.C:42
 ConfigHFECalSys.C:43
 ConfigHFECalSys.C:44
 ConfigHFECalSys.C:45
 ConfigHFECalSys.C:46
 ConfigHFECalSys.C:47
 ConfigHFECalSys.C:48
 ConfigHFECalSys.C:49
 ConfigHFECalSys.C:50
 ConfigHFECalSys.C:51
 ConfigHFECalSys.C:52
 ConfigHFECalSys.C:53
 ConfigHFECalSys.C:54
 ConfigHFECalSys.C:55
 ConfigHFECalSys.C:56
 ConfigHFECalSys.C:57
 ConfigHFECalSys.C:58
 ConfigHFECalSys.C:59
 ConfigHFECalSys.C:60
 ConfigHFECalSys.C:61
 ConfigHFECalSys.C:62
 ConfigHFECalSys.C:63
 ConfigHFECalSys.C:64
 ConfigHFECalSys.C:65
 ConfigHFECalSys.C:66
 ConfigHFECalSys.C:67
 ConfigHFECalSys.C:68
 ConfigHFECalSys.C:69
 ConfigHFECalSys.C:70