ROOT logo
AliAnalysisTaskHFECal* ConfigHFECal(Bool_t useMC,Bool_t MassConst,Bool_t MassWidthCut,Bool_t MassCal,Bool_t MassNonlinear,Double_t asspTCut,Double_t angleCut,Double_t MassCut, Double_t NsigCut, Int_t fqa){
  //
  // HFE standard task configuration
  //

  printf("Setting in this analysis\n");
  printf("MassConst = %d/n",MassConst); 
  printf("MassCal = %d/n", MassCal); 
  printf("MassWidth = %d/n",MassWidthCut); 
  printf("asspTCut = %d/n",asspTCut); 
  printf("angleCut = %d/n",angleCut); 
  printf("MassCut = %d/n",MassCut); 
  printf("NsigCut = %d/n", NsigCut); 
  printf("qa = %d/n", fqa); 

  Bool_t kAnalyseTaggedTracks = kTRUE;
  
  AliHFEcuts *hfecuts = new AliHFEcuts("hfeCutsEMCAL","HFE Standard Cuts");
  hfecuts->CreateStandardCuts();
  hfecuts->SetMinNClustersTPC(100);
  hfecuts->SetMinRatioTPCclusters(0.6);
  hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
  hfecuts->SetMinNClustersITS(3);
  hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny);
  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->SetMassConstraint(MassConst);
  task->SetMassWidthCut(MassWidthCut);
  task->SetMassNonlinear(MassNonlinear);
  //Double_t masscut = 0.05;
  //if(!MassConst)masscut = 0.1;
  Double_t masscut = MassCut;
  task->SetInvariantMassCut(masscut);
  task->SetOpeningAngleCut(angleCut);
  task->SetMimpTassCut(asspTCut);
  task->SetMimNsigassCut(NsigCut); 
  task->SetMassCalMethod(MassCal);
  task->SetQAHist(fqa);

  // 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;
}
 ConfigHFECal.C:1
 ConfigHFECal.C:2
 ConfigHFECal.C:3
 ConfigHFECal.C:4
 ConfigHFECal.C:5
 ConfigHFECal.C:6
 ConfigHFECal.C:7
 ConfigHFECal.C:8
 ConfigHFECal.C:9
 ConfigHFECal.C:10
 ConfigHFECal.C:11
 ConfigHFECal.C:12
 ConfigHFECal.C:13
 ConfigHFECal.C:14
 ConfigHFECal.C:15
 ConfigHFECal.C:16
 ConfigHFECal.C:17
 ConfigHFECal.C:18
 ConfigHFECal.C:19
 ConfigHFECal.C:20
 ConfigHFECal.C:21
 ConfigHFECal.C:22
 ConfigHFECal.C:23
 ConfigHFECal.C:24
 ConfigHFECal.C:25
 ConfigHFECal.C:26
 ConfigHFECal.C:27
 ConfigHFECal.C:28
 ConfigHFECal.C:29
 ConfigHFECal.C:30
 ConfigHFECal.C:31
 ConfigHFECal.C:32
 ConfigHFECal.C:33
 ConfigHFECal.C:34
 ConfigHFECal.C:35
 ConfigHFECal.C:36
 ConfigHFECal.C:37
 ConfigHFECal.C:38
 ConfigHFECal.C:39
 ConfigHFECal.C:40
 ConfigHFECal.C:41
 ConfigHFECal.C:42
 ConfigHFECal.C:43
 ConfigHFECal.C:44
 ConfigHFECal.C:45
 ConfigHFECal.C:46
 ConfigHFECal.C:47
 ConfigHFECal.C:48
 ConfigHFECal.C:49
 ConfigHFECal.C:50
 ConfigHFECal.C:51
 ConfigHFECal.C:52
 ConfigHFECal.C:53
 ConfigHFECal.C:54
 ConfigHFECal.C:55
 ConfigHFECal.C:56
 ConfigHFECal.C:57
 ConfigHFECal.C:58
 ConfigHFECal.C:59
 ConfigHFECal.C:60
 ConfigHFECal.C:61
 ConfigHFECal.C:62
 ConfigHFECal.C:63
 ConfigHFECal.C:64
 ConfigHFECal.C:65
 ConfigHFECal.C:66
 ConfigHFECal.C:67
 ConfigHFECal.C:68
 ConfigHFECal.C:69
 ConfigHFECal.C:70
 ConfigHFECal.C:71
 ConfigHFECal.C:72
 ConfigHFECal.C:73
 ConfigHFECal.C:74
 ConfigHFECal.C:75
 ConfigHFECal.C:76
 ConfigHFECal.C:77
 ConfigHFECal.C:78
 ConfigHFECal.C:79
 ConfigHFECal.C:80
 ConfigHFECal.C:81
 ConfigHFECal.C:82
 ConfigHFECal.C:83
 ConfigHFECal.C:84
 ConfigHFECal.C:85
 ConfigHFECal.C:86
 ConfigHFECal.C:87
 ConfigHFECal.C:88